Package sc.lang.java
Class ExpressionStatement
- java.lang.Object
-
- sc.lang.SemanticNode
-
- sc.lang.java.JavaSemanticNode
-
- sc.lang.java.Definition
-
- sc.lang.java.Statement
-
- sc.lang.java.ExpressionStatement
-
- All Implemented Interfaces:
ISemanticNode
,ISrcStatement
,IUserDataNode
,IDefinition
,ILifecycle
- Direct Known Subclasses:
ReturnStatement
,SwitchLabel
,ThrowStatement
,WhileStatement
public abstract class ExpressionStatement 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 Expression
expression
java.lang.String
operator
-
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 ExpressionStatement()
-
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)
boolean
callsSuper(boolean checkModSuper)
Does this method call "super(xxx)" for a constructor definitionboolean
callsSuperMethod(java.lang.String methName)
Does this method call super.methName()boolean
callsThis()
ISrcStatement
findFromStatement(ISrcStatement toFind)
Returns the statement that was generated from the given src statement.Expression[]
getConstrArgs()
boolean
isLineStatement()
void
markFixedSuper()
boolean
refreshBoundTypes(int flags)
void
setAccessTimeForRefs(long time)
int
suggestCompletions(java.lang.String prefix, java.lang.Object currentType, ExecutionContext ctx, java.lang.String command, int cursor, java.util.Set<java.lang.String> candidates, java.lang.Object continuation, int max)
Used to create a list of suggestions to complete this node.Statement
transformToJS()
-
Methods inherited from class sc.lang.java.Statement
addBreakpointNodes, addChildBodyStatements, addInitStatements, addMappingForSrcStatement, addMappingForSrcStatement, addMappingForStatement, addMemberByName, addMembersByName, addNodeCompletions, addReturnStatements, addStatementNodeCompletions, addToFileLineIndex, checkFromStatementRef, childIsTopLevelStatement, clearDynFields, clearTransformed, collectConstructorPropInit, collectReferenceInitializers, conflictsWith, deepCopy, displayError, displayFormattedError, displayRangeError, displayTypeError, evalRemoteExprs, exec, execForRuntime, execSys, findStatement, formatToJS, getBuildInitExpression, getChildNestingDepth, getComment, getCurrentMethod, getFromStatement, getIndentStr, getNestingDepth, getNodeContainsPart, getNodeErrorRange, getNodeErrorText, getNotFoundError, getNumStatementLines, getRuntimeStatus, getSrcStatement, getStatementTerminator, getUserData, getUserVisibleName, hasErrors, initDynStatement, initDynStatement, initDynStatements, isIncompleteStatement, isLabeled, isLeafStatement, 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, process, processModifiers, removeAnnotation, setAnnotations, setModifierFlags, start, startModifiers, transform, transformDefaultModifier, useDefaultModifier, validate
-
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, toFileString, toGenerateString, 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, process, refreshNode, regenerate, regenerateIfTracking, removeChild, replaceChild, restoreParseNode, serialize, setParentNode, setParseErrorNode, setParseletId, setParseNode, setParseNodeValid, styleNode, toHeaderString, toLanguageString, toLanguageString, toModelString, transform, validateParseNode
-
-
-
-
Field Detail
-
operator
public java.lang.String operator
-
expression
public Expression expression
-
-
Method Detail
-
callsSuper
public boolean callsSuper(boolean checkModSuper)
Description copied from class:Statement
Does this method call "super(xxx)" for a constructor definition- Overrides:
callsSuper
in classStatement
-
callsSuperMethod
public boolean callsSuperMethod(java.lang.String methName)
Description copied from class:Statement
Does this method call super.methName()- Overrides:
callsSuperMethod
in classStatement
-
markFixedSuper
public void markFixedSuper()
- Overrides:
markFixedSuper
in classStatement
-
getConstrArgs
public Expression[] getConstrArgs()
- Overrides:
getConstrArgs
in classStatement
-
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
-
findFromStatement
public ISrcStatement findFromStatement(ISrcStatement toFind)
Description copied from class:Statement
Returns the statement that was generated from the given src statement. This will end up being the first one we encounter in the search for the src statement in the chain of fromStatements.- Specified by:
findFromStatement
in interfaceISrcStatement
- Overrides:
findFromStatement
in classStatement
-
suggestCompletions
public int suggestCompletions(java.lang.String prefix, java.lang.Object currentType, ExecutionContext ctx, java.lang.String command, int cursor, java.util.Set<java.lang.String> candidates, java.lang.Object continuation, int max)
Description copied from class:JavaSemanticNode
Used to create a list of suggestions to complete this node. Returns the character offset into the parse-tree (or command string if there's no parse tree) where the completion should start. Parameters: prefix is the starting sequence of chars in the identifier to complete. All candidates returned will start with the prefix if it's provided. currentType provides a context for the current type if the node is not embedded in a model - i.e. an identifier expression on its own but known to live in a specific type If ctx is not null, it's an execution context we can use to evaluate the "root value" - i.e. in a.b the value of the variable 'a' is evaluated and the returned instance can be used to suggest candidates. This is useful in live-programming situations. The command String parameter is used to determine the offset returned for where the completion starts for the case where the parseNode tree is not available.- Overrides:
suggestCompletions
in classJavaSemanticNode
-
isLineStatement
public boolean isLineStatement()
- Overrides:
isLineStatement
in classStatement
-
-