jparse.expr
Class ListAST

java.lang.Object
  extended byantlr.BaseAST
      extended byantlr.CommonAST
          extended byantlr.CommonASTWithHiddenTokens
              extended byjparse.JavaAST
                  extended byjparse.expr.ExpressionAST
                      extended byjparse.expr.ListAST
All Implemented Interfaces:
antlr.collections.AST, HasExceptions, JavaTokenTypes, Serializable

public final class ListAST
extends ExpressionAST
implements JavaTokenTypes

An AST node that represents an expression list

Author:
Jerry James
See Also:
Serialized Form

Field Summary
private  ExpressionAST[] list
          The list of expressions
private  Type[] types
          The types of the expressions in this expression list
 
Fields inherited from class jparse.expr.ExpressionAST
exceptions, nonconstant, type, value
 
Fields inherited from class jparse.JavaAST
context, currSymTable, noTypes, symTable, topLevel, typeAST
 
Fields inherited from class antlr.CommonASTWithHiddenTokens
hiddenAfter, hiddenBefore
 
Fields inherited from class antlr.CommonAST
 
Fields inherited from class antlr.BaseAST
down, right
 
Fields inherited from interface jparse.JavaTokenTypes
ARRAY_DECLARATOR, ARRAY_INIT, ASSIGN, BAND, BAND_ASSIGN, BNOT, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, CASE_GROUP, CHAR_LITERAL, COLON, COMMA, CONCAT_ASSIGN, CONCATENATION, CONST, CONSTRUCTOR_CALL, CTOR_DEF, DEC, DIV, DIV_ASSIGN, DOT, ELIST, EMPTY_STAT, EOF, EQUAL, ESC, EXPONENT, EXPRESSION_STAT, EXTENDS_CLAUSE, FILE, FLOAT_SUFFIX, FOR_CONDITION, FOR_INIT, FOR_ITERATOR, GE, GOTO, GT, HEX_DIGIT, IDENT, IMPLEMENTS_CLAUSE, INC, INDEX_OP, INSTANCE_INIT, LABELED_STAT, LAND, LBRACK, LCURLY, LE, LITERAL_abstract, LITERAL_boolean, LITERAL_break, LITERAL_byte, LITERAL_case, LITERAL_catch, LITERAL_char, LITERAL_class, LITERAL_continue, LITERAL_default, LITERAL_do, LITERAL_double, LITERAL_else, LITERAL_extends, LITERAL_false, LITERAL_final, LITERAL_finally, LITERAL_float, LITERAL_for, LITERAL_if, LITERAL_implements, LITERAL_import, LITERAL_instanceof, LITERAL_int, LITERAL_interface, LITERAL_long, LITERAL_native, LITERAL_new, LITERAL_null, LITERAL_package, LITERAL_private, LITERAL_protected, LITERAL_public, LITERAL_return, LITERAL_short, LITERAL_static, LITERAL_strictfp, LITERAL_super, LITERAL_switch, LITERAL_synchronized, LITERAL_this, LITERAL_throw, LITERAL_throws, LITERAL_transient, LITERAL_true, LITERAL_try, LITERAL_void, LITERAL_volatile, LITERAL_while, LNOT, LOR, LPAREN, LT, METHOD_CALL, METHOD_DEF, MINUS, MINUS_ASSIGN, ML_COMMENT, MOD, MOD_ASSIGN, MODIFIERS, NOT_EQUAL, NULL_TREE_LOOKAHEAD, NUM_FLOAT, NUM_INT, OBJBLOCK, PARAMETER_DEF, PARAMETERS, PAREN_EXPR, PLUS, PLUS_ASSIGN, POST_DEC, POST_INC, QUESTION, RBRACK, RCURLY, RPAREN, SEMI, SL, SL_ASSIGN, SL_COMMENT, SLIST, SR, SR_ASSIGN, STAR, STAR_ASSIGN, STRING_LITERAL, TYPE, TYPE_STAT, TYPECAST, UNARY_MINUS, UNARY_PLUS, VARIABLE_DEF, VARIABLE_DEFS, VOCAB, WS
 
Constructor Summary
ListAST(antlr.collections.AST firstExpr)
          Create a new expression list AST
 
Method Summary
protected  Type[] computeExceptions()
          Compute the checked exception types that might be thrown by this expression
protected  Type computeType()
          Compute the type of this expression
protected  Object computeValue()
          Compute the constant value of this expression, if any
 ExpressionAST[] getList()
          Get the list of expressions
 Type[] getTypes()
          Get a list of all the types in this expression list (used for parameter lists)
 VarList getVarList()
          Get the list of variables read and written by this expression
 void parseComplete()
          Compute any derived attributes that must be evaluated after the initial parse.
 String toString()
           
 
Methods inherited from class jparse.expr.ExpressionAST
getExceptionTypes, getValue, retrieveType
 
Methods inherited from class jparse.JavaAST
print, printHiddenAfter, printHiddenBefore
 
Methods inherited from class antlr.CommonASTWithHiddenTokens
getHiddenAfter, getHiddenBefore, initialize
 
Methods inherited from class antlr.CommonAST
getText, getType, initialize, initialize, setText, setType
 
Methods inherited from class antlr.BaseAST
addChild, decode, encode, equals, equalsList, equalsListPartial, equalsTree, equalsTreePartial, findAll, findAllPartial, getColumn, getFirstChild, getLine, getNextSibling, getNumberOfChildren, getTokenNames, removeChildren, setFirstChild, setNextSibling, setVerboseStringConversion, toStringList, toStringTree, xmlSerialize, xmlSerializeNode, xmlSerializeRootClose, xmlSerializeRootOpen
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

list

private final ExpressionAST[] list
The list of expressions


types

private Type[] types
The types of the expressions in this expression list

Constructor Detail

ListAST

public ListAST(antlr.collections.AST firstExpr)
Create a new expression list AST

Parameters:
firstExpr - the first expression in the list
Method Detail

parseComplete

public void parseComplete()
Description copied from class: JavaAST
Compute any derived attributes that must be evaluated after the initial parse. The default action is to just tell your children that the parse is complete.

Overrides:
parseComplete in class JavaAST

computeType

protected Type computeType()
Description copied from class: ExpressionAST
Compute the type of this expression

Specified by:
computeType in class ExpressionAST
Returns:
the type of this expression

computeExceptions

protected Type[] computeExceptions()
Description copied from class: ExpressionAST
Compute the checked exception types that might be thrown by this expression

Specified by:
computeExceptions in class ExpressionAST
Returns:
an array of types representing the exceptions that this expression might throw

computeValue

protected Object computeValue()
Description copied from class: ExpressionAST
Compute the constant value of this expression, if any

Specified by:
computeValue in class ExpressionAST
Returns:
the constant value (if any) of this expression, as a wrapped primitive type or an object type

getVarList

public VarList getVarList()
Description copied from class: ExpressionAST
Get the list of variables read and written by this expression

Specified by:
getVarList in class ExpressionAST
Returns:
the list of variables read and written by this expression

getList

public ExpressionAST[] getList()
Get the list of expressions

Returns:
an array containing the expressions in the list, in order

getTypes

public Type[] getTypes()
Get a list of all the types in this expression list (used for parameter lists)

Returns:
an array containing one type for expression in this list, in order

toString

public String toString()
Specified by:
toString in interface antlr.collections.AST