jparse.expr
Class VarAST

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

public final class VarAST
extends IdentifierAST
implements JavaTokenTypes

An AST node that represents a variable definition or formal parameter

Author:
Jerry James
See Also:
Serialized Form

Field Summary
private  JavaAST brackets
          Any trailing array brackets on the declaration
private  TypeAST declType
          The declared type of this variable
private  boolean field
          true if this is a field (static or instance variable); false if this is a local variable (including parameters)
private  InitializerAST initializer
          The initializer (if any) for this variable
private  ModifierAST mods
          The modifiers for this variable
 
Fields inherited from class jparse.expr.IdentifierAST
 
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
VarAST(antlr.Token token)
          Create a new variable 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
 JavaAST getBrackets()
          Get the brackets modifying the type name, if those brackets follow the variable name
 InitializerAST getInitializer()
          Get the initializer for this variable
 ModifierAST getModifiers()
          Get the modifiers for this variable
 TypeAST getTypeName()
          Get the name of the declared type for this variable
 VarList getVarList()
          Get the list of variables read and written by this expression
 boolean isField()
          Determine whether this variable is a field (static or instance variable) or a local variable or parameter
 void parseComplete()
          Compute any derived attributes that must be evaluated after the initial parse.
 String toString()
           
 
Methods inherited from class jparse.expr.IdentifierAST
compareTo, getName, setMethod, setName
 
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

mods

private ModifierAST mods
The modifiers for this variable


declType

private TypeAST declType
The declared type of this variable


brackets

private JavaAST brackets
Any trailing array brackets on the declaration


initializer

private InitializerAST initializer
The initializer (if any) for this variable


field

private boolean field
true if this is a field (static or instance variable); false if this is a local variable (including parameters)

Constructor Detail

VarAST

public VarAST(antlr.Token token)
Create a new variable AST

Parameters:
token - the token represented by this AST node
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

Overrides:
computeType in class IdentifierAST

computeExceptions

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

Overrides:
computeExceptions in class IdentifierAST

computeValue

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

Overrides:
computeValue in class IdentifierAST

getVarList

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

Overrides:
getVarList in class IdentifierAST

getModifiers

public ModifierAST getModifiers()
Get the modifiers for this variable

Returns:
the modifiers

getTypeName

public TypeAST getTypeName()
Get the name of the declared type for this variable

Returns:
the type name

getBrackets

public JavaAST getBrackets()
Get the brackets modifying the type name, if those brackets follow the variable name

Returns:
brackets modifying the type name, or null if there are none

getInitializer

public InitializerAST getInitializer()
Get the initializer for this variable

Returns:
the initializer for this variable, or null if there is not one

isField

public boolean isField()
Determine whether this variable is a field (static or instance variable) or a local variable or parameter

Returns:
true if this variable is a field; false otherwise

toString

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