Class ArrayAccess
- java.lang.Object
-
- gw.internal.gosu.parser.ParsedElement
-
- gw.internal.gosu.parser.Expression
-
- gw.internal.gosu.parser.expressions.ArrayAccess
-
- All Implemented Interfaces:
IArrayAccessExpression
,IExpression
,IHasType
,IParsedElement
public final class ArrayAccess extends Expression implements IArrayAccessExpression
Represents a member access expression in the Gosu grammar:array-access <array-reference> [ <member> ] array-reference <expression> member <array-access> <expression>
- See Also:
IGosuParser
-
-
Field Summary
-
Fields inherited from class gw.internal.gosu.parser.Expression
_type
-
Fields inherited from class gw.internal.gosu.parser.ParsedElement
_tokens, UNDEF_FILE, UNDEF_FUNCTION, UNDEF_MODULE
-
Fields inherited from interface gw.lang.parser.IExpression
EMPTY_ARRAY
-
-
Constructor Summary
Constructors Constructor Description ArrayAccess()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
evaluate()
Evaluates the expression.static Object
getArrayElement(Object obj, int iIndex, boolean bNullSafe)
IType
getComponentType()
static Object
getElementFromIterator(Iterator iter, int iIndex)
Expression
getMemberExpression()
Expression
getRootExpression()
static IType
getTypeToAutoInsert(IExpression rootExpression)
boolean
isNullSafe()
static boolean
needsAutoinsert(ArrayAccess arrayAccess)
void
setMemberExpression(Expression memberExpression)
void
setNullSafe(boolean bNullSafe)
void
setRootExpression(Expression rootExpression)
static boolean
supportsArrayAccess(IType type)
String
toString()
Subclasses should return a String representing the parsed expression.-
Methods inherited from class gw.internal.gosu.parser.Expression
evaluate, getContextType, getReturnType, getType, getTypeImpl, isUnchecked, setType
-
Methods inherited from class gw.internal.gosu.parser.ParsedElement
addExceptionsFrom, addParseException, addParseException, addParseException, addParseExceptions, addParseIssues, addParseWarning, addParseWarning, addParseWarnings, addToken, adjustColumn, adjustLineNum, assignTokens, clearParseExceptions, clearParseTreeInformation, clearParseWarnings, compactParseTree, findAncestorParsedElementByType, findDeclaringStatement, findLineNumberOfDeclaration, findRootParsedElement, getAnnotations, getColumn, getContainedParsedElementsByType, getContainedParsedElementsByTypes, getContainedParsedElementsByTypesWithIgnoreSet, getEnclosingFeatureInfo, getFunctionName, getGosuClass, getGosuProgram, getImmediateParseIssue, getImmediateParseIssues, getLineNum, getLocation, getModule, getParent, getParseExceptions, getParseIssues, getParseWarnings, getQualifyingEnclosingTypeInfo, getTokens, hasImmediateParseIssue, hasImmediateParseWarning, hasImmediateParseWarnings, hasParseException, hasParseExceptions, hasParseIssue, hasParseIssues, hasParseWarning, hasParseWarnings, initEmptyParseTree, initLocation, isCompileTimeConstant, isSuppressed, isSuppressed, isSynthetic, makeDoubleValue, makeFloatValue, makeInteger, makeLong, removeParseException, removeParseWarning, removeParseWarningRecursively, setGosuProgram, setLineNum, setLocation, setParent, setSynthetic, shouldClearParseInfo, visit
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface gw.lang.parser.IExpression
evaluate, getContextType, isUnchecked
-
Methods inherited from interface gw.lang.parser.IParsedElement
addExceptionsFrom, addParseException, addParseException, addParseWarning, addParseWarning, clearParseExceptions, clearParseTreeInformation, clearParseWarnings, findAncestorParsedElementByType, findDeclaringStatement, findRootParsedElement, getColumn, getContainedParsedElementsByType, getContainedParsedElementsByTypes, getContainedParsedElementsByTypesWithIgnoreSet, getFunctionName, getGosuClass, getGosuProgram, getImmediateParseIssue, getImmediateParseIssues, getLineNum, getLocation, getModule, getParent, getParseExceptions, getParseIssues, getParseWarnings, getReturnType, getTokens, hasImmediateParseIssue, hasImmediateParseWarnings, hasParseException, hasParseExceptions, hasParseIssue, hasParseIssues, hasParseWarning, hasParseWarnings, isCompileTimeConstant, isSuppressed, isSynthetic, setLocation, setParent, visit
-
-
-
-
Method Detail
-
getRootExpression
public Expression getRootExpression()
- Specified by:
getRootExpression
in interfaceIArrayAccessExpression
-
setRootExpression
public void setRootExpression(Expression rootExpression)
-
getMemberExpression
public Expression getMemberExpression()
- Specified by:
getMemberExpression
in interfaceIArrayAccessExpression
-
setMemberExpression
public void setMemberExpression(Expression memberExpression)
-
isNullSafe
public boolean isNullSafe()
- Specified by:
isNullSafe
in interfaceIExpression
- Overrides:
isNullSafe
in classExpression
-
setNullSafe
public void setNullSafe(boolean bNullSafe)
-
evaluate
public Object evaluate()
Evaluates the expression.- Specified by:
evaluate
in interfaceIExpression
- Overrides:
evaluate
in classExpression
-
getTypeToAutoInsert
public static IType getTypeToAutoInsert(IExpression rootExpression)
-
needsAutoinsert
public static boolean needsAutoinsert(ArrayAccess arrayAccess)
-
getComponentType
public IType getComponentType()
- Specified by:
getComponentType
in interfaceIArrayAccessExpression
-
toString
public String toString()
Description copied from class:Expression
Subclasses should return a String representing the parsed expression.- Specified by:
toString
in classExpression
-
supportsArrayAccess
public static boolean supportsArrayAccess(IType type)
-
-