Class Graph

java.lang.Object
de.mirkosertic.bytecoder.core.ir.Graph

public class Graph extends Object
  • Field Details

  • Constructor Details

    • Graph

      public Graph(Logger logger)
  • Method Details

    • addFixup

      public void addFixup(Fixup fixup)
    • applyFixups

      public void applyFixups(Map<org.objectweb.asm.tree.AbstractInsnNode,Map<org.objectweb.asm.tree.AbstractInsnNode,EdgeType>> incomingEdgesPerInstruction)
    • registerTranslation

      public void registerTranslation(org.objectweb.asm.tree.AbstractInsnNode instruction, InstructionTranslation translation)
    • translationFor

      public InstructionTranslation translationFor(org.objectweb.asm.tree.AbstractInsnNode instruction)
    • register

      public Node register(Node n)
    • nodes

      public List<Node> nodes()
    • regionByLabel

      public Region regionByLabel(String label)
    • newThis

      public This newThis(org.objectweb.asm.Type type)
    • newMethodArgument

      public MethodArgument newMethodArgument(org.objectweb.asm.Type type, int index)
    • newNullReference

      public NullReference newNullReference()
    • newInt

      public PrimitiveInt newInt(int value)
    • newShort

      public PrimitiveShort newShort(short value)
    • newNewArray

      public NewArray newNewArray(org.objectweb.asm.Type arrayType)
    • newIf

      public If newIf()
    • newUSHR

      public USHR newUSHR(org.objectweb.asm.Type type)
    • newSHR

      public SHR newSHR(org.objectweb.asm.Type type)
    • newSHL

      public SHL newSHL(org.objectweb.asm.Type type)
    • newNEG

      public Neg newNEG(org.objectweb.asm.Type type)
    • newAND

      public And newAND(org.objectweb.asm.Type type)
    • newOR

      public Or newOR(org.objectweb.asm.Type type)
    • newXOR

      public XOr newXOR(org.objectweb.asm.Type type)
    • newObjectString

      public ObjectString newObjectString(StringConstant value)
    • 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

      public Return newReturnNothing()
    • newReturnValue

      public ReturnValue newReturnValue()
    • newAdd

      public Add newAdd(org.objectweb.asm.Type type)
    • newArrayStore

      public ArrayStore newArrayStore()
    • newArrayLoad

      public ArrayLoad newArrayLoad(org.objectweb.asm.Type type)
    • newSub

      public Sub newSub(org.objectweb.asm.Type type)
    • newDiv

      public Div newDiv(org.objectweb.asm.Type type)
    • newMul

      public Mul newMul(org.objectweb.asm.Type type)
    • newTypeConversion

      public TypeConversion newTypeConversion(org.objectweb.asm.Type type)
    • writeDebugTo

      public void writeDebugTo(OutputStream fileOutputStream)
    • newPHI

      public PHI newPHI(org.objectweb.asm.Type type)
    • newVariable

      public Variable newVariable(org.objectweb.asm.Type type)
    • newCopy

      public Copy newCopy()
    • newCast

      public Cast newCast(org.objectweb.asm.Type type)
    • newNop

      public Nop newNop()
    • newCaughtException

      public CaughtException newCaughtException(org.objectweb.asm.Type type)
    • newGoto

      public Goto newGoto()
    • newCMP

      public CMP newCMP()
    • newRem

      public Rem newRem(org.objectweb.asm.Type type)
    • newRegion

      public Region newRegion(String label)
    • newTryCatch

      public TryCatch newTryCatch(String label)
    • newUnwind

      public Unwind newUnwind()
    • newMonitorEnter

      public MonitorEnter newMonitorEnter()
    • newMonitorExit

      public MonitorExit newMonitorExit()
    • newArrayLength

      public ArrayLength newArrayLength()
    • newTypeReference

      public TypeReference newTypeReference(org.objectweb.asm.Type type)
    • newNew

      public New newNew(org.objectweb.asm.Type type)
    • newInstanceOf

      public InstanceOf newInstanceOf()
    • newTableSwitch

      public TableSwitch newTableSwitch(int min, int max)
    • newLookupSwitch

      public LookupSwitch newLookupSwitch()
    • newInstanceFieldExpression

      public ReadInstanceField newInstanceFieldExpression(org.objectweb.asm.Type type, ResolvedField resolvedField)
    • newClassFieldExpression

      public ReadClassField newClassFieldExpression(org.objectweb.asm.Type type, ResolvedField resolvedField)
    • newSetInstanceField

      public SetInstanceField newSetInstanceField(ResolvedField resolvedField)
    • newSetClassField

      public SetClassField newSetClassField(ResolvedField resolvedField)
    • deleteNode

      public void deleteNode(Node node)
    • newFloat

      public PrimitiveFloat newFloat(float constant)
    • newDouble

      public PrimitiveDouble newDouble(double constant)
    • newLong

      public PrimitiveLong newLong(long constant)
    • newLineNumberDebugInfo

      public LineNumberDebugInfo newLineNumberDebugInfo(int lineNumber)
    • newFrameDebugInfo

      public FrameDebugInfo newFrameDebugInfo(Frame frame)
    • newMethodReference

      public MethodReference newMethodReference(ResolvedMethod method, Reference.Kind kind)
    • newFieldReference

      public FieldReference newFieldReference(ResolvedField field, Reference.Kind kind)
    • newResolveCallsite

      public ResolveCallsite newResolveCallsite()
    • newMethodType

      public MethodType newMethodType(org.objectweb.asm.Type type)
    • newInvokeDynamicExpression

      public InvokeDynamicExpression newInvokeDynamicExpression(org.objectweb.asm.Type type)
    • newNumericalTest

      public NumericalTest newNumericalTest(NumericalTest.Operation operation)
    • newNullTest

      public NullTest newNullTest(NullTest.Operation operation)
    • newReferenceTest

      public ReferenceTest newReferenceTest(ReferenceTest.Operation operation)
    • newRuntimeClass

      public RuntimeClass newRuntimeClass()
    • newPrimitiveClassReference

      public PrimitiveClassReference newPrimitiveClassReference(org.objectweb.asm.Type type)
    • newRuntimeTypeOf

      public RuntimeClassOf newRuntimeTypeOf()
    • newEnumValuesOf

      public EnumValuesOf newEnumValuesOf(org.objectweb.asm.Type type)
    • newReinterpret

      public Reinterpret newReinterpret(org.objectweb.asm.Type type)
    • newBootstrapMethod

      public BootstrapMethod newBootstrapMethod(org.objectweb.asm.Type methodType, org.objectweb.asm.Type className, String methodName, Reference.Kind kind)
    • newClassInitialization

      public ClassInitialization newClassInitialization(org.objectweb.asm.Type type)
    • remapDataFlow

      public void remapDataFlow(Node original, Node newValue)