org.objectweb.speedo.generation.enhancer
Class ClassInfoAnalyzer

java.lang.Object
  extended byorg.objectweb.speedo.generation.enhancer.LoggedClass
      extended byorg.objectweb.speedo.generation.enhancer.ClassInfoAnalyzer
All Implemented Interfaces:
org.objectweb.asm.ClassVisitor

public class ClassInfoAnalyzer
extends LoggedClass
implements org.objectweb.asm.ClassVisitor

Analyzes a class and updates the Speedo meta information accordingly. Adapted from storeClassInfo, verify and getField methods in EnhancerTool.


Field Summary
 
Fields inherited from class org.objectweb.speedo.generation.enhancer.LoggedClass
debug, logger
 
Constructor Summary
ClassInfoAnalyzer(EnhancerComponent enhancer, SpeedoClass jdoClass, java.util.Collection xmlDescriptors, org.objectweb.util.monolog.api.Logger logger)
          Creates a new ClassInfoAnalyzer.
 
Method Summary
 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 org.objectweb.speedo.generation.enhancer.LoggedClass
getLogger, setLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClassInfoAnalyzer

public ClassInfoAnalyzer(EnhancerComponent enhancer,
                         SpeedoClass jdoClass,
                         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.
jdoClass - the Speedo meta information for the visited class.
Method Detail

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

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

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

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

visitAttribute

public void visitAttribute(org.objectweb.asm.Attribute attribute)
Specified by:
visitAttribute in interface org.objectweb.asm.ClassVisitor

visitEnd

public void visitEnd()
Specified by:
visitEnd in interface org.objectweb.asm.ClassVisitor