Class VarStatement
java.lang.Object
gw.internal.gosu.parser.ParsedElement
gw.internal.gosu.parser.Statement
gw.internal.gosu.parser.statements.VarStatement
- All Implemented Interfaces:
IVarStatement,IHasType,IParsedElement,IParsedElementWithAtLeastOneDeclaration,IStatement
- Direct Known Subclasses:
DelegateStatement
Represents a var statement as specified in the Gosu grammar:
var-statement var <identifier> [scope-attribute] [ : <type-expression> ] = <expression> var <identifier> [scope-attribute] : <type-expression> [ = <expression> ]
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate booleanprivate List<IGosuAnnotation>private DynamicPropertySymbolprotected Expressionprotected booleanprivate intprivate intprotected ModifierInfoprivate IScriptPartIdprivate Stringprivate ISymbolprotected TypeLiteralFields inherited from class gw.internal.gosu.parser.Statement
VOID_RETURN_VALUEFields inherited from class gw.internal.gosu.parser.ParsedElement
_tokens, UNDEF_FILE, UNDEF_FUNCTION, UNDEF_MODULE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbooleanprivate voidexecute()Executes the Var statement.String[]booleanprotected ITerminalStatementgetLeastSignificantTerminalStatement_internal(boolean[] bAbsolute) intintgetNameOffset(String identifierName) The offset of the token representing the name for the declarationintgetType()booleanbooleanbooleanbooleanbooleanbooleanisFinal()booleanbooleanbooleanbooleanbooleanisPublic()booleanisStatic()booleanvoidsetAsExpression(Expression expression) voidsetDeclAnnotations(List<IGosuAnnotation> declAnnotations) voidsetDefinitionParsed(boolean bParsed) voidsetEnumConstant(boolean bEnumConstant) voidsetFinal(boolean bFinal) voidsetHasProperty(boolean hasProperty) voidsetInternal(boolean bInternal) voidvoidsetModifierInfo(ModifierInfo modifiers) voidsetNameOffset(int iOffset, String identifierName) voidsetPrivate(boolean bPrivate) voidvoidsetPropertyName(String strPropertyName) voidsetProtected(boolean bProtected) voidsetPublic(boolean bPublic) voidsetScriptPart(IScriptPartId partId) voidsetStatic(boolean bStatic) voidvoidvoidsetTypeLiteral(TypeLiteral typeLiteral) 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, setParentMethods 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, getColumn, getContainedParsedElementsByType, getContainedParsedElementsByTypes, getContainedParsedElementsByTypesWithIgnoreSet, getEnclosingFeatureInfo, 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, visitMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface gw.lang.parser.IParsedElement
addExceptionsFrom, addParseException, addParseException, addParseWarning, addParseWarning, clearParseExceptions, clearParseTreeInformation, clearParseWarnings, findAncestorParsedElementByType, findDeclaringStatement, findRootParsedElement, getColumn, getContainedParsedElementsByType, getContainedParsedElementsByTypes, getContainedParsedElementsByTypesWithIgnoreSet, 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, visitMethods inherited from interface gw.lang.parser.IStatement
execute, getLeastSignificantTerminalStatement, hasContent
-
Field Details
-
_strPropertyName
-
_expression
-
_typeLiteral
-
_hasProperty
protected boolean _hasProperty -
_modifiers
-
_declAnnotations
-
_symbol
-
_scriptPartId
-
_iNameOffset
private int _iNameOffset -
_iPropertyNameOffset
private int _iPropertyNameOffset -
_bDefinitionParsed
private boolean _bDefinitionParsed -
_bIsInitializedTopLevelProgVar
private boolean _bIsInitializedTopLevelProgVar -
_dps
-
-
Constructor Details
-
VarStatement
public VarStatement()
-
-
Method Details
-
getIdentifierName
- Specified by:
getIdentifierNamein interfaceIVarStatement
-
getSymbol
- Specified by:
getSymbolin interfaceIVarStatement
-
setSymbol
- Specified by:
setSymbolin interfaceIVarStatement
-
getPropertyName
- Specified by:
getPropertyNamein interfaceIVarStatement
-
setPropertyName
-
getTypeLiteral
- Specified by:
getTypeLiteralin interfaceIVarStatement
-
setTypeLiteral
-
detachDeclTypeLiteral
private void detachDeclTypeLiteral() -
getAsExpression
- Specified by:
getAsExpressionin interfaceIVarStatement
-
setAsExpression
-
setType
-
hasProperty
public boolean hasProperty()- Specified by:
hasPropertyin interfaceIVarStatement
-
setHasProperty
public void setHasProperty(boolean hasProperty) -
getModifierInfo
- Specified by:
getModifierInfoin interfaceIVarStatement
-
setModifierInfo
-
getDeclAnnotations
-
setDeclAnnotations
-
getModifiers
public int getModifiers()- Specified by:
getModifiersin interfaceIVarStatement
-
isStatic
public boolean isStatic()- Specified by:
isStaticin interfaceIVarStatement
-
setStatic
public void setStatic(boolean bStatic) -
isPrivate
public boolean isPrivate()- Specified by:
isPrivatein interfaceIVarStatement
-
setPrivate
public void setPrivate(boolean bPrivate) -
isInternal
public boolean isInternal()- Specified by:
isInternalin interfaceIVarStatement
-
setInternal
public void setInternal(boolean bInternal) -
isProtected
public boolean isProtected()- Specified by:
isProtectedin interfaceIVarStatement
-
setProtected
public void setProtected(boolean bProtected) -
isPublic
public boolean isPublic()- Specified by:
isPublicin interfaceIVarStatement
-
setPublic
public void setPublic(boolean bPublic) -
isFinal
public boolean isFinal()- Specified by:
isFinalin interfaceIVarStatement
-
setFinal
public void setFinal(boolean bFinal) -
isAbstract
public boolean isAbstract()- Specified by:
isAbstractin interfaceIVarStatement
-
isEnumConstant
public boolean isEnumConstant()- Specified by:
isEnumConstantin interfaceIVarStatement
-
setEnumConstant
public void setEnumConstant(boolean bEnumConstant) -
isTransient
public boolean isTransient() -
getType
- Specified by:
getTypein interfaceIHasType- Specified by:
getTypein interfaceIVarStatement
-
setScriptPart
-
getScriptPart
- Specified by:
getScriptPartin interfaceIVarStatement
-
execute
Executes the Var statement. The algorithm for the execution follows:- Evaluate the ValueExpression (if one exists).
- Create and map a symbol for the Identifier with type reflecting the ValueExpression's type.
- If a TypeLiteral is specified, set the Identifier's type accordingly.
- Specified by:
executein interfaceIStatement- Overrides:
executein classStatement
-
getLeastSignificantTerminalStatement_internal
- Specified by:
getLeastSignificantTerminalStatement_internalin classStatement
-
toString
Description copied from class:StatementSubclasses should return a String representing the parsed statement. -
getFunctionName
- Specified by:
getFunctionNamein interfaceIParsedElement- Overrides:
getFunctionNamein classParsedElement
-
getNameOffset
Description copied from interface:IParsedElementWithAtLeastOneDeclarationThe offset of the token representing the name for the declaration- Specified by:
getNameOffsetin interfaceIParsedElementWithAtLeastOneDeclaration
-
setNameOffset
- Specified by:
setNameOffsetin interfaceIParsedElementWithAtLeastOneDeclaration
-
declares
- Specified by:
declaresin interfaceIParsedElementWithAtLeastOneDeclaration- Returns:
- True if this statement declares the given identifier; false otherwise
-
getDeclarations
- Specified by:
getDeclarationsin interfaceIParsedElementWithAtLeastOneDeclaration- Returns:
- all names declared by this element
-
getAnnotations
- Overrides:
getAnnotationsin classParsedElement
-
getFullDescription
- Specified by:
getFullDescriptionin interfaceIVarStatement
-
clearDefn
public void clearDefn() -
isDefinitionParsed
public boolean isDefinitionParsed() -
setDefinitionParsed
public void setDefinitionParsed(boolean bParsed) -
getHasInitializer
public boolean getHasInitializer()- Specified by:
getHasInitializerin interfaceIVarStatement
-
isImplicitlyUsed
public boolean isImplicitlyUsed() -
getPropertyNameOffset
public int getPropertyNameOffset()- Specified by:
getPropertyNameOffsetin interfaceIVarStatement
-
isFieldDeclaration
public boolean isFieldDeclaration()- Specified by:
isFieldDeclarationin interfaceIVarStatement
-
setIsInitializedTopLevelProgVar
public void setIsInitializedTopLevelProgVar() -
getProperty
- Specified by:
getPropertyin interfaceIVarStatement
-
setProperty
-