public static final class Java.MemberClassDeclaration extends Java.NamedClassDeclaration implements Java.MemberTypeDeclaration
implementedTypes, name, optionalExtendedType, optionalTypeParameters
constructors, variableDeclaratorsAndInitializers
anonymousClassCount, localClassCount
Constructor and Description |
---|
MemberClassDeclaration(Location location,
String optionalDocComment,
Java.Modifiers modifiers,
String name,
Java.TypeParameter[] optionalTypeParameters,
Java.Type optionalExtendedType,
Java.Type[] implementedTypes) |
Modifier and Type | Method and Description |
---|---|
void |
accept(Visitor.TypeBodyDeclarationVisitor visitor)
Invokes the '
visit...() ' method of Visitor.TypeBodyDeclarationVisitor for the concrete
Java.TypeBodyDeclaration type. |
void |
accept(Visitor.TypeDeclarationVisitor visitor)
Invokes the '
visit...() ' method of Visitor.TypeDeclarationVisitor for the concrete Java.TypeDeclaration type. |
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. |
String |
getClassName()
Determines the effective class name, e.g.
|
Java.TypeDeclaration |
getDeclaringType() |
boolean |
isStatic() |
void |
setDeclaringType(Java.TypeDeclaration declaringType)
Sets the type declaration that this declaration belongs to.
|
getDocComment, getName, getOptionalTypeParameters, hasDeprecatedDocTag, toString
addConstructor, addFieldDeclaration, addInitializer, defineSyntheticField
addDeclaredMethod, addMemberTypeDeclaration, createAnonymousClassName, createLocalTypeName, getAnnotations, getEnclosingScope, getLocation, getMemberTypeDeclaration, getMemberTypeDeclarations, getMethodDeclaration, getMethodDeclarations, getModifierFlags, invalidateMethodCaches, setEnclosingScope, throwCompileException
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getName, getOptionalTypeParameters
createAnonymousClassName, createLocalTypeName, getAnnotations, getMemberTypeDeclaration, getMemberTypeDeclarations, getMethodDeclaration, getMethodDeclarations, getModifierFlags
getLocation, throwCompileException
getEnclosingScope
public MemberClassDeclaration(Location location, String optionalDocComment, Java.Modifiers modifiers, String name, Java.TypeParameter[] optionalTypeParameters, Java.Type optionalExtendedType, Java.Type[] implementedTypes)
public void setDeclaringType(Java.TypeDeclaration declaringType)
Java.TypeBodyDeclaration
setDeclaringType
in interface Java.TypeBodyDeclaration
public Java.TypeDeclaration getDeclaringType()
getDeclaringType
in interface Java.TypeBodyDeclaration
public boolean isStatic()
isStatic
in interface Java.TypeBodyDeclaration
public String getClassName()
Java.TypeDeclaration
getClassName
in interface Java.TypeDeclaration
public void accept(Visitor.TypeDeclarationVisitor visitor)
Java.TypeDeclaration
visit...()
' method of Visitor.TypeDeclarationVisitor
for the concrete Java.TypeDeclaration
type.accept
in interface Java.TypeDeclaration
public void accept(Visitor.TypeBodyDeclarationVisitor visitor)
Java.TypeBodyDeclaration
visit...()
' method of Visitor.TypeBodyDeclarationVisitor
for the concrete
Java.TypeBodyDeclaration
type.accept
in interface Java.TypeBodyDeclaration
public void defineSyntheticField(IClass.IField iField) throws CompileException
this$n
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
final
local variables of the defining context.
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.
iField
- CompileException
Copyright © 2001–2016. All rights reserved.