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
public class VarStatement extends Statement implements IVarStatement
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:
IGosuParser
-
-
Field Summary
Fields Modifier and Type Field Description protected Expression_expressionprotected boolean_hasPropertyprotected ModifierInfo_modifiersprotected TypeLiteral_typeLiteral-
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 VarStatement()
-
Method Summary
-
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, 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, 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, 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
-
_expression
protected Expression _expression
-
_typeLiteral
protected TypeLiteral _typeLiteral
-
_hasProperty
protected boolean _hasProperty
-
_modifiers
protected ModifierInfo _modifiers
-
-
Method Detail
-
getIdentifierName
public String getIdentifierName()
- Specified by:
getIdentifierNamein interfaceIVarStatement
-
getSymbol
public ISymbol getSymbol()
- Specified by:
getSymbolin interfaceIVarStatement
-
setSymbol
public void setSymbol(ISymbol symbol)
- Specified by:
setSymbolin interfaceIVarStatement
-
getPropertyName
public String getPropertyName()
- Specified by:
getPropertyNamein interfaceIVarStatement
-
setPropertyName
public void setPropertyName(String strPropertyName)
-
getTypeLiteral
public TypeLiteral getTypeLiteral()
- Specified by:
getTypeLiteralin interfaceIVarStatement
-
setTypeLiteral
public void setTypeLiteral(TypeLiteral typeLiteral)
-
getAsExpression
public Expression getAsExpression()
- Specified by:
getAsExpressionin interfaceIVarStatement
-
setAsExpression
public void setAsExpression(Expression expression)
-
setType
public void setType(IType newType)
-
hasProperty
public boolean hasProperty()
- Specified by:
hasPropertyin interfaceIVarStatement
-
setHasProperty
public void setHasProperty(boolean hasProperty)
-
getModifierInfo
public ModifierInfo getModifierInfo()
- Specified by:
getModifierInfoin interfaceIVarStatement
-
setModifierInfo
public void setModifierInfo(ModifierInfo modifiers)
-
getDeclAnnotations
public List<IGosuAnnotation> getDeclAnnotations()
-
setDeclAnnotations
public void setDeclAnnotations(List<IGosuAnnotation> declAnnotations)
-
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
public IType getType()
- Specified by:
getTypein interfaceIHasType- Specified by:
getTypein interfaceIVarStatement
-
setScriptPart
public void setScriptPart(IScriptPartId partId)
-
getScriptPart
public IScriptPartId getScriptPart()
- Specified by:
getScriptPartin interfaceIVarStatement
-
execute
public Object 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
protected ITerminalStatement getLeastSignificantTerminalStatement_internal(boolean[] bAbsolute)
- Specified by:
getLeastSignificantTerminalStatement_internalin classStatement
-
toString
public String toString()
Description copied from class:StatementSubclasses should return a String representing the parsed statement.
-
getFunctionName
public String getFunctionName()
- Specified by:
getFunctionNamein interfaceIParsedElement- Overrides:
getFunctionNamein classParsedElement
-
getNameOffset
public int getNameOffset(String identifierName)
- Specified by:
getNameOffsetin interfaceIParsedElementWithAtLeastOneDeclaration
-
setNameOffset
public void setNameOffset(int iOffset, String identifierName)- Specified by:
setNameOffsetin interfaceIParsedElementWithAtLeastOneDeclaration
-
declares
public boolean declares(String identifierName)
- Specified by:
declaresin interfaceIParsedElementWithAtLeastOneDeclaration
-
getDeclarations
public String[] getDeclarations()
- Specified by:
getDeclarationsin interfaceIParsedElementWithAtLeastOneDeclaration
-
getAnnotations
public List<IGosuAnnotation> getAnnotations()
- Overrides:
getAnnotationsin classParsedElement
-
getFullDescription
public String 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
public DynamicPropertySymbol getProperty()
- Specified by:
getPropertyin interfaceIVarStatement
-
setProperty
public void setProperty(DynamicPropertySymbol dps)
-
-