Class ClassFlow

java.lang.Object
org.objectweb.asm.ClassVisitor
org.objectweb.asm.tree.ClassNode
kilim.analysis.ClassFlow

public class ClassFlow extends org.objectweb.asm.tree.ClassNode
This class reads a .class file (or stream), wraps each method with a MethodFlow object and optionally analyzes it.
  • Field Details

    • methodFlows

      ArrayList<MethodFlow> methodFlows
    • cr

      public org.objectweb.asm.ClassReader cr
    • classDesc

      String classDesc
    • isPausable

      private boolean isPausable
      true if any of the methods contained in the class file is pausable. ClassWeaver uses it later to avoid weaving if isPausable isn't true.
    • isWoven

      public boolean isWoven
      true if the .class being read is already woven.
    • context

      public KilimContext context
    • code

      public byte[] code
      the original bytecode associated with the class
  • Constructor Details

  • Method Details

    • visitMethod

      public org.objectweb.asm.MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions)
      Overrides:
      visitMethod in class org.objectweb.asm.tree.ClassNode
    • getMethodFlows

      public ArrayList<MethodFlow> getMethodFlows()
    • analyze

      public ArrayList<MethodFlow> analyze(boolean forceAnalysis) throws KilimException
      Throws:
      KilimException
    • getOrigWithSameSig

      private MethodFlow getOrigWithSameSig(MethodFlow bridgeMethod)
    • getClassDescriptor

      public String getClassDescriptor()
    • getClassName

      public String getClassName()
    • isPausable

      public boolean isPausable()
    • isInterface

      boolean isInterface()
    • isJava7

      boolean isJava7()
    • getSAM

      public MethodFlow getSAM()