public static class Java.MemberClassDeclaration extends Java.NamedClassDeclaration implements Java.MemberTypeDeclaration
implementedTypes, name, optionalExtendedTypeconstructors, variableDeclaratorsAndInitializersanonymousClassCount, 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 |
|---|---|
<R,EX extends Throwable> |
accept(Visitor.TypeBodyDeclarationVisitor<R,EX> visitor)
Invokes the '
visit...()' method of Visitor.TypeBodyDeclarationVisitor for the concrete
Java.TypeBodyDeclaration type. |
<R,EX extends Throwable> |
accept(Visitor.TypeDeclarationVisitor<R,EX> 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$<em>n</em>
(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, hasDeprecatedDocTag, toStringaddConstructor, addFieldDeclaration, addInitializer, defineSyntheticField, getSyntheticFields, getVariableDeclaratorsAndInitializersaddDeclaredMethod, addMemberTypeDeclaration, createAnonymousClassName, createLocalTypeName, getAnnotations, getEnclosingScope, getLocation, getMemberTypeDeclaration, getMemberTypeDeclarations, getMethodDeclaration, getMethodDeclarations, getModifierFlags, getOptionalTypeParameters, invalidateMethodCaches, setEnclosingScope, throwCompileExceptionclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetName, getOptionalTypeParametersgetSyntheticFields, getVariableDeclaratorsAndInitializerscreateAnonymousClassName, createLocalTypeName, getMemberTypeDeclaration, getMemberTypeDeclarations, getMethodDeclaration, getMethodDeclarations, getModifierFlagsgetAnnotationspublic MemberClassDeclaration(Location location, @Nullable String optionalDocComment, Java.Modifiers modifiers, String name, @Nullable Java.TypeParameter[] optionalTypeParameters, @Nullable Java.Type optionalExtendedType, Java.Type[] implementedTypes)
public void setDeclaringType(Java.TypeDeclaration declaringType)
Java.TypeBodyDeclarationsetDeclaringType in interface Java.TypeBodyDeclarationpublic Java.TypeDeclaration getDeclaringType()
getDeclaringType in interface Java.TypeBodyDeclarationpublic boolean isStatic()
isStatic in interface Java.TypeBodyDeclarationpublic String getClassName()
Java.TypeDeclarationgetClassName in interface Java.TypeDeclaration@Nullable public <R,EX extends Throwable> R accept(Visitor.TypeDeclarationVisitor<R,EX> visitor) throws EX extends Throwable
Java.TypeDeclarationvisit...()' method of Visitor.TypeDeclarationVisitor for the concrete Java.TypeDeclaration type.accept in interface Java.TypeDeclarationEX extends Throwable@Nullable public <R,EX extends Throwable> R accept(Visitor.TypeBodyDeclarationVisitor<R,EX> visitor) throws EX extends Throwable
Java.TypeBodyDeclarationvisit...()' method of Visitor.TypeBodyDeclarationVisitor for the concrete
Java.TypeBodyDeclaration type.accept in interface Java.TypeBodyDeclarationEX extends Throwablepublic void defineSyntheticField(IClass.IField iField) throws CompileException
this$<em>n</em><em>n</em> 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$<em>local-variable-name</em>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.
iField - CompileException