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
| 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.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.Language.Evaluable |
eval |
localName
protected Name localName
doubleBrackets
protected boolean doubleBrackets
ListClass
protected java.lang.Class ListClass
ArrayAccess
public ArrayAccess(java.lang.Object a,
java.lang.Object b)
ArrayAccess
public ArrayAccess(java.lang.Object a,
java.lang.Object b,
boolean doubleBrackets)
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