RECODER 0.92

recoder.java.declaration
Class FieldDeclaration

java.lang.Object
  extended by recoder.java.JavaSourceElement
      extended by recoder.java.JavaProgramElement
          extended by recoder.java.JavaNonTerminalProgramElement
              extended by recoder.java.declaration.JavaDeclaration
                  extended by recoder.java.declaration.VariableDeclaration
                      extended by recoder.java.declaration.FieldDeclaration
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Declaration, MemberDeclaration, NonTerminalProgramElement, ProgramElement, TypeReferenceContainer, SourceElement, ModelElement
Direct Known Subclasses:
EnumConstantDeclaration

public class FieldDeclaration
extends VariableDeclaration
implements MemberDeclaration

Field declaration.

Author:
AutoDoc
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface recoder.java.ProgramElement
ProgramElement.TreeStructure
 
Nested classes/interfaces inherited from interface recoder.java.SourceElement
SourceElement.Position
 
Field Summary
 
Fields inherited from class recoder.java.JavaSourceElement
factory
 
Fields inherited from interface recoder.java.ProgramElement
STRUCTURAL_EQUALITY, STRUCTURAL_HASH_CODE
 
Constructor Summary
  FieldDeclaration()
          Field declaration.
  FieldDeclaration(ASTList<DeclarationSpecifier> mods, TypeReference typeRef, ASTList<FieldSpecification> vars)
          Field declaration.
  FieldDeclaration(ASTList<DeclarationSpecifier> mods, TypeReference typeRef, Identifier name, Expression init)
          Field declaration.
protected FieldDeclaration(FieldDeclaration proto)
          Field declaration.
  FieldDeclaration(TypeReference typeRef, Identifier name)
          Field declaration.
 
Method Summary
 void accept(SourceVisitor v)
          Receive a visitor, for instance a pretty printer.
 FieldDeclaration deepClone()
          Deep clone.
 NonTerminalProgramElement getASTParent()
          Get AST parent.
 ProgramElement getChildAt(int index)
          Returns the child at the specified index in this node's "virtual" child array
 int getChildCount()
          Returns the number of children of this node.
 int getChildPositionCode(ProgramElement child)
          Returns the positional code of the given child, or -1 if there is no such child.
 ASTList<FieldSpecification> getFieldSpecifications()
           
 TypeDeclaration getMemberParent()
          Get member parent.
 java.util.List<FieldSpecification> getVariables()
          Get variables.
 boolean isFinal()
          Test whether the declaration is final.
 boolean isPrivate()
          Test whether the declaration is private.
 boolean isProtected()
          Test whether the declaration is protected.
 boolean isPublic()
          Test whether the declaration is public.
 boolean isStatic()
          Test whether the declaration is static.
 boolean isStrictFp()
          Test whether the declaration is strict FP.
 boolean isTransient()
          Test whether the declaration is transient.
 void makeParentRoleValid()
          Make parent role valid.
 boolean replaceChild(ProgramElement p, ProgramElement q)
          Replace a single child in the current node.
 void setFieldSpecifications(ASTList<FieldSpecification> l)
           
 void setMemberParent(TypeDeclaration p)
          Set member parent.
 
Methods inherited from class recoder.java.declaration.VariableDeclaration
getFirstElement, getLastElement, getTypeReference, getTypeReferenceAt, getTypeReferenceCount, setTypeReference
 
Methods inherited from class recoder.java.declaration.JavaDeclaration
getAnnotations, getDeclarationSpecifiers, getModifiers, getVisibilityModifier, isAbstract, isNative, isSynchronized, isVolatile, setDeclarationSpecifiers
 
Methods inherited from class recoder.java.JavaNonTerminalProgramElement
getIndexOfChild, getRoleOfChild, makeAllParentRolesValid, validateAll
 
Methods inherited from class recoder.java.JavaProgramElement
getComments, getID, setComments, validate
 
Methods inherited from class recoder.java.JavaSourceElement
getEndPosition, getFactory, getRelativePosition, getStartPosition, setEndPosition, setRelativePosition, setStartPosition, toSource
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface recoder.java.Declaration
getDeclarationSpecifiers, setDeclarationSpecifiers
 
Methods inherited from interface recoder.java.NonTerminalProgramElement
getIndexOfChild, getRoleOfChild, makeAllParentRolesValid, validateAll
 
Methods inherited from interface recoder.java.ProgramElement
getComments, getID, setComments
 
Methods inherited from interface recoder.java.SourceElement
getEndPosition, getFactory, getFirstElement, getLastElement, getRelativePosition, getStartPosition, setEndPosition, setRelativePosition, setStartPosition, toSource
 
Methods inherited from interface recoder.ModelElement
validate
 

Constructor Detail

FieldDeclaration

public FieldDeclaration()
Field declaration.


FieldDeclaration

public FieldDeclaration(TypeReference typeRef,
                        Identifier name)
Field declaration.

Parameters:
typeRef - a type reference.
name - an identifier.

FieldDeclaration

public FieldDeclaration(ASTList<DeclarationSpecifier> mods,
                        TypeReference typeRef,
                        Identifier name,
                        Expression init)
Field declaration.

Parameters:
mods - a modifier mutable list.
typeRef - a type reference.
name - an identifier.
init - an expression.

FieldDeclaration

public FieldDeclaration(ASTList<DeclarationSpecifier> mods,
                        TypeReference typeRef,
                        ASTList<FieldSpecification> vars)
Field declaration.

Parameters:
mods - a modifier mutable list.
typeRef - a type reference.
vars - a variable specification mutable list.

FieldDeclaration

protected FieldDeclaration(FieldDeclaration proto)
Field declaration.

Parameters:
proto - a field declaration.
Method Detail

deepClone

public FieldDeclaration deepClone()
Deep clone.

Specified by:
deepClone in interface SourceElement
Returns:
the object.

getASTParent

public NonTerminalProgramElement getASTParent()
Get AST parent.

Specified by:
getASTParent in interface ProgramElement
Returns:
the non terminal program element.

getMemberParent

public TypeDeclaration getMemberParent()
Get member parent.

Specified by:
getMemberParent in interface MemberDeclaration
Returns:
the type declaration.

setMemberParent

public void setMemberParent(TypeDeclaration p)
Set member parent.

Specified by:
setMemberParent in interface MemberDeclaration
Parameters:
p - a type declaration.

makeParentRoleValid

public void makeParentRoleValid()
Make parent role valid.

Specified by:
makeParentRoleValid in interface NonTerminalProgramElement
Overrides:
makeParentRoleValid in class VariableDeclaration

getFieldSpecifications

public ASTList<FieldSpecification> getFieldSpecifications()

setFieldSpecifications

public void setFieldSpecifications(ASTList<FieldSpecification> l)

getVariables

public java.util.List<FieldSpecification> getVariables()
Description copied from class: VariableDeclaration
Get variables. WARNING: as of 0.80 final, this is not a mutable list any more due to implementation of ParameterDeclaration - changes on this list don't have effects there!!

Specified by:
getVariables in class VariableDeclaration
Returns:
the variable specification mutable list.

getChildCount

public int getChildCount()
Returns the number of children of this node.

Specified by:
getChildCount in interface NonTerminalProgramElement
Returns:
an int giving the number of children of this node

getChildAt

public ProgramElement getChildAt(int index)
Returns the child at the specified index in this node's "virtual" child array

Specified by:
getChildAt in interface NonTerminalProgramElement
Parameters:
index - an index into this node's "virtual" child array
Returns:
the program element at the given position
Throws:
java.lang.ArrayIndexOutOfBoundsException - if index is out of bounds

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.

Specified by:
getChildPositionCode in interface NonTerminalProgramElement
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)

replaceChild

public boolean replaceChild(ProgramElement p,
                            ProgramElement q)
Replace a single 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.

Specified by:
replaceChild in interface NonTerminalProgramElement
Parameters:
p - the old child.
p - the new child.
Returns:
true if a replacement has occured, false otherwise.
Throws:
java.lang.ClassCastException - if the new child cannot take over the role of the old one.

isFinal

public boolean isFinal()
Test whether the declaration is final. Fields of interfaces are always final.

Overrides:
isFinal in class VariableDeclaration

isPrivate

public boolean isPrivate()
Test whether the declaration is private.

Specified by:
isPrivate in interface MemberDeclaration
Overrides:
isPrivate in class JavaDeclaration

isProtected

public boolean isProtected()
Test whether the declaration is protected.

Specified by:
isProtected in interface MemberDeclaration
Overrides:
isProtected in class JavaDeclaration

isPublic

public boolean isPublic()
Test whether the declaration is public. Fields of interfaces are always public.

Specified by:
isPublic in interface MemberDeclaration
Overrides:
isPublic in class JavaDeclaration

isStatic

public boolean isStatic()
Test whether the declaration is static. Fields of interfaces are always static.

Specified by:
isStatic in interface MemberDeclaration
Overrides:
isStatic in class JavaDeclaration

isTransient

public boolean isTransient()
Test whether the declaration is transient.

Overrides:
isTransient in class JavaDeclaration

isStrictFp

public boolean isStrictFp()
Test whether the declaration is strict FP.

Specified by:
isStrictFp in interface MemberDeclaration
Overrides:
isStrictFp in class JavaDeclaration

accept

public void accept(SourceVisitor v)
Description copied from interface: SourceElement
Receive a visitor, for instance a pretty printer.

Specified by:
accept in interface SourceElement
Parameters:
v - a source visitor.

RECODER 0.92