Class Graph


  • public class Graph
    extends java.lang.Object
    • Field Detail

      • START_REGION_NAME

        public static final java.lang.String START_REGION_NAME
        See Also:
        Constant Field Values
      • nodes

        private final java.util.List<Node> nodes
      • translations

        private final java.util.Map<org.objectweb.asm.tree.AbstractInsnNode,​InstructionTranslation> translations
      • fixups

        private final java.util.List<Fixup> fixups
      • labeledRegions

        private final java.util.Map<java.lang.String,​Region> labeledRegions
      • logger

        private final Logger logger
    • Constructor Detail

      • Graph

        public Graph​(Logger logger)
    • Method Detail

      • addFixup

        public void addFixup​(Fixup fixup)
      • applyFixups

        public void applyFixups​(java.util.Map<org.objectweb.asm.tree.AbstractInsnNode,​java.util.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 java.util.List<Node> nodes()
      • regionByLabel

        public Region regionByLabel​(java.lang.String label)
      • newThis

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

        public MethodArgument newMethodArgument​(org.objectweb.asm.Type type,
                                                int index)
      • 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)
      • newReturnNothing

        public Return newReturnNothing()
      • 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​(java.io.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​(java.lang.String label)
      • newTryCatch

        public TryCatch newTryCatch​(java.lang.String label)
      • newUnwind

        public Unwind newUnwind()
      • 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)
      • newClassFieldExpression

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

        public void deleteNode​(Node node)
      • newLineNumberDebugInfo

        public LineNumberDebugInfo newLineNumberDebugInfo​(int lineNumber)
      • newMethodType

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

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

        public PrimitiveClassReference newPrimitiveClassReference​(org.objectweb.asm.Type type)
      • 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,
                                                  java.lang.String methodName,
                                                  Reference.Kind kind)
      • newClassInitialization

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

        public void remapDataFlow​(Node original,
                                  Node newValue)