ClassLoading 0.5.0
Decompilation to source code in-progress and first round trip compile/decompile unit tests
Added
- A new
twg2.jbcm.irpackage with helper classes for tracking state and data related to decompilation CodeOffsetGetterinterface implemented byChangeCpIndexCodeFlowfor helping analyze potential code flow paths through a method- Unit tests with tests which perform compilation of source code and check decompilation back to intermediate view
Changed
CodeToSourceis in-progress, simple code can be converted, loops, switch statements, and interface/dynamic method calls are still TODO- Split
IoUtilityinto newCodeUtilityclass and moved static no-opCpIndexChangerandCodeOffsetChangerinto their respective interfaces - Renamed
ByteCodeConsumer->BytcodeConsumer - Moved
MethodStackto newtwg2.jbcm.irpackage - Lots of new functionality in
Opcodesto support to source decompilation - Extensive
CompileSourcechanges/improvements to support simple use cases like compiling in-memory (although a physical temp file still gets written under the hood) - Moved
LookupswitchOffsetModifierandTableswitchOffsetModifierout ofIoUtilityand into their own classes
Removed
CpIndexChanger.shiftIndex()interface method since it was unused andCodeOffsetChangeris equivalent- Unused classes:
Offset,OffsetOpcode,Opcode,OpcodeObject