Class Java.AnonymousClassDeclaration

All Implemented Interfaces:
Java.Locatable, Java.Scope, Java.TypeDeclaration
Enclosing class:
Java

public static final class Java.AnonymousClassDeclaration extends Java.ClassDeclaration
  • Field Details

  • Constructor Details

    • AnonymousClassDeclaration

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

    • accept

      public void accept(Visitor.TypeDeclarationVisitor visitor)
      Specified by:
      accept in interface Java.TypeDeclaration
    • getClassName

      public String getClassName()
      Description copied from interface: Java.TypeDeclaration
      Determine the effective class name, e.g. "pkg.Outer$Inner".
      Specified by:
      getClassName in interface Java.TypeDeclaration
    • toString

      public String toString()
      Specified by:
      toString in class Java.AbstractTypeDeclaration
    • defineSyntheticField

      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