Package kilim.analysis
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 Summary
FieldsModifier and TypeFieldDescription(package private) Stringbyte[]the original bytecode associated with the classorg.objectweb.asm.ClassReaderprivate booleantrue if any of the methods contained in the class file is pausable.booleantrue if the .class being read is already woven.(package private) ArrayList<MethodFlow> Fields inherited from class org.objectweb.asm.tree.ClassNode
access, attrs, fields, innerClasses, interfaces, invisibleAnnotations, invisibleTypeAnnotations, methods, module, name, nestHostClass, nestMembers, outerClass, outerMethod, outerMethodDesc, permittedSubclasses, recordComponents, signature, sourceDebug, sourceFile, superName, version, visibleAnnotations, visibleTypeAnnotationsFields inherited from class org.objectweb.asm.ClassVisitor
api, cv -
Constructor Summary
ConstructorsConstructorDescriptionClassFlow(KilimContext context, InputStream is) ClassFlow(KilimContext context, String aClassName) -
Method Summary
Modifier and TypeMethodDescriptionanalyze(boolean forceAnalysis) private MethodFlowgetOrigWithSameSig(MethodFlow bridgeMethod) getSAM()(package private) boolean(package private) booleanisJava7()booleanorg.objectweb.asm.MethodVisitorvisitMethod(int access, String name, String desc, String signature, String[] exceptions) Methods inherited from class org.objectweb.asm.tree.ClassNode
accept, check, visit, visitAnnotation, visitAttribute, visitEnd, visitField, visitInnerClass, visitModule, visitNestHost, visitNestMember, visitOuterClass, visitPermittedSubclass, visitRecordComponent, visitSource, visitTypeAnnotationMethods inherited from class org.objectweb.asm.ClassVisitor
getDelegate
-
Field Details
-
methodFlows
ArrayList<MethodFlow> methodFlows -
cr
public org.objectweb.asm.ClassReader cr -
classDesc
String classDesc -
isPausable
private boolean isPausabletrue 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 isWoventrue if the .class being read is already woven. -
context
-
code
public byte[] codethe original bytecode associated with the class
-
-
Constructor Details
-
ClassFlow
- Throws:
IOException
-
ClassFlow
- Throws:
IOException
-
-
Method Details
-
visitMethod
public org.objectweb.asm.MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) - Overrides:
visitMethodin classorg.objectweb.asm.tree.ClassNode
-
getMethodFlows
-
analyze
- Throws:
KilimException
-
getOrigWithSameSig
-
getClassDescriptor
-
getClassName
-
isPausable
public boolean isPausable() -
isInterface
boolean isInterface() -
isJava7
boolean isJava7() -
getSAM
-