org.omegahat.Environment.Parser.Parse
Class ArrayAccess

java.lang.Object
  |
  +--antlr.BaseAST
        |
        +--antlr.CommonAST
              |
              +--org.omegahat.Environment.Parser.Parse.BasicExpression
                    |
                    +--org.omegahat.Environment.Parser.Parse.NumberExpression
                          |
                          +--org.omegahat.Environment.Parser.Parse.BinaryExpression
                                |
                                +--org.omegahat.Environment.Parser.Parse.ArrayAccess
All Implemented Interfaces:
antlr.collections.AST, Evaluable, ExpressionInt, OmegaTokenTypes, java.lang.Runnable, java.io.Serializable, Subsettable, TreeNodeInt
Direct Known Subclasses:
ArrayAccessInfix

public class ArrayAccess
extends BinaryExpression

Expression of the form x[[i]], x[i], and variants with more terms such as x[i,j,k++] indicating a subsetting operation on a target object.

See Also:
Serialized Form

Field Summary
protected  boolean doubleBrackets
           
protected  java.lang.Class ListClass
           
protected  Name localName
           
 
Fields inherited from class org.omegahat.Environment.Parser.Parse.BinaryExpression
els, LHS, RHS
 
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
ArrayAccess(java.lang.Object a, java.lang.Object b)
           
ArrayAccess(java.lang.Object a, java.lang.Object b, boolean doubleBrackets)
           
 
Method Summary
 void add(java.lang.Object el)
           
 java.lang.Object array(Evaluator evaluator)
           
 java.lang.Object assign(ExpressionInt obj, Evaluator evaluator)
           
 java.lang.Object assign(java.lang.Object obj, Evaluator evaluator)
           
static java.lang.Class classInit()
           
 boolean doubleBrackets()
           
 boolean doubleBrackets(boolean v)
           
 java.lang.Object eval(Evaluator evaluator)
          Perform the array dereferencing.
 java.lang.Object get(java.lang.Object array, List indeces, Evaluator evaluator)
           
 java.lang.Object get(java.lang.Object array, List indeces, int n, Evaluator evaluator)
           
 java.lang.Object get(java.lang.Object array, List indeces, int n, int start, Evaluator evaluator)
          Dereference the object specified by the first n indeces.
protected  java.lang.Object getFromArray(java.lang.Object obj, List indeces, int n, int start)
           
 List indeces(Evaluator evaluator)
           
 Name name()
           
 Name name(Name n)
           
 void put(java.lang.Object array, List indeces, int n, java.lang.Object val)
           
 java.lang.String render(boolean expanded)
           
 void show(java.lang.Object obj)
           
 java.lang.Object subset(java.util.Hashtable obj, List index, int n, int start)
           
 java.lang.Object subset(java.util.Vector obj, List index, int n, int start)
           
 java.lang.Object subsetGeneric(java.lang.Object obj, int idx)
           
 java.lang.Object subsetGeneric(java.lang.Object obj, List indeces, int n, int start, Evaluator evaluator)
           
 java.lang.Object subsetGeneric(java.lang.Object obj, java.lang.Object index)
           
 java.lang.Object subsetGeneric(java.lang.Object obj, java.lang.String val)
           
 java.lang.String toString()
           
 
Methods inherited from class org.omegahat.Environment.Parser.Parse.BinaryExpression
element, element, elements, elements, getFirstChild, replaceChild, separator, subset
 
Methods inherited from class org.omegahat.Environment.Parser.Parse.NumberExpression
asBoolean, asInt, asInteger, asNumber, isNumber, toInteger, toInteger, toNumber
 
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, getReferencedVariables, isActive, isActive, parent, parent, postComment, postComment, preComment, preComment, resolve, run, setParent, setParent, setParent, setParent, showComments, showComments, substitute, 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
clone, equals, finalize, getClass, hashCode, 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
 
Methods inherited from interface org.omegahat.Environment.Language.Evaluable
eval
 

Field Detail

localName

protected Name localName

doubleBrackets

protected boolean doubleBrackets

ListClass

protected java.lang.Class ListClass
Constructor Detail

ArrayAccess

public ArrayAccess(java.lang.Object a,
                   java.lang.Object b)

ArrayAccess

public ArrayAccess(java.lang.Object a,
                   java.lang.Object b,
                   boolean doubleBrackets)
Method Detail

add

public void add(java.lang.Object el)

eval

public java.lang.Object eval(Evaluator evaluator)
                      throws java.lang.Throwable
Perform the array dereferencing.
Overrides:
eval in class BinaryExpression

name

public Name name()

name

public Name name(Name n)

get

public java.lang.Object get(java.lang.Object array,
                            List indeces,
                            Evaluator evaluator)
                     throws java.lang.Throwable

get

public java.lang.Object get(java.lang.Object array,
                            List indeces,
                            int n,
                            Evaluator evaluator)
                     throws java.lang.Throwable

get

public java.lang.Object get(java.lang.Object array,
                            List indeces,
                            int n,
                            int start,
                            Evaluator evaluator)
                     throws java.lang.Throwable
Dereference the object specified by the first n indeces. Used in the assignment to get all but the last one.

assign

public java.lang.Object assign(java.lang.Object obj,
                               Evaluator evaluator)
                        throws java.lang.Throwable

assign

public java.lang.Object assign(ExpressionInt obj,
                               Evaluator evaluator)
                        throws java.lang.Throwable

indeces

public List indeces(Evaluator evaluator)
             throws java.lang.Throwable

array

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

classInit

public static java.lang.Class classInit()

toString

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

show

public void show(java.lang.Object obj)

subsetGeneric

public java.lang.Object subsetGeneric(java.lang.Object obj,
                                      List indeces,
                                      int n,
                                      int start,
                                      Evaluator evaluator)
                               throws java.lang.Throwable

getFromArray

protected java.lang.Object getFromArray(java.lang.Object obj,
                                        List indeces,
                                        int n,
                                        int start)

subsetGeneric

public java.lang.Object subsetGeneric(java.lang.Object obj,
                                      java.lang.String val)
                               throws java.lang.Throwable

subsetGeneric

public java.lang.Object subsetGeneric(java.lang.Object obj,
                                      int idx)
                               throws java.lang.Throwable

subsetGeneric

public java.lang.Object subsetGeneric(java.lang.Object obj,
                                      java.lang.Object index)
                               throws java.lang.Throwable

subset

public java.lang.Object subset(java.util.Hashtable obj,
                               List index,
                               int n,
                               int start)

subset

public java.lang.Object subset(java.util.Vector obj,
                               List index,
                               int n,
                               int start)

doubleBrackets

public boolean doubleBrackets()

doubleBrackets

public boolean doubleBrackets(boolean v)

put

public void put(java.lang.Object array,
                List indeces,
                int n,
                java.lang.Object val)

render

public java.lang.String render(boolean expanded)
Overrides:
render in class BasicExpression