Class Java.MemberEnumDeclaration
java.lang.Object
org.codehaus.janino.Java.AbstractTypeDeclaration
org.codehaus.janino.Java.AbstractClassDeclaration
org.codehaus.janino.Java.NamedClassDeclaration
org.codehaus.janino.Java.MemberClassDeclaration
org.codehaus.janino.Java.MemberEnumDeclaration
- All Implemented Interfaces:
Java.Annotatable, Java.ClassDeclaration, Java.DocCommentable, Java.EnumDeclaration, Java.Locatable, Java.MemberTypeDeclaration, Java.NamedTypeDeclaration, Java.Scope, Java.TypeBodyDeclaration, Java.TypeDeclaration
- Enclosing class:
Java
public static final class Java.MemberEnumDeclaration
extends Java.MemberClassDeclaration
implements Java.EnumDeclaration
Representation of a "member enum declaration", i.e. an enum declaration that appears inside another class or
interface declaration.
-
Field Summary
Fields inherited from class Java.NamedClassDeclaration
extendedType, implementedTypes, nameFields inherited from class Java.AbstractClassDeclaration
constructors, fieldDeclarationsAndInitializersFields inherited from class Java.AbstractTypeDeclaration
anonymousClassCount, localClassCount -
Constructor Summary
ConstructorsConstructorDescriptionMemberEnumDeclaration(Location location, String docComment, Java.Modifier[] modifiers, String name, Java.Type[] implementedTypes) -
Method Summary
Modifier and TypeMethodDescription<R, EX extends Throwable>
Raccept(Visitor.TypeBodyDeclarationVisitor<R, EX> visitor) Invokes the "visit...()" method ofVisitor.TypeBodyDeclarationVisitorfor the concreteJava.TypeBodyDeclarationtype.<R, EX extends Throwable>
Raccept(Visitor.TypeDeclarationVisitor<R, EX> visitor) Invokes the "visit...()" method ofVisitor.TypeDeclarationVisitorfor the concreteJava.TypeDeclarationtype.voidAdds another constant to this enum declaration.voiddefineSyntheticField(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.Methods inherited from class Java.MemberClassDeclaration
getAccess, getClassName, getDeclaringType, isStatic, setDeclaringTypeMethods inherited from class Java.NamedClassDeclaration
getDocComment, getName, hasDeprecatedDocTag, isAbstract, isFinal, isStrictfp, toStringMethods inherited from class Java.AbstractClassDeclaration
addConstructor, addFieldDeclaration, addFieldDeclarationOrInitializer, addInitializer, defineSyntheticField, getSyntheticFields, getVariableDeclaratorsAndInitializersMethods inherited from class Java.AbstractTypeDeclaration
addDeclaredMethod, addMemberTypeDeclaration, createAnonymousClassName, createLocalTypeName, getAnnotations, getEnclosingScope, getLocation, getMemberTypeDeclaration, getMemberTypeDeclarations, getMethodDeclaration, getMethodDeclarations, getModifiers, getOptionalTypeParameters, invalidateMethodCaches, setEnclosingScope, throwCompileExceptionMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface Java.Annotatable
getAnnotationsMethods inherited from interface Java.ClassDeclaration
getSyntheticFields, getVariableDeclaratorsAndInitializersMethods inherited from interface Java.DocCommentable
getDocComment, hasDeprecatedDocTagMethods inherited from interface Java.EnumDeclaration
getModifiers, getNameMethods inherited from interface Java.Locatable
getLocation, throwCompileExceptionMethods inherited from interface Java.NamedTypeDeclaration
getOptionalTypeParametersMethods inherited from interface Java.Scope
getEnclosingScopeMethods inherited from interface Java.TypeBodyDeclaration
getModifiersMethods inherited from interface Java.TypeDeclaration
createAnonymousClassName, createLocalTypeName, getClassName, getMemberTypeDeclaration, getMemberTypeDeclarations, getMethodDeclaration, getMethodDeclarations
-
Constructor Details
-
MemberEnumDeclaration
-
-
Method Details
-
getImplementedTypes
- Specified by:
getImplementedTypesin interfaceJava.EnumDeclaration- Returns:
- The interfaces that this enum implements
-
getConstants
- Specified by:
getConstantsin interfaceJava.EnumDeclaration- Returns:
- The constants that this enum declares
-
addConstant
Description copied from interface:Java.EnumDeclarationAdds another constant to this enum declaration.- Specified by:
addConstantin interfaceJava.EnumDeclaration
-
accept
@Nullable public <R, EX extends Throwable> R accept(Visitor.TypeDeclarationVisitor<R, EX> visitor) throws EXDescription copied from interface:Java.TypeDeclarationInvokes the "visit...()" method ofVisitor.TypeDeclarationVisitorfor the concreteJava.TypeDeclarationtype.- Specified by:
acceptin interfaceJava.TypeDeclaration- Overrides:
acceptin classJava.MemberClassDeclaration- Throws:
EX
-
accept
@Nullable public <R, EX extends Throwable> R accept(Visitor.TypeBodyDeclarationVisitor<R, EX> visitor) throws EXDescription copied from interface:Java.TypeBodyDeclarationInvokes the "visit...()" method ofVisitor.TypeBodyDeclarationVisitorfor the concreteJava.TypeBodyDeclarationtype.- Specified by:
acceptin interfaceJava.TypeBodyDeclaration- Overrides:
acceptin classJava.MemberClassDeclaration- Throws:
EX
-
defineSyntheticField
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 fieldthis$0. val$<em>local-variable-name</em>-
(Allowed for local classes and anonymous classes; forbidden for member classes)
Hold copies of
finallocal variables of the defining context.
Notice that these fields are not included in the
IClass.IFieldarray returned byIClass.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
-