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 Modifier and Type Field Description private boolean_bNullSafeprivate Expression_memberExpressionAn expression for accessing a bean member/property dynamicallyprivate Expression_rootExpressionThe array expression-
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 java.lang.Objectevaluate()Evaluates the expression.static java.lang.ObjectgetArrayElement(java.lang.Object obj, int iIndex, boolean bNullSafe)ITypegetComponentType()static java.lang.ObjectgetElementFromIterator(java.util.Iterator iter, int iIndex)ExpressiongetMemberExpression()ExpressiongetRootExpression()static ITypegetTypeToAutoInsert(IExpression rootExpression)booleanisNullSafe()static booleanneedsAutoinsert(ArrayAccess arrayAccess)voidsetMemberExpression(Expression memberExpression)voidsetNullSafe(boolean bNullSafe)voidsetRootExpression(Expression rootExpression)private voidsetTypeInternal(IType rootType)static booleansupportsArrayAccess(IType type)java.lang.StringtoString()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
-
-
-
-
Field Detail
-
_rootExpression
private Expression _rootExpression
The array expression
-
_memberExpression
private Expression _memberExpression
An expression for accessing a bean member/property dynamically
-
_bNullSafe
private boolean _bNullSafe
-
-
Method Detail
-
getRootExpression
public Expression getRootExpression()
- Specified by:
getRootExpressionin interfaceIArrayAccessExpression
-
setRootExpression
public void setRootExpression(Expression rootExpression)
-
getMemberExpression
public Expression getMemberExpression()
- Specified by:
getMemberExpressionin interfaceIArrayAccessExpression
-
setMemberExpression
public void setMemberExpression(Expression memberExpression)
-
isNullSafe
public boolean isNullSafe()
- Specified by:
isNullSafein interfaceIExpression- Overrides:
isNullSafein classExpression
-
setNullSafe
public void setNullSafe(boolean bNullSafe)
-
evaluate
public java.lang.Object evaluate()
Evaluates the expression.- Specified by:
evaluatein interfaceIExpression- Overrides:
evaluatein classExpression
-
getTypeToAutoInsert
public static IType getTypeToAutoInsert(IExpression rootExpression)
-
needsAutoinsert
public static boolean needsAutoinsert(ArrayAccess arrayAccess)
-
getComponentType
public IType getComponentType()
- Specified by:
getComponentTypein interfaceIArrayAccessExpression
-
toString
public java.lang.String toString()
Description copied from class:ExpressionSubclasses should return a String representing the parsed expression.- Specified by:
toStringin classExpression
-
getArrayElement
public static java.lang.Object getArrayElement(java.lang.Object obj, int iIndex, boolean bNullSafe)
-
setTypeInternal
private void setTypeInternal(IType rootType)
-
supportsArrayAccess
public static boolean supportsArrayAccess(IType type)
-
getElementFromIterator
public static java.lang.Object getElementFromIterator(java.util.Iterator iter, int iIndex)
-
-