RECODER 0.92

recoder.java.expression
Class Assignment

java.lang.Object
  extended by recoder.java.JavaSourceElement
      extended by recoder.java.JavaProgramElement
          extended by recoder.java.JavaNonTerminalProgramElement
              extended by recoder.java.expression.Operator
                  extended by recoder.java.expression.Assignment
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Expression, ExpressionStatement, ExpressionContainer, LoopInitializer, NonTerminalProgramElement, ProgramElement, SourceElement, Statement, ModelElement
Direct Known Subclasses:
BinaryAndAssignment, BinaryOrAssignment, BinaryXOrAssignment, CopyAssignment, DivideAssignment, MinusAssignment, ModuloAssignment, PlusAssignment, PostDecrement, PostIncrement, PreDecrement, PreIncrement, ShiftLeftAssignment, ShiftRightAssignment, TimesAssignment, UnsignedShiftRightAssignment

public abstract class Assignment
extends Operator
implements ExpressionStatement

An assignment is an operator with side-effects.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class recoder.java.expression.Operator
children, expressionParent, INFIX, POSTFIX, PREFIX
 
Fields inherited from class recoder.java.JavaSourceElement
factory
 
Constructor Summary
  Assignment()
          Assignment.
protected Assignment(Assignment proto)
          Assignment.
  Assignment(Expression unaryChild)
          Assignment.
  Assignment(Expression lhs, Expression rhs)
          Assignment.
 
Method Summary
abstract  Assignment deepClone()
          Creates a deep clone of the current source element.
 NonTerminalProgramElement getASTParent()
          Get AST parent.
 StatementContainer getStatementContainer()
          Get statement container.
 boolean isLeftAssociative()
          Checks if this operator is left or right associative.
 void setStatementContainer(StatementContainer c)
          Set statement container.
 
Methods inherited from class recoder.java.expression.Operator
getArguments, getArity, getChildAt, getChildCount, getChildPositionCode, getExpressionAt, getExpressionContainer, getExpressionCount, getFirstElement, getLastElement, getNotation, getPrecedence, isToBeParenthesized, makeParentRoleValid, precedes, replaceChild, setArguments, setExpressionContainer
 
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.Expression
getExpressionContainer, setExpressionContainer
 
Methods inherited from interface recoder.java.NonTerminalProgramElement
getIndexOfChild, getRoleOfChild, makeAllParentRolesValid, validateAll
 

Constructor Detail

Assignment

public Assignment()
Assignment.


Assignment

public Assignment(Expression unaryChild)
Assignment.

Parameters:
unaryChild - an expression.

Assignment

public Assignment(Expression lhs,
                  Expression rhs)
Assignment.

Parameters:
lhs - an expression.
rhs - an expression.

Assignment

protected Assignment(Assignment proto)
Assignment.

Parameters:
proto - an assignment.
Method Detail

getASTParent

public NonTerminalProgramElement getASTParent()
Get AST parent.

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

getStatementContainer

public StatementContainer getStatementContainer()
Get statement container.

Specified by:
getStatementContainer in interface Statement
Returns:
the statement container.

setStatementContainer

public void setStatementContainer(StatementContainer c)
Set statement container.

Specified by:
setStatementContainer in interface Statement
Parameters:
c - a statement container.

isLeftAssociative

public boolean isLeftAssociative()
Checks if this operator is left or right associative. Assignments are right associative.

Overrides:
isLeftAssociative in class Operator
Returns:
false

deepClone

public abstract Assignment 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 Expression
Specified by:
deepClone in interface ExpressionStatement
Specified by:
deepClone in interface SourceElement
Specified by:
deepClone in interface Statement

RECODER 0.92