org.omegahat.Environment.Parser.Parse
Class Name

java.lang.Object
  |
  +--antlr.BaseAST
        |
        +--antlr.CommonAST
              |
              +--org.omegahat.Environment.Parser.Parse.BasicExpression
                    |
                    +--org.omegahat.Environment.Parser.Parse.List
                          |
                          +--org.omegahat.Environment.Parser.Parse.Name
All Implemented Interfaces:
antlr.collections.AST, java.lang.Cloneable, Evaluable, ExpressionInt, OmegaTokenTypes, java.lang.Runnable, java.io.Serializable, Subsettable, TreeNodeInt
Direct Known Subclasses:
ClassName, ClassReference, FormulaName, GlobalName, ImportExpression, SuperName

public class Name
extends List
implements ExpressionInt, OmegaTokenTypes

Class representing an expression of the form a.b.c.d consisting of multiple components separated by `.'

See Also:
Serialized Form

Fields inherited from class org.omegahat.Environment.Parser.Parse.List
elements, separator
 
Fields inherited from class org.omegahat.Environment.Parser.Parse.BasicExpression
children, comments, isActive, parent, POST, PRE
 
Fields inherited from class antlr.BaseAST
down, right
 
Fields inherited from interface org.omegahat.Environment.Parser.AntlrParser.OmegaTokenTypes
ABSTRACT, ARG_LIST, ARRAY_DECLARATOR, ARRAY_INIT, ASSIGN, BAND, BAND_ASSIGN, BLOCK, BNOT, BOR, BOR_ASSIGN, BREAK, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, CHAR_LITERAL, CLASS_DEF, COLON, COMMA, CONTINUE, CTOR_DEF, DEC, DIV, DIV_ASSIGN, DOT, DOTS, EAGER, ELEMENT_OP, EOF, EQUAL, ESC, EXPONENT, EXPONENT_OP, EXPR, EXTENDS_CLAUSE, FINAL, FLOAT_SUFFIX, FUNCTION, GE, GT, HEX_DIGIT, IDENT, IMPLEMENTS_CLAUSE, IMPORT, INC, INDEX_OP, INSTANCE_INIT, INSTANCEOF, INTERFACE_DEF, LABELED_STAT, LAND, LAZY, LBRACK, LCURLY, LE, LITERAL_abstract, LITERAL_boolean, LITERAL_break, LITERAL_byte, LITERAL_case, LITERAL_catch, LITERAL_char, LITERAL_class, LITERAL_const, LITERAL_continue, LITERAL_default, LITERAL_do, LITERAL_double, LITERAL_eager, LITERAL_else, LITERAL_extends, LITERAL_false, LITERAL_final, LITERAL_finally, LITERAL_float, LITERAL_for, LITERAL_function, LITERAL_global, LITERAL_if, LITERAL_implements, LITERAL_import, LITERAL_in, LITERAL_instanceof, LITERAL_int, LITERAL_interface, LITERAL_lazy, LITERAL_long, LITERAL_method, LITERAL_native, LITERAL_new, LITERAL_null, LITERAL_private, LITERAL_protected, LITERAL_public, LITERAL_return, LITERAL_short, LITERAL_static, LITERAL_super, LITERAL_switch, LITERAL_synchronized, LITERAL_this, LITERAL_threadsafe, LITERAL_throw, LITERAL_throws, LITERAL_transient, LITERAL_true, LITERAL_try, LITERAL_void, LITERAL_while, LNOT, LOR, LPAREN, LT, METHOD, METHOD_CALL, METHOD_DEF, MINUS, MINUS_ASSIGN, MISSING_ARG, ML_COMMENT, MOD, MOD_ASSIGN, MODIFIERS, NOT_EQUAL, NULL_TREE_LOOKAHEAD, NUM_FLOAT, NUM_INT, NUM_LONG, OBJBLOCK, PACKAGE_DEF, PARAMETER_DEF, PARAMETERS, PLUS, PLUS_ASSIGN, POST_DEC, POST_INC, QUESTION, RBRACK, RCURLY, RETURN, RPAREN, SEMI, SEQUENCE_OP, SL, SL_ASSIGN, SL_COMMENT, SLIST, SR, SR_ASSIGN, STAR, STAR_ASSIGN, STATIC_INIT, STRING_LITERAL, SYNCHRONIZED, THROW, TRANSIENT, TYPE, TYPECAST, UNARY_MINUS, UNARY_PLUS, VARIABLE_DEF, VOCAB, WS
 
Constructor Summary
Name()
           
Name(antlr.collections.AST tree)
           
Name(FieldAccess accessor)
           
Name(int size)
           
Name(Name n)
           
Name(java.lang.String n)
           
Name(java.lang.String[] els)
           
Name(java.lang.String a, java.lang.String b)
           
 
Method Summary
 int addElements(antlr.collections.AST tree)
           
 int append(Name n)
           
 java.lang.Object asClass()
           
 java.lang.Object asClass(Evaluator evaluator)
           
 java.lang.Object asObject(Evaluator evaluator)
           
 java.lang.String asString()
           
 java.lang.String collapse()
           
 java.lang.String collapse(java.lang.String sep)
           
 java.lang.String element(int which)
           
 boolean equals(java.lang.Object o)
          Compare this object with another to see if they are the same.
 java.lang.Object eval(Evaluator evaluator)
          Evaluate a name by trying to get the object associated with it.
 java.util.AbstractCollection getReferencedVariables(boolean recursive, java.util.AbstractCollection container)
           
 int hashCode()
          Compute that hashcode to ensure two Name objects that have the same elements have the same hash code.
 Name subset(int start, int end)
           
 ExpressionInt substitute(java.util.Hashtable db, boolean expand)
           
 java.lang.String toString()
           
 
Methods inherited from class org.omegahat.Environment.Parser.Parse.List
addElement, addElements, addElements, addResult, asString, asString, clear, clone, contains, copyElements, elementAt, elements, elementToString, eval, evalElement, evalElement, evalResult, getFirstChild, lastElement, parent, separator, separator, setElementAt, size, size, subset, subset, subset, toArray, toString
 
Methods inherited from class org.omegahat.Environment.Parser.Parse.BasicExpression
addChild, addComment, apply, apply, apply, children, children, comment, comment, depth, error, eval, evalInit, evaluationFrame, evaluator, getReferencedVariables, getReferencedVariables, isActive, isActive, parent, postComment, postComment, preComment, preComment, render, replaceChild, resolve, run, setParent, setParent, setParent, setParent, showComments, showComments, substitute
 
Methods inherited from class antlr.CommonAST
getText, getType, initialize, initialize, initialize, setText, setType
 
Methods inherited from class antlr.BaseAST
addChild, equals, equalsList, equalsListPartial, equalsTree, equalsTreePartial, findAll, findAllPartial, getNextSibling, removeChildren, setFirstChild, setNextSibling, setVerboseStringConversion, toStringList, toStringTree
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.omegahat.Environment.Parser.Parse.ExpressionInt
error, resolve, substitute
 
Methods inherited from interface org.omegahat.Environment.Parser.Parse.TreeNodeInt
addChild, children, depth, parent, parent, replaceChild
 
Methods inherited from interface org.omegahat.Environment.Language.Evaluable
eval
 

Constructor Detail

Name

public Name()

Name

public Name(int size)

Name

public Name(java.lang.String n)

Name

public Name(java.lang.String a,
            java.lang.String b)

Name

public Name(Name n)

Name

public Name(java.lang.String[] els)

Name

public Name(FieldAccess accessor)

Name

public Name(antlr.collections.AST tree)
Method Detail

eval

public java.lang.Object eval(Evaluator evaluator)
                      throws java.lang.Throwable
Evaluate a name by trying to get the object associated with it.
Specified by:
eval in interface Evaluable
Overrides:
eval in class List

asObject

public java.lang.Object asObject(Evaluator evaluator)
                          throws java.lang.Throwable

asClass

public java.lang.Object asClass()

asClass

public java.lang.Object asClass(Evaluator evaluator)

element

public java.lang.String element(int which)

subset

public Name subset(int start,
                   int end)

collapse

public java.lang.String collapse()

collapse

public java.lang.String collapse(java.lang.String sep)

asString

public java.lang.String asString()
Overrides:
asString in class List

toString

public java.lang.String toString()
Overrides:
toString in class List

substitute

public ExpressionInt substitute(java.util.Hashtable db,
                                boolean expand)
Overrides:
substitute in class BasicExpression

append

public int append(Name n)

addElements

public int addElements(antlr.collections.AST tree)
Overrides:
addElements in class List

getReferencedVariables

public java.util.AbstractCollection getReferencedVariables(boolean recursive,
                                                           java.util.AbstractCollection container)
Overrides:
getReferencedVariables in class List

equals

public boolean equals(java.lang.Object o)
Compare this object with another to see if they are the same.
Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Compute that hashcode to ensure two Name objects that have the same elements have the same hash code.
Overrides:
hashCode in class java.lang.Object