lysis-java
lysis-java copied to clipboard
Lysis - SourceMod .smx and AMXModX .amxx decompiler
Please add (optional?) always print function id (like called by get_func_id) before funcion name.
@peace-maker thanks for updates, now all files can be decompiled. But still problems as in old lysis version... Big count of this errors in many decompiled files. [plugins.zip](https://github.com/peace-maker/lysis-java/files/7573886/plugins.zip)
On large plugins it spends ~90% of the time comparing dominators inside ``BlockAnylsis.StrictlyDominatesADominator()`` and ``dominators()`` returning a whole array in a loop every time (which is ~60% of the time...
``` java.lang.NullPointerException: Cannot invoke "lysis.nodes.types.DNode.type()" because the return value of "lysis.nodes. types.DDeclareLocal.value()" is null at lysis.types.BackwardTypePropagation.visitArgument(BackwardTypePropagation.java:246) at lysis.types.BackwardTypePropagation.visitSignature(BackwardTypePropagation.java:237) at lysis.types.BackwardTypePropagation.visit(BackwardTypePropagation.java:311) at lysis.nodes.types.DSysReq.accept(DSysReq.java:26) at lysis.types.BackwardTypePropagation.propagate(BackwardTypePropagation.java:55) at lysis.Lysis.DumpMethod(Lysis.java:96) at lysis.Lysis.main(Lysis.java:198) java.lang.NullPointerException: Cannot...
Example code: ``` public FuncA() { if (((0 > 0 && 0 0 && 0 0 && 0
My Code: `public void OnPluginStart(){ SetFailState(sbbool?"hello":"sourcepawn"); }` Decompled Code: `public void:OnPluginStart() { new var1; if (sbbool) { var1[0] = 2372; } else { var1[0] = 2380; } SetFailState(var1); return 0;...
Observed in error logs for headlinedev.xyz/lysis ``` java.lang.ClassCastException: lysis.nodes.types.DJump cannot be cast to lysis.nodes.types.DJumpCondition at lysis.builder.structure.SourceStructureBuilder.buildLogicChain(SourceStructureBuilder.java:171) at lysis.builder.structure.SourceStructureBuilder.traverseComplexIf(SourceStructureBuilder.java:271) at lysis.builder.structure.SourceStructureBuilder.traverseIf(SourceStructureBuilder.java:359) at lysis.builder.structure.SourceStructureBuilder.traverseBlockNoLoop(SourceStructureBuilder.java:598) at lysis.builder.structure.SourceStructureBuilder.traverseBlock(SourceStructureBuilder.java:632) at lysis.builder.structure.SourceStructureBuilder.traverseJoin(SourceStructureBuilder.java:591) at lysis.builder.structure.SourceStructureBuilder.traverseIf(SourceStructureBuilder.java:402) at lysis.builder.structure.SourceStructureBuilder.traverseBlockNoLoop(SourceStructureBuilder.java:598)...
Hi, Ime unsure if i am correct here, but ime getting quite some of these Errors when decompiling a specific Plugin. /* ERROR PREPROCESSING! class lysis.instructions.LCall cannot be cast to...
It would be great if you could improve the decompilation for amxmodx modules by adding support for includes such as float
Hi, Can't decompile sm 1.10 files. it doesn't recognize opcodes and cause output like this: /* ERROR PREPROCESSING! Unrecognized opcode: shl_c_pri */ function "funcname" (number x) can you please fix...