public abstract class AMethodBasedNode extends ATableBoundNode implements IMemberBoundNode
children, syntaxNode| Constructor and Description |
|---|
AMethodBasedNode(TableSyntaxNode methodNode,
OpenL openl,
IOpenMethodHeader header,
ModuleOpenClass module) |
| Modifier and Type | Method and Description |
|---|---|
void |
addTo(ModuleOpenClass openClass) |
protected void |
addTypeError(IBindingContext bindingContext,
IOpenClass type,
ILocation location,
IOpenSourceCodeModule syntaxNode) |
protected abstract ExecutableRulesMethod |
createMethodShell() |
protected Object |
evaluateRuntime(IRuntimeEnv env) |
void |
finalizeBind(IBindingContext bindingContext) |
IOpenMethodHeader |
getHeader() |
ExecutableRulesMethod |
getMethod() |
ModuleOpenClass |
getModule() |
OpenL |
getOpenl() |
protected IOpenMethod |
getServiceMethod(ExecutableRulesMethod originalMethod) |
int |
getSignatureStartIndex() |
IOpenClass |
getType() |
protected boolean |
hasServiceName()
Is method has an "id" property that will be used to generate additional method with name specified in property
sutable for direct call of rule avoiding the method dispatching mechanism.
|
void |
removeDebugInformation(IBindingContext cxt) |
getTableSyntaxNodeassign, evaluate, evaluateChildren, getChildren, getSyntaxNode, getTargetNode, isLvalue, isStaticTarget, setSyntaxNode, updateAssignFieldDependency, updateDependencypublic AMethodBasedNode(TableSyntaxNode methodNode, OpenL openl, IOpenMethodHeader header, ModuleOpenClass module)
public OpenL getOpenl()
public IOpenMethodHeader getHeader()
public ExecutableRulesMethod getMethod()
public ModuleOpenClass getModule()
protected Object evaluateRuntime(IRuntimeEnv env)
evaluateRuntime in class ABoundNodepublic IOpenClass getType()
getType in interface IBoundNodegetType in class ABoundNodepublic void addTo(ModuleOpenClass openClass)
addTo in interface IMemberBoundNodeprotected boolean hasServiceName()
true if "id" property is specified.protected IOpenMethod getServiceMethod(ExecutableRulesMethod originalMethod)
protected abstract ExecutableRulesMethod createMethodShell()
public void removeDebugInformation(IBindingContext cxt) throws Exception
removeDebugInformation in interface IMemberBoundNodeExceptionpublic void finalizeBind(IBindingContext bindingContext) throws Exception
finalizeBind in interface IMemberBoundNodeExceptionprotected void addTypeError(IBindingContext bindingContext, IOpenClass type, ILocation location, IOpenSourceCodeModule syntaxNode)
public int getSignatureStartIndex()
Copyright © 2004–2019 OpenL Tablets. All rights reserved.