static interface Java.InnerClassDeclaration extends Java.TypeDeclaration
Modifier and Type | Method and Description |
---|---|
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. |
accept, createAnonymousClassName, createLocalTypeName, getAnnotations, getClassName, getMemberTypeDeclaration, getMemberTypeDeclarations, getMethodDeclaration, getMethodDeclarations, getModifierFlags
getLocation, throwCompileException
getEnclosingScope
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