Web Site

org.codehaus.janino
Class Java.AnonymousClassDeclaration

java.lang.Object
  extended by org.codehaus.janino.Java.AbstractTypeDeclaration
      extended by org.codehaus.janino.Java.ClassDeclaration
          extended by 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
 Java.Type baseType
           
 
Fields inherited from class org.codehaus.janino.Java.ClassDeclaration
constructors, variableDeclaratorsAndInitializers
 
Fields inherited from class org.codehaus.janino.Java.AbstractTypeDeclaration
anonymousClassCount, declaredClassesAndInterfaces, declaredMethods, localClassCount, modifiers
 
Constructor Summary
Java.AnonymousClassDeclaration(Location location, Java.Type baseType)
           
 
Method Summary
 void accept(Visitor.TypeDeclarationVisitor visitor)
           
 void defineSyntheticField(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.String getClassName()
          Determine the effective class name, e.g.
 java.lang.String toString()
           
 
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, invalidateMethodCaches, setEnclosingScope, throwParseException
 
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.TypeDeclaration
createAnonymousClassName, createLocalTypeName, getMemberTypeDeclaration
 
Methods inherited from interface org.codehaus.janino.Java.Locatable
getLocation, throwParseException
 
Methods inherited from interface org.codehaus.janino.Java.Scope
getEnclosingScope
 

Field Detail

baseType

public final Java.Type baseType
Constructor Detail

Java.AnonymousClassDeclaration

public Java.AnonymousClassDeclaration(Location location,
                                      Java.Type baseType)
Method Detail

accept

public final void accept(Visitor.TypeDeclarationVisitor visitor)
Specified by:
accept in interface Java.TypeDeclaration

getClassName

public java.lang.String getClassName()
Description copied from interface: Java.TypeDeclaration
Determine the effective class name, e.g. "pkg.Outer$Inner".

Specified by:
getClassName in interface Java.TypeDeclaration

toString

public java.lang.String toString()
Specified by:
toString in class Java.AbstractTypeDeclaration

defineSyntheticField

public 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. n is N-1 for the Nth nesting level; e.g. the public non-static member class of a package member class has a synthetic field this$0.
val$local-variable-name
(Allowed for local classes and anonymous classes; forbidden for member classes) Hold copies of final local variables of the defining context.
Notice that these fields are not included in the IClass.IField array returned by IClass.getDeclaredIFields().

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

Web Site