Class ArrayAssignmentStatement
- java.lang.Object
-
- gw.internal.gosu.parser.ParsedElement
-
- gw.internal.gosu.parser.Statement
-
- gw.internal.gosu.parser.statements.ArrayAssignmentStatement
-
- All Implemented Interfaces:
IParsedElement
,IStatement
,IArrayAssignmentStatement
public final class ArrayAssignmentStatement extends Statement implements IArrayAssignmentStatement
Represents an array assignment statement in the Gosu grammar:array-assignment <array-reference> [ <member> ] = expression array-reference <expression> member <array-access> <expression>
- See Also:
IGosuParser
-
-
Field Summary
Fields Modifier and Type Field Description protected ArrayAccess
_arrayAccessExpression
The left-hand-side expressionprotected Expression
_expression
The right-hand-side expression-
Fields inherited from class gw.internal.gosu.parser.Statement
VOID_RETURN_VALUE
-
Fields inherited from class gw.internal.gosu.parser.ParsedElement
_tokens, UNDEF_FILE, UNDEF_FUNCTION, UNDEF_MODULE
-
-
Constructor Summary
Constructors Constructor Description ArrayAssignmentStatement()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
execute()
Execute the expression.ArrayAccess
getArrayAccessExpression()
Expression
getExpression()
protected ITerminalStatement
getLeastSignificantTerminalStatement_internal(boolean[] bAbsolute)
boolean
isCompoundStatement()
void
setArrayAccessExpression(ArrayAccess lhsExpression)
void
setCompoundStatement(boolean compoundStatement)
void
setExpression(Expression expression)
String
toString()
Subclasses should return a String representing the parsed statement.-
Methods inherited from class gw.internal.gosu.parser.Statement
execute, getExcludedReturnTypeElements, getLeastSignificant, getLeastSignificantTerminalStatement, getReturnType, hasContent, isNoOp, setParent
-
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, 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.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
-
Methods inherited from interface gw.lang.parser.IStatement
execute, getLeastSignificantTerminalStatement, hasContent
-
-
-
-
Field Detail
-
_arrayAccessExpression
protected ArrayAccess _arrayAccessExpression
The left-hand-side expression
-
_expression
protected Expression _expression
The right-hand-side expression
-
-
Method Detail
-
getArrayAccessExpression
public ArrayAccess getArrayAccessExpression()
- Specified by:
getArrayAccessExpression
in interfaceIArrayAssignmentStatement
-
setArrayAccessExpression
public void setArrayAccessExpression(ArrayAccess lhsExpression)
-
getExpression
public Expression getExpression()
- Specified by:
getExpression
in interfaceIArrayAssignmentStatement
- Returns:
- The right-hand-side expression of the assignment.
-
setExpression
public void setExpression(Expression expression)
- Parameters:
expression
- The right-hand-side expression of the assignment.
-
execute
public Object execute()
Execute the expression. Evaluates the RHS and assigns the resulting value to the symbol referenced by the LHS identifier.- Specified by:
execute
in interfaceIStatement
- Overrides:
execute
in classStatement
-
getLeastSignificantTerminalStatement_internal
protected ITerminalStatement getLeastSignificantTerminalStatement_internal(boolean[] bAbsolute)
- Specified by:
getLeastSignificantTerminalStatement_internal
in classStatement
-
toString
public String toString()
Description copied from class:Statement
Subclasses should return a String representing the parsed statement.
-
setCompoundStatement
public void setCompoundStatement(boolean compoundStatement)
-
isCompoundStatement
public boolean isCompoundStatement()
-
-