ClassLoading 0.5.0
Decompilation to source code in-progress and first round trip compile/decompile unit tests
Added
- A new
twg2.jbcm.ir
package with helper classes for tracking state and data related to decompilation CodeOffsetGetter
interface implemented byChangeCpIndex
CodeFlow
for 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
CodeToSource
is in-progress, simple code can be converted, loops, switch statements, and interface/dynamic method calls are still TODO- Split
IoUtility
into newCodeUtility
class and moved static no-opCpIndexChanger
andCodeOffsetChanger
into their respective interfaces - Renamed
ByteCodeConsumer
->BytcodeConsumer
- Moved
MethodStack
to newtwg2.jbcm.ir
package - Lots of new functionality in
Opcodes
to support to source decompilation - Extensive
CompileSource
changes/improvements to support simple use cases like compiling in-memory (although a physical temp file still gets written under the hood) - Moved
LookupswitchOffsetModifier
andTableswitchOffsetModifier
out ofIoUtility
and into their own classes
Removed
CpIndexChanger.shiftIndex()
interface method since it was unused andCodeOffsetChanger
is equivalent- Unused classes:
Offset
,OffsetOpcode
,Opcode
,OpcodeObject