public final class ClosureExpression extends ContextReferencingExpression
| Modifier and Type | Class and Description |
|---|---|
static class |
ClosureExpression.ClosureArgAst |
| Constructor and Description |
|---|
ClosureExpression(ASTInfo info,
ClosureType closureType,
Expression expression,
java.util.List<java.lang.String> argNames) |
| Modifier and Type | Method and Description |
|---|---|
<T,E extends java.lang.Throwable> |
accept(ExpressionVisitor<T,E> visitor)
Accepts visitor.
|
protected java.lang.Object |
basicInterpret(Interpreter interpreter,
InterpreterStackTrace stackTrace)
Interpret expression.
|
Field[] |
createFields(ClosureType closureType) |
java.util.List<ClosureExpression.ClosureArgAst> |
getArgAsts()
Returns the list of argument AST nodes.
|
java.util.List<java.lang.String> |
getArgNames()
Returns the argument names.
|
java.util.Map<java.lang.String,ASTNode> |
getArgTypeRanges()
Returns the map of argument type ranges.
|
int |
getArgumentCount()
Returns the number of arguments.
|
Expression |
getExpression()
Returns the body expression.
|
java.lang.String |
getNodeText()
Returns the text of this node.
|
ClosureType |
getType()
Returns the return type.
|
boolean |
isBodyCreatingNonModuleContextObjects()
Returns
true if the body expression creates non-module context objects,
e.g. |
boolean |
isModuleContextClosure()
Returns
true if the closure is not referencing
non-module variables from outside scope and no methods (if
it is in a method body). |
boolean |
isReferencingNonModuleContext()
Returns
true if the closure is referencing
non-module variables from outside scope and or methods (if
it is in a method body). |
createANTLRParser, doInterpret, evalCondition, evaluateToExpressions, executeCompiled, getCompiled, getDebugLine, getIdentifierAst, getParseTimeConstant, getPrimaryRange, getPropertySelectorRange, getRange, getResultExpression, getResultExpressions, interpret, interpretInCurrentNamespace, isCreatingNonModuleContextObjects, isParseTimeConstant, requiresNewNamespace, setCompiled, showInFullText, showInSurroundingText, showInText, toExpressionsgetFullText, getLine, getText, toStringcontains, getBeginIndex, getEndIndex, getLengthclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetFullText, getLine, getTextcontains, getBeginIndex, getEndIndex, getLengthpublic ClosureExpression(ASTInfo info, ClosureType closureType, Expression expression, java.util.List<java.lang.String> argNames)
info - closureType - expression - argNames - java.lang.NullPointerException - if expression or argNames is nulljava.lang.IllegalArgumentException - if argNames contains nullpublic ClosureType getType()
ExpressiongetType in class Expressionpublic Expression getExpression()
public int getArgumentCount()
public java.util.List<java.lang.String> getArgNames()
public boolean isModuleContextClosure()
true if the closure is not referencing
non-module variables from outside scope and no methods (if
it is in a method body).true if the closure is referencing
only the module contextpublic boolean isReferencingNonModuleContext()
ContextReferencingExpressiontrue if the closure is referencing
non-module variables from outside scope and or methods (if
it is in a method body).isReferencingNonModuleContext in class ContextReferencingExpressiontrue if the closure is referencing
enclosing non-module contextpublic boolean isBodyCreatingNonModuleContextObjects()
true if the body expression creates non-module context objects,
e.g. closures or references that reference non-module variables.true if the body expression creates non-module context objectspublic java.lang.String getNodeText()
ASTNodegetNodeText in interface ASTNodegetNodeText in class ASTNodeImplpublic <T,E extends java.lang.Throwable> T accept(ExpressionVisitor<T,E> visitor) throws E extends java.lang.Throwable
Expressionaccept in class ExpressionEE extends java.lang.Throwableprotected java.lang.Object basicInterpret(Interpreter interpreter, InterpreterStackTrace stackTrace)
ExpressionbasicInterpret in class Expressionpublic Field[] createFields(ClosureType closureType)
closureType - public java.util.Map<java.lang.String,ASTNode> getArgTypeRanges()
public java.util.List<ClosureExpression.ClosureArgAst> getArgAsts()
Copyright © 2007-2020 Whitestein Technologies. All Rights Reserved.