RECODER 0.92

recoder.java.expression.operator
Class Conditional

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.operator.Conditional
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Expression, ExpressionContainer, NonTerminalProgramElement, ProgramElement, SourceElement, ModelElement

public class Conditional
extends Operator

The ternary C-style conditional operator.

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
  Conditional()
          Conditional.
protected Conditional(Conditional proto)
          Conditional.
  Conditional(Expression guard, Expression thenExpr, Expression elseExpr)
          Conditional.
 
Method Summary
 void accept(SourceVisitor v)
          Receive a visitor, for instance a pretty printer.
 Conditional deepClone()
          Deep clone.
 int getArity()
          Get arity.
 int getNotation()
          Get notation.
 int getPrecedence()
          Get precedence.
 boolean isLeftAssociative()
          Checks if this operator is left or right associative.
 
Methods inherited from class recoder.java.expression.Operator
getArguments, getASTParent, getChildAt, getChildCount, getChildPositionCode, getExpressionAt, getExpressionContainer, getExpressionCount, getFirstElement, getLastElement, 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.NonTerminalProgramElement
getIndexOfChild, getRoleOfChild, makeAllParentRolesValid, validateAll
 

Constructor Detail

Conditional

public Conditional()
Conditional.


Conditional

public Conditional(Expression guard,
                   Expression thenExpr,
                   Expression elseExpr)
Conditional.

Parameters:
guard - an expression.
thenExpr - an expression.
elseExpr - an expression.

Conditional

protected Conditional(Conditional proto)
Conditional.

Parameters:
proto - a conditional.
Method Detail

deepClone

public Conditional deepClone()
Deep clone.

Returns:
the object.

getArity

public int getArity()
Get arity.

Specified by:
getArity in class Operator
Returns:
the int value.

getPrecedence

public int getPrecedence()
Get precedence.

Specified by:
getPrecedence in class Operator
Returns:
the int value.

getNotation

public int getNotation()
Get notation.

Specified by:
getNotation in class Operator
Returns:
the int value.

isLeftAssociative

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

Overrides:
isLeftAssociative in class Operator
Returns:
true, if the operator is left associative, 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.

RECODER 0.92