Converts the bytecode of a method into a three address representation using the result of an abstract interpretation.
Converts the bytecode of a method into a three address representation using the result of an abstract interpretation.
A method with a body. I.e., a non-native, non-abstract method.
The result of the abstract interpretation of the respective method.
The transformations that should be executed (NoOptimizations is always possible).
The array with the generated statements.
Factory to convert the bytecode of a method into a three address representation using the results of a(n) (local) abstract interpretation of the method.
The generated representation is completely parameterized over the domains that were used to perform the abstract interpretation. The only requirement is that the Def/Use information is recorded while performing the abstract interpretation (see org.opalj.ai.domain.RecordDefUse). The generated representation is necessarily in static single assignment form: each variable is assigned exactly once, and every variable is defined before it is used. However, no PHI instructions are inserted; instead - in case of a use - we simply directly refer to all usage sites.