jparse
Class FileAST

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

public final class FileAST
extends JavaAST
implements JavaTokenTypes

An AST node that represents the contents of a file

Author:
Jerry James
See Also:
Serialized Form

Field Summary
(package private) static FileAST currFile
          The file currently being evaluated
(package private)  String[] imports
          The import statements for this file
private  HashMap map
          A mapping from class names to types, in the context of the import list for this file
(package private)  String pkg
          The package for this file, or null for the default package
(package private)  File theFile
          The file that was parsed to create this AST
(package private)  TypeAST[] types
          The top-level class and interface definitions for this file
 
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
FileAST(File file)
          Create a new file AST node
 
Method Summary
 Type getType(String name)
          Find a type with the given name, using the import list for this file
 void parseComplete()
          Compute any derived attributes that must be evaluated after the initial parse.
(package private)  void setInitialHiddenToken(antlr.CommonHiddenStreamToken hiddenTok)
          Set the initial hidden token for the file.
 String toString()
           
 
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

currFile

static FileAST currFile
The file currently being evaluated


theFile

final File theFile
The file that was parsed to create this AST


pkg

String pkg
The package for this file, or null for the default package


imports

String[] imports
The import statements for this file


types

TypeAST[] types
The top-level class and interface definitions for this file


map

private final HashMap map
A mapping from class names to types, in the context of the import list for this file

Constructor Detail

FileAST

public FileAST(File file)
Create a new file AST node

Parameters:
file - the file parsed to create this AST
Method Detail

setInitialHiddenToken

void setInitialHiddenToken(antlr.CommonHiddenStreamToken hiddenTok)
Set the initial hidden token for the file. This ensures that leading comments and whitespace are printed during a tree traversal.

Parameters:
hiddenTok - the initial hidden token

getType

public Type getType(String name)
             throws ClassNotFoundException
Find a type with the given name, using the import list for this file

Parameters:
name - the name of the type to look up
Returns:
a type object representing this type
Throws:
ClassNotFoundException - if the class cannot be found

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

toString

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