recoder.java.reference
Class ArrayReference
java.lang.Object
recoder.java.JavaSourceElement
recoder.java.JavaProgramElement
recoder.java.JavaNonTerminalProgramElement
recoder.java.reference.ArrayReference
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Expression, ExpressionContainer, NonTerminalProgramElement, ProgramElement, Reference, ReferencePrefix, ReferenceSuffix, TypeReferenceContainer, SourceElement, ModelElement
public class ArrayReference
- extends JavaNonTerminalProgramElement
- implements Reference, Expression, ReferencePrefix, ReferenceSuffix, ExpressionContainer, TypeReferenceContainer
Array reference.
- Author:
- AutoDoc
- See Also:
- Serialized Form
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ArrayReference
public ArrayReference()
- Array reference.
ArrayReference
public ArrayReference(ReferencePrefix accessPath,
ASTList<Expression> initializers)
- Array reference.
- Parameters:
accessPath - a reference prefix.initializers - an expression mutable list.
ArrayReference
protected ArrayReference(ArrayReference proto)
- Array reference.
- Parameters:
proto - an array reference.
deepClone
public ArrayReference deepClone()
- Deep clone.
- Specified by:
deepClone in interface Expression- Specified by:
deepClone in interface SourceElement
- Returns:
- the object.
makeParentRoleValid
public void makeParentRoleValid()
- Make parent role valid.
- Specified by:
makeParentRoleValid in interface NonTerminalProgramElement- Overrides:
makeParentRoleValid in class JavaNonTerminalProgramElement
getASTParent
public NonTerminalProgramElement getASTParent()
- Get AST parent.
- Specified by:
getASTParent in interface ProgramElement
- Returns:
- the non terminal program element.
getExpressionCount
public int getExpressionCount()
- Get the number of expressions in this container.
- Specified by:
getExpressionCount in interface ExpressionContainer
- Returns:
- the number of expressions.
getExpressionAt
public Expression getExpressionAt(int index)
- Specified by:
getExpressionAt in interface ExpressionContainer
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.
getTypeReferenceCount
public int getTypeReferenceCount()
- Get the number of type references in this container.
- Specified by:
getTypeReferenceCount in interface TypeReferenceContainer
- Returns:
- the number of type references.
getTypeReferenceAt
public TypeReference getTypeReferenceAt(int index)
- Specified by:
getTypeReferenceAt in interface TypeReferenceContainer
getReferenceSuffix
public ReferenceSuffix getReferenceSuffix()
- Get reference suffix.
- Specified by:
getReferenceSuffix in interface ReferencePrefix
- Returns:
- the reference suffix.
setReferenceSuffix
public void setReferenceSuffix(ReferenceSuffix path)
- Set reference suffix.
- Specified by:
setReferenceSuffix in interface ReferencePrefix
- Parameters:
path - a reference suffix.
getReferencePrefix
public ReferencePrefix getReferencePrefix()
- Get reference prefix.
- Specified by:
getReferencePrefix in interface ReferenceSuffix
- Returns:
- the reference prefix.
setReferencePrefix
public void setReferencePrefix(ReferencePrefix accessPath)
- Set reference prefix.
- Parameters:
accessPath - a reference prefix.
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)
getExpressionContainer
public ExpressionContainer getExpressionContainer()
- Get expression container.
- Specified by:
getExpressionContainer in interface Expression
- Returns:
- the expression container.
setExpressionContainer
public void setExpressionContainer(ExpressionContainer c)
- Set expression container.
- Specified by:
setExpressionContainer in interface Expression
- Parameters:
c - an expression container.
getDimensionExpressions
public ASTList<Expression> getDimensionExpressions()
- Get dimension expressions.
- Returns:
- the expression mutable list.
setDimensionExpressions
public void setDimensionExpressions(ASTList<Expression> list)
- Set dimension expressions.
- Parameters:
list - an expression mutable list.
getFirstElement
public SourceElement getFirstElement()
- Description copied from class:
JavaSourceElement
- Finds the source element that occurs first in the source. The default
implementation returns this element, which is correct for all terminal
program elements, and many non terminals such as statements and prefixed
operators.
- Specified by:
getFirstElement in interface SourceElement- Overrides:
getFirstElement in class JavaSourceElement
- Returns:
- the first source element in the syntactical representation of
this element, may be equals to this element.
- See Also:
JavaSourceElement.toSource(),
JavaSourceElement.getStartPosition()
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.