coins.ast.expr
Class ConditionalExpr

java.lang.Object
  extended bycoins.ast.ASTree
      extended bycoins.ast.expr.OperatorExpr
          extended bycoins.ast.expr.NnaryExpr
              extended bycoins.ast.expr.ConditionalExpr
All Implemented Interfaces:
Expr, LvalueExpr, java.io.Serializable, TokenId

public class ConditionalExpr
extends NnaryExpr
implements TokenId, LvalueExpr

Conditional expression.

See Also:
Serialized Form

Field Summary
 
Fields inherited from interface coins.ast.TokenId
AND_E, ANDAND, ARROW, ASM, AUTO, BAD_TOKEN, BREAK, CASE, CAST_OP, CHAR, CHAR_CONST, COND_OP, CONST, CONTINUE, DEFAULT, DIV_E, DO, DOUBLE, DOUBLE_CONST, ELLIPSIS, ELSE, ENUM, EOF, EQ, EXOR_E, EXTERN, FLOAT, FLOAT_CONST, FOR, FUNCALL, GE, GOTO, IDENTIFIER, IF, IGNORE, INDEX_OP, INLINE, INT, INT_CONST, LE, LONG, LONG_CONST, LONG_DOUBLE_CONST, LONGLONG_CONST, LSHIFT, LSHIFT_E, MINUS_E, MINUSMINUS, MOD_E, MUL_E, MUTABLE, NEQ, OR_E, OROR, PLUS_E, PLUSPLUS, PRAGMA, REGISTER, RESTRICT, RETURN, RSHIFT, RSHIFT_E, SHORT, SIGNED, SIZEOF, SKIP_GCC_ASM, SKIP_GCC_ATTRIBUTE, STATIC, STRING_L, STRING_WL, STRUCT, SWITCH, TYPEDEF, TYPEDEF_NAME, UINT_CONST, ULONG_CONST, ULONGLONG_CONST, UNION, UNSIGNED, VOID, VOLATILE, WHILE
 
Constructor Summary
ConditionalExpr(Expr cond, Expr thenExpr, Expr elseExpr)
           
 
Method Summary
 void accept(Visitor v)
          Is a method for the visitor pattern.
 Expr getCondition()
          Returns the condition part.
 Expr getElse()
          Returns the else part.
 Expr getThen()
          Returns the then part.
 byte[] getType()
          Returns the type of the resulting value of evaluating the expression.
 boolean hasAddress()
          Returns true if the expression can be an operand of '&'.
 boolean isLvalue()
          Returns false.
 int operatorId()
          Returns the token identifier of the operator name.
 java.lang.String operatorName()
          Returns the string representation of the operator name.
 
Methods inherited from class coins.ast.expr.NnaryExpr
getExpr, getLeft, getRight, setLeft, setRight
 
Methods inherited from class coins.ast.expr.OperatorExpr
getTag
 
Methods inherited from class coins.ast.ASTree
putSeparator, rightToString, toString, toString1
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ConditionalExpr

public ConditionalExpr(Expr cond,
                       Expr thenExpr,
                       Expr elseExpr)
Method Detail

accept

public void accept(Visitor v)
Description copied from class: ASTree
Is a method for the visitor pattern. It calls atXXX() on the given visitor, where XXX is the class name of the node object.

Specified by:
accept in class ASTree

getType

public byte[] getType()
Description copied from interface: Expr
Returns the type of the resulting value of evaluating the expression. See ast.TypeId

Specified by:
getType in interface Expr
Returns:
the encoded type.

getCondition

public Expr getCondition()
Returns the condition part.


getThen

public Expr getThen()
Returns the then part.


getElse

public Expr getElse()
Returns the else part.


isLvalue

public boolean isLvalue()
Returns false. ANSI C does not allow a conditional expresion as an L-value.

Specified by:
isLvalue in interface LvalueExpr

hasAddress

public boolean hasAddress()
Description copied from interface: LvalueExpr
Returns true if the expression can be an operand of '&'.

Specified by:
hasAddress in interface LvalueExpr

operatorId

public int operatorId()
Description copied from class: OperatorExpr
Returns the token identifier of the operator name. See ast.TokenId

Specified by:
operatorId in class OperatorExpr

operatorName

public java.lang.String operatorName()
Description copied from class: OperatorExpr
Returns the string representation of the operator name.

Specified by:
operatorName in class OperatorExpr