org.objectweb.speedo.generation.mivisitor
Class ClassInfoAnalyzer
java.lang.Object
org.objectweb.speedo.generation.enhancer.common.LoggedClassVisitor
org.objectweb.speedo.generation.mivisitor.ClassInfoAnalyzer
- All Implemented Interfaces:
- org.objectweb.asm.ClassVisitor
public class ClassInfoAnalyzer
- extends LoggedClassVisitor
- implements org.objectweb.asm.ClassVisitor
Analyzes a class and updates the Speedo meta information accordingly.
Adapted from storeClassInfo, verify and getField methods in EnhancerTool.
Method Summary |
protected void |
managedInterfaces(java.lang.String[] interfaces)
|
protected void |
manageInheritance(java.lang.String superName)
|
void |
visit(int version,
int access,
java.lang.String name,
java.lang.String superName,
java.lang.String[] interfaces,
java.lang.String sourceFile)
|
void |
visitAttribute(org.objectweb.asm.Attribute attribute)
|
void |
visitEnd()
|
void |
visitField(int access,
java.lang.String name,
java.lang.String desc,
java.lang.Object value,
org.objectweb.asm.Attribute attrs)
|
void |
visitInnerClass(java.lang.String name,
java.lang.String outerName,
java.lang.String innerName,
int access)
|
org.objectweb.asm.CodeVisitor |
visitMethod(int access,
java.lang.String name,
java.lang.String desc,
java.lang.String[] exceptions,
org.objectweb.asm.Attribute attrs)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ClassInfoAnalyzer
public ClassInfoAnalyzer(AbstractEnhancerComponent enhancer,
SpeedoClass sc,
java.util.Collection xmlDescriptors,
org.objectweb.util.monolog.api.Logger logger)
- Creates a new
ClassInfoAnalyzer
.
- Parameters:
enhancer
- the access enhancer, used to load the super class(es) of
the class, if necessary.sc
- the Speedo meta information for the visited class.
manageInheritance
protected void manageInheritance(java.lang.String superName)
managedInterfaces
protected void managedInterfaces(java.lang.String[] interfaces)
visit
public void visit(int version,
int access,
java.lang.String name,
java.lang.String superName,
java.lang.String[] interfaces,
java.lang.String sourceFile)
- Specified by:
visit
in interface org.objectweb.asm.ClassVisitor
- Overrides:
visit
in class LoggedClassVisitor
visitInnerClass
public void visitInnerClass(java.lang.String name,
java.lang.String outerName,
java.lang.String innerName,
int access)
- Specified by:
visitInnerClass
in interface org.objectweb.asm.ClassVisitor
- Overrides:
visitInnerClass
in class LoggedClassVisitor
visitField
public void visitField(int access,
java.lang.String name,
java.lang.String desc,
java.lang.Object value,
org.objectweb.asm.Attribute attrs)
- Specified by:
visitField
in interface org.objectweb.asm.ClassVisitor
- Overrides:
visitField
in class LoggedClassVisitor
visitMethod
public org.objectweb.asm.CodeVisitor visitMethod(int access,
java.lang.String name,
java.lang.String desc,
java.lang.String[] exceptions,
org.objectweb.asm.Attribute attrs)
- Specified by:
visitMethod
in interface org.objectweb.asm.ClassVisitor
- Overrides:
visitMethod
in class LoggedClassVisitor
visitAttribute
public void visitAttribute(org.objectweb.asm.Attribute attribute)
- Specified by:
visitAttribute
in interface org.objectweb.asm.ClassVisitor
- Overrides:
visitAttribute
in class LoggedClassVisitor
visitEnd
public void visitEnd()
- Specified by:
visitEnd
in interface org.objectweb.asm.ClassVisitor
- Overrides:
visitEnd
in class LoggedClassVisitor