Class AssignmentStatement
java.lang.Object
gw.internal.gosu.parser.ParsedElement
gw.internal.gosu.parser.Statement
gw.internal.gosu.parser.statements.AssignmentStatement
- All Implemented Interfaces:
IParsedElement
,IStatement
,IAssignmentStatement
Represents an assignment statement in the Gosu grammar:
assignment-statement <identifier> = <expression>
- See Also:
-
Field Summary
FieldsFields 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 -
Method Summary
Modifier and TypeMethodDescriptionexecute()
Execute the expression.protected ITerminalStatement
getLeastSignificantTerminalStatement_internal
(boolean[] bAbsolute) private void
If the identifier was initialized without a type specification and a null value, the identifier's type becomes that of it's first assignment.void
setExpression
(Expression expression) void
setIdentifier
(Identifier identifier) 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 Details
-
_identifier
-
_expression
-
-
Constructor Details
-
AssignmentStatement
public AssignmentStatement()
-
-
Method Details
-
getIdentifier
- Specified by:
getIdentifier
in interfaceIAssignmentStatement
- Returns:
- The left-hand-side identifier of the expression.
-
setIdentifier
- Parameters:
identifier
- The left-hand-side identifier of the expression.
-
getExpression
- Specified by:
getExpression
in interfaceIAssignmentStatement
- Returns:
- The right-hand-side expression of the assignment.
-
setExpression
- Parameters:
expression
- The right-hand-side expression of the assignment.
-
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
- Specified by:
getLeastSignificantTerminalStatement_internal
in classStatement
-
toString
Description copied from class:Statement
Subclasses should return a String representing the parsed statement. -
resetIdentifierType
private void resetIdentifierType()If the identifier was initialized without a type specification and a null value, the identifier's type becomes that of it's first assignment. TODO cgross: I don't think this is necessary any more. Remove it.
-