org.codehaus.janino
Class Java.MemberClassDeclaration
java.lang.Object
org.codehaus.janino.Java.AbstractTypeDeclaration
org.codehaus.janino.Java.ClassDeclaration
org.codehaus.janino.Java.NamedClassDeclaration
org.codehaus.janino.Java.MemberClassDeclaration
- All Implemented Interfaces:
- Java.DocCommentable, Java.Locatable, Java.MemberTypeDeclaration, Java.NamedTypeDeclaration, Java.Scope, Java.TypeBodyDeclaration, Java.TypeDeclaration
- Enclosing class:
- Java
public static final class Java.MemberClassDeclaration
- extends Java.NamedClassDeclaration
- implements Java.MemberTypeDeclaration
Representation of a 'member class declaration', i.e. a class declaration that appears inside another class
declaration.
| Methods inherited from class org.codehaus.janino.Java.AbstractTypeDeclaration |
addDeclaredMethod, addMemberTypeDeclaration, createAnonymousClassName, createLocalTypeName, getAnnotations, getEnclosingScope, getLocation, getMemberTypeDeclaration, getMemberTypeDeclarations, getMethodDeclaration, getMethodDeclarations, getModifierFlags, invalidateMethodCaches, setEnclosingScope, throwCompileException |
Java.MemberClassDeclaration
public Java.MemberClassDeclaration(Location location,
String optionalDocComment,
Java.Modifiers modifiers,
String name,
Java.TypeParameter[] optionalTypeParameters,
Java.Type optionalExtendedType,
Java.Type[] implementedTypes)
setDeclaringType
public void setDeclaringType(Java.TypeDeclaration declaringType)
- Description copied from interface:
Java.TypeBodyDeclaration
- Sets the type declaration that this declaration belongs to.
- Specified by:
setDeclaringType in interface Java.TypeBodyDeclaration
getDeclaringType
public Java.TypeDeclaration getDeclaringType()
- Specified by:
getDeclaringType in interface Java.TypeBodyDeclaration
- Returns:
- The type declaration that this declaration belongs to.
isStatic
public boolean isStatic()
- Specified by:
isStatic in interface Java.TypeBodyDeclaration
- Returns:
- Whether this declaration has the STATIC modifier
getClassName
public String getClassName()
- Description copied from interface:
Java.TypeDeclaration
- Determines the effective class name, e.g. "pkg.Outer$Inner".
- Specified by:
getClassName in interface Java.TypeDeclaration
accept
public void accept(Visitor.TypeDeclarationVisitor visitor)
- Description copied from interface:
Java.TypeDeclaration
- Invokes the '
visit...()' method of Visitor.TypeDeclarationVisitor for the concrete Java.TypeDeclaration type.
- Specified by:
accept in interface Java.TypeDeclaration
accept
public void accept(Visitor.TypeBodyDeclarationVisitor visitor)
- Description copied from interface:
Java.TypeBodyDeclaration
- Invokes the '
visit...()' method of Visitor.TypeBodyDeclarationVisitor for the concrete
Java.TypeBodyDeclaration type.
- Specified by:
accept in interface Java.TypeBodyDeclaration
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.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