Package sc.lang.java
Class TypeExpression
- java.lang.Object
-
- sc.lang.SemanticNode
-
- sc.lang.java.JavaSemanticNode
-
- sc.lang.java.Definition
-
- sc.lang.java.Statement
-
- sc.lang.java.TypeExpression
-
- All Implemented Interfaces:
ISemanticNode
,ISrcStatement
,IUserDataNode
,IDefinition
,ILifecycle
public class TypeExpression extends Statement
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class sc.lang.java.Statement
Statement.ErrorRangeInfo, Statement.RuntimeStatus
-
Nested classes/interfaces inherited from class sc.lang.java.JavaSemanticNode
JavaSemanticNode.DepTypeCtx, JavaSemanticNode.DepTypeMode, JavaSemanticNode.MemberCache, JavaSemanticNode.MemberType
-
-
Field Summary
Fields Modifier and Type Field Description IdentifierExpression
expression
JavaType
type
java.lang.String
typeIdentifier
-
Fields inherited from class sc.lang.java.Statement
childNestingDepth, errorArgs, excluded, fromStatement
-
Fields inherited from class sc.lang.java.Definition
modifiers, overrides
-
Fields inherited from class sc.lang.java.JavaSemanticNode
debugDisablePrettyToString, STOP_SEARCHING_SENTINEL
-
Fields inherited from class sc.lang.SemanticNode
debugDiffTrace, initialized, PARENT_NODE_PROPERTY, parentNode, PARSE_NODE_PROPERTY, parseletId, parseNode, parseNodeInvalid, processed, started, transformed, validated
-
Fields inherited from interface sc.lang.ISemanticNode
CopyAll, CopyIndependent, CopyInitLevels, CopyNormal, CopyParseNode, CopyReplace, CopyState, CopyTransformed, SkipParseNode
-
-
Constructor Summary
Constructors Constructor Description TypeExpression()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addDependentTypes(java.util.Set<java.lang.Object> types, JavaSemanticNode.DepTypeCtx mode)
void
process()
After validate, before transformboolean
refreshBoundTypes(int flags)
java.lang.Object
resolveReference()
void
setAccessTimeForRefs(long time)
void
start()
java.lang.String
toGenerateString()
boolean
transform(ILanguageModel.RuntimeType runtime)
All definitions share the ability to inherit their definitions.Statement
transformToJS()
void
validate()
-
Methods inherited from class sc.lang.java.Statement
addBreakpointNodes, addChildBodyStatements, addInitStatements, addMappingForSrcStatement, addMappingForSrcStatement, addMappingForStatement, addMemberByName, addMembersByName, addNodeCompletions, addReturnStatements, addStatementNodeCompletions, addToFileLineIndex, callsSuper, callsSuperMethod, callsThis, checkFromStatementRef, childIsTopLevelStatement, clearDynFields, clearTransformed, collectConstructorPropInit, collectReferenceInitializers, conflictsWith, deepCopy, displayError, displayFormattedError, displayRangeError, displayTypeError, evalRemoteExprs, exec, execForRuntime, execSys, findFromStatement, findStatement, formatToJS, getBuildInitExpression, getChildNestingDepth, getComment, getConstrArgs, getCurrentMethod, getFromStatement, getIndentStr, getNestingDepth, getNodeContainsPart, getNodeErrorRange, getNodeErrorText, getNotFoundError, getNumStatementLines, getRuntimeStatus, getSrcStatement, getStatementTerminator, getUserData, getUserVisibleName, hasErrors, initDynStatement, initDynStatement, initDynStatements, isIncompleteStatement, isLabeled, isLeafStatement, isLineStatement, markFixedSuper, matchesStatement, modifyDefinition, needsEnclosingClass, setComment, setFromStatement, setUserData, stop, updateFromStatementRef
-
Methods inherited from class sc.lang.java.Definition
addInheritedAnnotationProcessor, addModifier, getAccessLevel, getAnnotation, getAnnotations, getAnnotationValueKey, getComputedModifiers, getDefinitionProcessors, getEnclosingTypeName, getExtraModifiers, getInternalAccessLevel, getModifierFlags, getRepeatingAnnotation, getScope, getScopeDefinition, getScopeName, getScopeProcessor, hasAnnotation, hasModifier, init, isDefaultSync, mergeModifiers, modifiersToString, needsTransform, processModifiers, removeAnnotation, setAnnotations, setModifierFlags, startModifiers, transformDefaultModifier, useDefaultModifier
-
Methods inherited from class sc.lang.java.JavaSemanticNode
addDependentType, applyPartialValue, canInsertStatementBefore, declaresConstructor, definesConstructor, definesMember, definesMethod, definesType, detectCycles, displayVerboseWarning, displayWarning, findMember, findMemberOwner, findMethod, findType, findType, getDependencyDisabledText, getEnclosingBlockStatement, getEnclosingIMethod, getEnclosingIType, getEnclosingMethod, getEnclosingMethod, getEnclosingStatement, getEnclosingTag, getEnclosingTemplate, getEnclosingType, getExecMode, getImportedTypeName, getJavaLanguage, getJavaModel, getLayeredSystem, getMessageString, getRootTag, getRootType, getStructuralEnclosingType, isCollapsibleNode, isDynamicType, isReferenceValueObject, isStatic, needsDataBinding, refreshNode, runtimeError, suggestCompletions, toFileString, transformTemplate, visitTypeReferences
-
Methods inherited from class sc.lang.SemanticNode
changeLanguage, clearInitialized, clearParseNode, clearStarted, computeNearString, containsChild, deepEquals, diffNode, ensureValidated, equals, formatLeftParenDelegateToParent, formatSpaceBeforeAngleBracket, getAnyChildParseNode, getChildAtIndex, getEnclosingSrcStatement, getLanguageModel, getNodeCount, getNodeWarningText, getParentNode, getParseErrorNode, getParseletId, getParseNode, getRootNode, getStartIndex, getStopSemanticProps, getTransformed, hashCode, indexOfChild, isInitialized, isParseNodeValid, isProcessed, isSemanticChildValue, isSemanticProperty, isSemanticProperty, isStarted, isTrailingSrcStatement, isValidated, regenerate, regenerateIfTracking, removeChild, replaceChild, restoreParseNode, restoreParseNode, sameSrcLocation, serialize, setParentNode, setParseErrorNode, setParselet, setParseletId, setParseNode, setParseNodeValid, setProperty, setProperty, spaceAfterParen, styleNode, styleNode, toDeclarationString, toDefinitionString, toDefinitionString, toDefinitionString, toHeaderString, toLanguageString, toLanguageString, toLocationString, toLocationString, toLocationString, toModelString, toModelString, toSafeLanguageString, validateParseNode
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface sc.lang.java.IDefinition
getEnclosingIType
-
Methods inherited from interface sc.lang.ISemanticNode
changeLanguage, clearInitialized, clearParseNode, clearStarted, containsChild, deepEquals, diffNode, getChildAtIndex, getDependencyDisabledText, getNodeCount, getNodeWarningText, getParentNode, getParseErrorNode, getParseletId, getParseNode, getRootNode, getTransformed, indexOfChild, isInitialized, isParseNodeValid, isSemanticChildValue, isStarted, isTrailingSrcStatement, isValidated, needsTransform, refreshNode, regenerate, regenerateIfTracking, removeChild, replaceChild, restoreParseNode, serialize, setParentNode, setParseErrorNode, setParseletId, setParseNode, setParseNodeValid, styleNode, toHeaderString, toLanguageString, toLanguageString, toModelString, validateParseNode
-
-
-
-
Field Detail
-
typeIdentifier
public java.lang.String typeIdentifier
-
type
public transient JavaType type
-
expression
public transient IdentifierExpression expression
-
-
Method Detail
-
start
public void start()
- Specified by:
start
in interfaceILifecycle
- Overrides:
start
in classDefinition
-
validate
public void validate()
- Specified by:
validate
in interfaceILifecycle
- Overrides:
validate
in classDefinition
-
process
public void process()
Description copied from interface:ISemanticNode
After validate, before transform- Specified by:
process
in interfaceILifecycle
- Specified by:
process
in interfaceISemanticNode
- Overrides:
process
in classDefinition
-
transform
public boolean transform(ILanguageModel.RuntimeType runtime)
Description copied from class:Definition
All definitions share the ability to inherit their definitions. They must set the "overrides" property when they figure out if they are replacing another definition.- Specified by:
transform
in interfaceISemanticNode
- Overrides:
transform
in classDefinition
-
refreshBoundTypes
public boolean refreshBoundTypes(int flags)
- Specified by:
refreshBoundTypes
in classStatement
-
addDependentTypes
public void addDependentTypes(java.util.Set<java.lang.Object> types, JavaSemanticNode.DepTypeCtx mode)
- Specified by:
addDependentTypes
in classStatement
-
setAccessTimeForRefs
public void setAccessTimeForRefs(long time)
- Specified by:
setAccessTimeForRefs
in classStatement
-
transformToJS
public Statement transformToJS()
- Specified by:
transformToJS
in classStatement
-
resolveReference
public java.lang.Object resolveReference()
-
toGenerateString
public java.lang.String toGenerateString()
- Overrides:
toGenerateString
in classJavaSemanticNode
-
-