recoder.java.declaration
Class EnumDeclaration
java.lang.Object
recoder.java.JavaSourceElement
recoder.java.JavaProgramElement
recoder.java.JavaNonTerminalProgramElement
recoder.java.declaration.JavaDeclaration
recoder.java.declaration.TypeDeclaration
recoder.java.declaration.EnumDeclaration
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, ClassType, ClassTypeContainer, Member, ProgramModelElement, Type, AccessFlags, Declaration, MemberDeclaration, TypeDeclarationContainer, NamedProgramElement, NonTerminalProgramElement, ProgramElement, ScopeDefiningElement, SourceElement, TypeScope, VariableScope, ModelElement, NamedModelElement
public class EnumDeclaration
- extends TypeDeclaration
- Author:
- Tobias Gutzmann
- See Also:
- Serialized Form
| Fields inherited from interface recoder.bytecode.AccessFlags |
ABSTRACT, ANNOTATION, BRIDGE, ENUM, FINAL, INTERFACE, NATIVE, PRIVATE, PROTECTED, PUBLIC, STATIC, STRICT, SUPER, SYNCHRONIZED, SYNTHETIC, TRANSIENT, VARARGS, VOLATILE |
| Fields inherited from interface recoder.bytecode.AccessFlags |
ABSTRACT, ANNOTATION, BRIDGE, ENUM, FINAL, INTERFACE, NATIVE, PRIVATE, PROTECTED, PUBLIC, STATIC, STRICT, SUPER, SYNCHRONIZED, SYNTHETIC, TRANSIENT, VARARGS, VOLATILE |
| Fields inherited from interface recoder.bytecode.AccessFlags |
ABSTRACT, ANNOTATION, BRIDGE, ENUM, FINAL, INTERFACE, NATIVE, PRIVATE, PROTECTED, PUBLIC, STATIC, STRICT, SUPER, SYNCHRONIZED, SYNTHETIC, TRANSIENT, VARARGS, VOLATILE |
| Methods inherited from class recoder.java.declaration.TypeDeclaration |
addTypeToScope, addVariableToScope, createArrayType, getAllFields, getAllMethods, getAllSupertypes, getAllTypes, getArrayType, getASTParent, getBinaryName, getConstructors, getContainer, getContainingClassType, getErasedType, getFields, getFieldsInScope, getFirstElement, getFullName, getFullSignature, getIdentifier, getLastElement, getMemberParent, getMembers, getMethods, getName, getPackage, getParent, getProgramModelInfo, getSupertypes, getTypeDeclarationAt, getTypeDeclarationCount, getTypeInScope, getTypes, getTypesInScope, getVariableInScope, getVariablesInScope, isDefinedScope, isPrivate, isProtected, isPublic, isStrictFp, removeTypeFromScope, removeVariableFromScope, setDefinedScope, setIdentifier, setMemberParent, setMembers, setParent, setProgramModelInfo, toString |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
EnumDeclaration
public EnumDeclaration()
EnumDeclaration
public EnumDeclaration(ASTList<DeclarationSpecifier> declSpecs,
Identifier name,
Implements implementing,
ASTList<MemberDeclaration> members)
- Parameters:
declSpecs - name - extended - implemented - members -
EnumDeclaration
public EnumDeclaration(EnumDeclaration proto)
- Parameters:
proto -
isInterface
public boolean isInterface()
- Description copied from interface:
ClassType
- Checks if this class type denotes an interface (i.e. ordinary interface or annotation type).
- Specified by:
isInterface in interface ClassType- Specified by:
isInterface in class TypeDeclaration
- Returns:
true if this object represents an interface,
false otherwise.
isOrdinaryInterface
public boolean isOrdinaryInterface()
- Description copied from interface:
ClassType
- Checks if this class type denotes an ordinary (i.e. not annotation type) interface.
- Returns:
true if this object represents an ordinary interface,
false otherwise.
isAnnotationType
public boolean isAnnotationType()
- Description copied from interface:
ClassType
- Checks if this class type denotes an annotation type
- Returns:
true if this object represents an annotation type,
false otherwise
isEnumType
public boolean isEnumType()
- Description copied from interface:
ClassType
- Checks if this class type denotes an enum type
- Returns:
true if this object represents an enum type,
false otherwise
isOrdinaryClass
public boolean isOrdinaryClass()
- Description copied from interface:
ClassType
- Checks if this class type denotes an ordinary (i.e. not an enum) class.
- Returns:
true if this object represents an ordinary class type,
false otherwise
makeParentRoleValid
public void makeParentRoleValid()
- Description copied from class:
TypeDeclaration
- Make parent role valid.
- Specified by:
makeParentRoleValid in interface NonTerminalProgramElement- Overrides:
makeParentRoleValid in class TypeDeclaration
getChildPositionCode
public int getChildPositionCode(ProgramElement child)
- Description copied from interface:
NonTerminalProgramElement
- Returns the positional code of the given child, or
-1 if
there is no such child. The result contains an encoding of the relative
position of the child as well as the role it has been playing in this
parent element. This information is required internally for proper undo
of transformations and is to be delivered to the detached method of the
ChangeHistory.
- Parameters:
child - the exact child to look for.
- Returns:
- the positional code of the given child, or
-1. - See Also:
ChangeHistory.detached(recoder.java.ProgramElement, recoder.java.NonTerminalProgramElement, int)
getChildCount
public int getChildCount()
- Description copied from interface:
NonTerminalProgramElement
- Returns the number of children of this node.
- Returns:
- an int giving the number of children of this node
getChildAt
public ProgramElement getChildAt(int index)
- Description copied from interface:
NonTerminalProgramElement
- Returns the child at the specified index in this node's "virtual" child
array.
- Parameters:
index - an index into this node's "virtual" child array
- Returns:
- the program element at the given position
replaceChild
public boolean replaceChild(ProgramElement p,
ProgramElement q)
- Description copied from interface:
NonTerminalProgramElement
- Replace a single non-null child in the current node. The child to replace
is matched by identity and hence must be known exactly. The replacement
element can be null - in that case, the child is effectively removed. The
parent role of the new child is validated, while the parent link of the
replaced child is left untouched.
- Parameters:
p - the old child.
- Returns:
- true if a replacement has occured, false otherwise.
accept
public void accept(SourceVisitor v)
- Description copied from interface:
SourceElement
- Receive a visitor, for instance a pretty printer.
- Parameters:
v - a source visitor.
deepClone
public EnumDeclaration deepClone()
- Description copied from interface:
SourceElement
- Creates a deep clone of the current source element. For
NonTerminalProgramElements, the parent roles are valid, except
that the root element is not included anywhere and hence has no set
parents, of course. This method also clones Comment
s, but does not clone derived information such as scopes.
- Specified by:
deepClone in interface SourceElement- Specified by:
deepClone in class TypeDeclaration
setImplementedTypes
public void setImplementedTypes(Implements implementing)
getImplementedTypes
public Implements getImplementedTypes()
isFinal
public boolean isFinal()
- Description copied from class:
TypeDeclaration
- Test whether the declaration is final.
- Specified by:
isFinal in interface Member- Overrides:
isFinal in class TypeDeclaration
- Returns:
true if this member is final, false
otherwise.
isAbstract
public boolean isAbstract()
- Description copied from class:
TypeDeclaration
- Test whether the declaration is abstract.
- Specified by:
isAbstract in interface ClassType- Overrides:
isAbstract in class TypeDeclaration
- Returns:
true if this member is abstract, false
otherwise.- See Also:
ClassType.isInterface()
isStatic
public boolean isStatic()
- Description copied from class:
TypeDeclaration
- Test whether the declaration is static.
- Specified by:
isStatic in interface Member- Specified by:
isStatic in interface MemberDeclaration- Overrides:
isStatic in class TypeDeclaration
- Returns:
true if this member is static, false
otherwise.
validate
public void validate()
throws ModelException
- Description copied from class:
JavaProgramElement
- Defaults to do nothing.
- Specified by:
validate in interface ModelElement- Overrides:
validate in class JavaProgramElement
- Throws:
ModelException- See Also:
SemanticsChecker
getTypeParameters
public ASTList<TypeParameterDeclaration> getTypeParameters()
- Description copied from interface:
ClassType
- Returns the type parameters of this class type.
- Specified by:
getTypeParameters in interface ClassType- Specified by:
getTypeParameters in class TypeDeclaration
- Returns:
- the list of type parameters of this class type.
getConstants
public java.util.List<EnumConstantDeclaration> getConstants()
- returns an unmodifiable list containing the enum constants.
never returns
null.
- Returns:
- the enum constants
getNonConstantMembers
public java.util.List<MemberDeclaration> getNonConstantMembers()
- returns an unmodifiable list of all members excluding the constants
Never returns
null.
- Returns:
- a list of the members excluding constants
isInner
public boolean isInner()
- Description copied from interface:
ClassType
- Checks if this type is an inner class, as described in JLS, 3rd edition, §8.1.3
- Returns: