|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.apache.commons.nabla.automatic.analysis.ClassDifferentiator
public class ClassDifferentiator
Visitor (in asm sense) for differentiating classes.
This visitor visits classes implementing the
UnivariateDifferentiable interface and convert
them to classes implementing the UnivariateDerivative interface.
The visitor creates a new class as an inner class of the visited class. Instances of the generated class are therefore automatically bound to their primitive instance which is their directly enclosing instance. As such they have access to the current value of all fields.
The visited class bytecode is not changed at all.
| Constructor Summary | |
|---|---|
ClassDifferentiator(java.util.Set<java.lang.String> mathClasses,
org.objectweb.asm.ClassVisitor generator)
Simple constructor. |
|
| Method Summary | |
|---|---|
java.lang.String |
getDerivativeClassName()
Get the name of the derivative class. |
void |
reportErrors()
Report the errors that may have occurred during analysis. |
void |
visit(int version,
int access,
java.lang.String name,
java.lang.String signature,
java.lang.String superName,
java.lang.String[] interfaces)
|
org.objectweb.asm.AnnotationVisitor |
visitAnnotation(java.lang.String desc,
boolean visible)
|
void |
visitAttribute(org.objectweb.asm.Attribute attr)
|
void |
visitEnd()
|
org.objectweb.asm.FieldVisitor |
visitField(int access,
java.lang.String name,
java.lang.String desc,
java.lang.String signature,
java.lang.Object value)
|
void |
visitInnerClass(java.lang.String name,
java.lang.String outerName,
java.lang.String innerName,
int access)
|
org.objectweb.asm.MethodVisitor |
visitMethod(int access,
java.lang.String name,
java.lang.String desc,
java.lang.String signature,
java.lang.String[] exceptions)
|
void |
visitOuterClass(java.lang.String owner,
java.lang.String name,
java.lang.String desc)
|
void |
visitSource(java.lang.String source,
java.lang.String debug)
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public ClassDifferentiator(java.util.Set<java.lang.String> mathClasses,
org.objectweb.asm.ClassVisitor generator)
mathClasses - math implementation classesgenerator - visitor to which class generation calls will be delegated| Method Detail |
|---|
public java.lang.String getDerivativeClassName()
public void visit(int version,
int access,
java.lang.String name,
java.lang.String signature,
java.lang.String superName,
java.lang.String[] interfaces)
visit in interface org.objectweb.asm.ClassVisitor
public org.objectweb.asm.MethodVisitor visitMethod(int access,
java.lang.String name,
java.lang.String desc,
java.lang.String signature,
java.lang.String[] exceptions)
visitMethod in interface org.objectweb.asm.ClassVisitor
public org.objectweb.asm.FieldVisitor visitField(int access,
java.lang.String name,
java.lang.String desc,
java.lang.String signature,
java.lang.Object value)
visitField in interface org.objectweb.asm.ClassVisitor
public void visitSource(java.lang.String source,
java.lang.String debug)
visitSource in interface org.objectweb.asm.ClassVisitor
public void visitOuterClass(java.lang.String owner,
java.lang.String name,
java.lang.String desc)
visitOuterClass in interface org.objectweb.asm.ClassVisitor
public org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String desc,
boolean visible)
visitAnnotation in interface org.objectweb.asm.ClassVisitorpublic void visitAttribute(org.objectweb.asm.Attribute attr)
visitAttribute in interface org.objectweb.asm.ClassVisitor
public void visitInnerClass(java.lang.String name,
java.lang.String outerName,
java.lang.String innerName,
int access)
visitInnerClass in interface org.objectweb.asm.ClassVisitorpublic void visitEnd()
visitEnd in interface org.objectweb.asm.ClassVisitor
public void reportErrors()
throws DifferentiationException
DifferentiationException - if the derivative class
could not be generated
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||