Class TypeLiteral
java.lang.Object
gw.internal.gosu.parser.ParsedElement
gw.internal.gosu.parser.Expression
gw.internal.gosu.parser.expressions.Literal
gw.internal.gosu.parser.expressions.TypeLiteral
- All Implemented Interfaces:
ILiteralExpression
,ITypeLiteralExpression
,IExpression
,IHasType
,IParsedElement
,Cloneable
- Direct Known Subclasses:
BlockLiteral
,CompoundTypeLiteral
,InferredTypeLiteral
,InterfaceTypeLiteral
Represents a Type literal expression as defined in the Gosu grammar.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private static final ThreadLocal<Boolean>
private 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
ConstructorsConstructorDescriptionTypeLiteral
(IType type) TypeLiteral
(IType type, boolean ignoreTypeDeprecation) -
Method Summary
Modifier and TypeMethodDescriptionclone()
private IType
ensureLiteral
(IType type) evaluate()
Evaluates this Expression and returns the result.This expression is of NamespaceType.getType()
Returns this Expression's IType.protected MetaType
boolean
private boolean
isEnclosureDeprecated
(IType type) void
setPackageExpression
(Expression packageExpr) void
setParameterTypes
(IType[] types) void
Sets this Expression's IType.toString()
Subclasses should return a String representing the parsed expression.Methods inherited from class gw.internal.gosu.parser.Expression
evaluate, getContextType, getReturnType, isNullSafe, isUnchecked
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, isSuppressed, isSuppressed, isSynthetic, makeDoubleValue, makeFloatValue, makeInteger, makeLong, removeParseException, removeParseWarning, removeParseWarningRecursively, setGosuProgram, setLineNum, setLocation, setParent, setSynthetic, shouldClearParseInfo, visit
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface gw.lang.parser.IExpression
evaluate, getContextType, isNullSafe, 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, isSuppressed, isSynthetic, setLocation, setParent, visit
-
Field Details
-
_isComputingIsDeprecated
-
_packageExpr
-
_ignoreTypeDeprecation
private boolean _ignoreTypeDeprecation
-
-
Constructor Details
-
TypeLiteral
-
TypeLiteral
-
TypeLiteral
public TypeLiteral()
-
-
Method Details
-
getPackageExpression
This expression is of NamespaceType. It will be either an Identifier or a MemberAccess.- Specified by:
getPackageExpression
in interfaceITypeLiteralExpression
-
setPackageExpression
-
setType
Description copied from class:Expression
Sets this Expression's IType.- Specified by:
setType
in interfaceITypeLiteralExpression
- Overrides:
setType
in classExpression
-
isEnclosureDeprecated
-
setParameterTypes
- Parameters:
types
- If this is a parameterized type, these are the parameter types.
-
ensureLiteral
-
clone
-
isCompileTimeConstant
public boolean isCompileTimeConstant()- Specified by:
isCompileTimeConstant
in interfaceIParsedElement
- Overrides:
isCompileTimeConstant
in classParsedElement
-
evaluate
Description copied from interface:IExpression
Evaluates this Expression and returns the result.- Specified by:
evaluate
in interfaceIExpression
- Overrides:
evaluate
in classExpression
-
toString
Description copied from class:Expression
Subclasses should return a String representing the parsed expression.- Specified by:
toString
in classExpression
-
getType
Description copied from class:Expression
Returns this Expression's IType.- Specified by:
getType
in interfaceIHasType
- Specified by:
getType
in interfaceITypeLiteralExpression
- Overrides:
getType
in classExpression
-
getTypeImpl
- Overrides:
getTypeImpl
in classExpression
-