Package org.codehaus.janino
Class Java.AnonymousClassDeclaration
- java.lang.Object
-
- org.codehaus.janino.Java.AbstractTypeDeclaration
-
- org.codehaus.janino.Java.ClassDeclaration
-
- org.codehaus.janino.Java.AnonymousClassDeclaration
-
- All Implemented Interfaces:
Java.Locatable,Java.Scope,Java.TypeDeclaration
- Enclosing class:
- Java
public static final class Java.AnonymousClassDeclaration extends Java.ClassDeclaration
-
-
Field Summary
Fields Modifier and Type Field Description Java.TypebaseType-
Fields inherited from class org.codehaus.janino.Java.ClassDeclaration
constructors, variableDeclaratorsAndInitializers
-
Fields inherited from class org.codehaus.janino.Java.AbstractTypeDeclaration
anonymousClassCount, localClassCount
-
-
Constructor Summary
Constructors Constructor Description AnonymousClassDeclaration(Location location, Java.Type baseType)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaccept(Visitor.TypeDeclarationVisitor visitor)voiddefineSyntheticField(IClass.IField iField)Inner classes have zero or more synthetic fields that hold references to their enclosing context:this$n(Mandatory for non-private non-static member classes; optional for private non-static member classes, local classes in non-static context, and anonymous classes in non-static context; forbidden for static member classes, local classes in static context, and anonymous classes in static context) Holds a reference to the immediately enclosing instance.java.lang.StringgetClassName()Determine the effective class name, e.g.java.lang.StringtoString()-
Methods inherited from class org.codehaus.janino.Java.ClassDeclaration
addConstructor, addVariableDeclaratorOrInitializer, defineSyntheticField
-
Methods inherited from class org.codehaus.janino.Java.AbstractTypeDeclaration
addDeclaredMethod, addMemberTypeDeclaration, createAnonymousClassName, createLocalTypeName, getEnclosingScope, getLocation, getMemberTypeDeclaration, getMemberTypeDeclarations, getMethodDeclaration, getMethodDeclarations, getModifiersAndAnnotations, invalidateMethodCaches, setEnclosingScope, throwCompileException
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.codehaus.janino.Java.Locatable
getLocation, throwCompileException
-
Methods inherited from interface org.codehaus.janino.Java.Scope
getEnclosingScope
-
Methods inherited from interface org.codehaus.janino.Java.TypeDeclaration
createAnonymousClassName, createLocalTypeName, getMemberTypeDeclaration, getMemberTypeDeclarations, getMethodDeclaration, getMethodDeclarations, getModifiersAndAnnotations
-
-
-
-
Field Detail
-
baseType
public final Java.Type baseType
-
-
Method Detail
-
accept
public void accept(Visitor.TypeDeclarationVisitor visitor)
- Specified by:
acceptin interfaceJava.TypeDeclaration
-
getClassName
public java.lang.String getClassName()
Description copied from interface:Java.TypeDeclarationDetermine the effective class name, e.g. "pkg.Outer$Inner".- Specified by:
getClassNamein interfaceJava.TypeDeclaration
-
toString
public java.lang.String toString()
- Specified by:
toStringin classJava.AbstractTypeDeclaration
-
defineSyntheticField
public abstract void defineSyntheticField(IClass.IField iField) throws CompileException
Inner classes have zero or more synthetic fields that hold references to their enclosing context:this$n-
(Mandatory for non-private non-static member classes; optional for private non-static
member classes, local classes in non-static context, and anonymous classes in
non-static context; forbidden for static member classes, local classes in static
context, and anonymous classes in static context)
Holds a reference to the immediately enclosing instance.
nis N-1 for the Nth nesting level; e.g. the public non-static member class of a package member class has a synthetic fieldthis$0. val$local-variable-name-
(Allowed for local classes and anonymous classes; forbidden for member classes)
Hold copies of
finallocal variables of the defining context.
IClass.IFieldarray returned byIClass.getDeclaredIFields2().If a synthetic field with the same name exists already, then it must have the same type and the redefinition is ignored.
- Parameters:
iField-- Throws:
CompileException
-
-