coins.ast.expr
Class ArrayExpr

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

public class ArrayExpr
extends BinaryExpr
implements TokenId, LvalueExpr

Array access expression.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class coins.ast.expr.BinaryExpr
left, right
 
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
ArrayExpr(Expr array, Expr index, byte[] type)
           
 
Method Summary
 void accept(Visitor v)
          Is a method for the visitor pattern.
 Expr getArray()
           
 Expr getIndex()
           
 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 true if the expression is really an l-value.
 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.BinaryExpr
getLeft, getLeftOperand, getRight, getRightOperand, 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

ArrayExpr

public ArrayExpr(Expr array,
                 Expr index,
                 byte[] type)
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.

isLvalue

public boolean isLvalue()
Description copied from interface: LvalueExpr
Returns true if the expression is really 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

getArray

public Expr getArray()

getIndex

public Expr getIndex()

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