Class Java.AnonymousClassDeclaration

    • Field Detail

      • baseType

        public final Java.Type baseType
        Base class or interface.
    • Constructor Detail

      • AnonymousClassDeclaration

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

      • defineSyntheticField

        public abstract void defineSyntheticField​(IClass.IField iField)
                                           throws CompileException
        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. <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>
        (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