Package de.mirkosertic.bytecoder.core.ir
Class Graph
java.lang.Object
de.mirkosertic.bytecoder.core.ir.Graph
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Logger
static final String
private final Map
<org.objectweb.asm.tree.AbstractInsnNode, InstructionTranslation> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
applyFixups
(Map<org.objectweb.asm.tree.AbstractInsnNode, Map<org.objectweb.asm.tree.AbstractInsnNode, EdgeType>> incomingEdgesPerInstruction) void
deleteNode
(Node node) newAdd
(org.objectweb.asm.Type type) newAND
(org.objectweb.asm.Type type) newArrayLoad
(org.objectweb.asm.Type type) newBootstrapMethod
(org.objectweb.asm.Type methodType, org.objectweb.asm.Type className, String methodName, Reference.Kind kind) newCast
(org.objectweb.asm.Type type) newCaughtException
(org.objectweb.asm.Type type) newClassFieldExpression
(org.objectweb.asm.Type type, ResolvedField resolvedField) newClassInitialization
(org.objectweb.asm.Type type) newCMP()
newCopy()
newDiv
(org.objectweb.asm.Type type) newDouble
(double constant) newEnumValuesOf
(org.objectweb.asm.Type type) newFieldReference
(ResolvedField field, Reference.Kind kind) newFloat
(float constant) newFrameDebugInfo
(Frame frame) newGoto()
newIf()
newInstanceFieldExpression
(org.objectweb.asm.Type type, ResolvedField resolvedField) newInt
(int value) newInvokeDynamicExpression
(org.objectweb.asm.Type type) newLineNumberDebugInfo
(int lineNumber) newLong
(long constant) newMethodArgument
(org.objectweb.asm.Type type, int index) newMethodInvocation
(InvocationType invocationType, org.objectweb.asm.tree.MethodInsnNode insn, ResolvedMethod rm) newMethodInvocationExpression
(InvocationType invocationType, org.objectweb.asm.tree.MethodInsnNode insn, ResolvedMethod rm) newMethodReference
(ResolvedMethod method, Reference.Kind kind) newMethodType
(org.objectweb.asm.Type type) newMul
(org.objectweb.asm.Type type) newNEG
(org.objectweb.asm.Type type) newNew
(org.objectweb.asm.Type type) newNewArray
(org.objectweb.asm.Type arrayType) newNop()
newNullTest
(NullTest.Operation operation) newNumericalTest
(NumericalTest.Operation operation) newObjectString
(StringConstant value) newOR
(org.objectweb.asm.Type type) newPHI
(org.objectweb.asm.Type type) newPrimitiveClassReference
(org.objectweb.asm.Type type) newReferenceTest
(ReferenceTest.Operation operation) newReinterpret
(org.objectweb.asm.Type type) newRem
(org.objectweb.asm.Type type) newSetClassField
(ResolvedField resolvedField) newSetInstanceField
(ResolvedField resolvedField) newSHL
(org.objectweb.asm.Type type) newShort
(short value) newSHR
(org.objectweb.asm.Type type) newSub
(org.objectweb.asm.Type type) newTableSwitch
(int min, int max) newThis
(org.objectweb.asm.Type type) newTryCatch
(String label) newTypeConversion
(org.objectweb.asm.Type type) newTypeReference
(org.objectweb.asm.Type type) newUSHR
(org.objectweb.asm.Type type) newVariable
(org.objectweb.asm.Type type) newXOR
(org.objectweb.asm.Type type) nodes()
regionByLabel
(String label) void
registerTranslation
(org.objectweb.asm.tree.AbstractInsnNode instruction, InstructionTranslation translation) void
remapDataFlow
(Node original, Node newValue) translationFor
(org.objectweb.asm.tree.AbstractInsnNode instruction) void
writeDebugTo
(OutputStream fileOutputStream)
-
Field Details
-
START_REGION_NAME
- See Also:
-
nodes
-
translations
-
fixups
-
labeledRegions
-
logger
-
-
Constructor Details
-
Graph
-
-
Method Details
-
addFixup
-
applyFixups
-
registerTranslation
public void registerTranslation(org.objectweb.asm.tree.AbstractInsnNode instruction, InstructionTranslation translation) -
translationFor
-
register
-
nodes
-
regionByLabel
-
newThis
-
newMethodArgument
-
newNullReference
-
newInt
-
newShort
-
newNewArray
-
newIf
-
newUSHR
-
newSHR
-
newSHL
-
newNEG
-
newAND
-
newOR
-
newXOR
-
newObjectString
-
newMethodInvocation
public MethodInvocation newMethodInvocation(InvocationType invocationType, org.objectweb.asm.tree.MethodInsnNode insn, ResolvedMethod rm) -
newMethodInvocationExpression
public MethodInvocationExpression newMethodInvocationExpression(InvocationType invocationType, org.objectweb.asm.tree.MethodInsnNode insn, ResolvedMethod rm) -
newReturnNothing
-
newReturnValue
-
newAdd
-
newArrayStore
-
newArrayLoad
-
newSub
-
newDiv
-
newMul
-
newTypeConversion
-
writeDebugTo
-
newPHI
-
newVariable
-
newCopy
-
newCast
-
newNop
-
newCaughtException
-
newGoto
-
newCMP
-
newRem
-
newRegion
-
newTryCatch
-
newUnwind
-
newMonitorEnter
-
newMonitorExit
-
newArrayLength
-
newTypeReference
-
newNew
-
newInstanceOf
-
newTableSwitch
-
newLookupSwitch
-
newInstanceFieldExpression
public ReadInstanceField newInstanceFieldExpression(org.objectweb.asm.Type type, ResolvedField resolvedField) -
newClassFieldExpression
public ReadClassField newClassFieldExpression(org.objectweb.asm.Type type, ResolvedField resolvedField) -
newSetInstanceField
-
newSetClassField
-
deleteNode
-
newFloat
-
newDouble
-
newLong
-
newLineNumberDebugInfo
-
newFrameDebugInfo
-
newMethodReference
-
newFieldReference
-
newResolveCallsite
-
newMethodType
-
newInvokeDynamicExpression
-
newNumericalTest
-
newNullTest
-
newReferenceTest
-
newRuntimeClass
-
newPrimitiveClassReference
-
newRuntimeTypeOf
-
newEnumValuesOf
-
newReinterpret
-
newBootstrapMethod
public BootstrapMethod newBootstrapMethod(org.objectweb.asm.Type methodType, org.objectweb.asm.Type className, String methodName, Reference.Kind kind) -
newClassInitialization
-
remapDataFlow
-