coins.ast.expr
Class CallExpr

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

public class CallExpr
extends NnaryExpr
implements TokenId

Function call 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
CallExpr(Expr func, ASTList args, byte[] ftype, byte[] rtype)
           
 
Method Summary
 void accept(Visitor v)
          Is a method for the visitor pattern.
 ASTList getArguments()
          Returns the actual parameters.
 Expr getFunction()
          Returns the function name.
 byte[] getFunctionType()
          Returns the function prototype.
 byte[] getType()
          Returns the type of the value of the function result.
 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

CallExpr

public CallExpr(Expr func,
                ASTList args,
                byte[] ftype,
                byte[] rtype)
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()
Returns the type of the value of the function result.

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

getFunctionType

public byte[] getFunctionType()
Returns the function prototype. The encoding method is equivalent to the method used for encoding a type.


getFunction

public Expr getFunction()
Returns the function name. If the function is invoked through a function pointer, then this method returns the expression including that pointer. For example, if the function call expression is:

then this method returns an Expr object representing the expression "*fptr".


getArguments

public ASTList getArguments()
Returns the actual parameters.

Returns:
A linked list of Expr objects.

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