public abstract class AbstractLibFunction
extends org.classdump.luna.runtime.AbstractFunctionAnyArg
ArgumentIterator object.| Constructor and Description |
|---|
AbstractLibFunction() |
| Modifier and Type | Method and Description |
|---|---|
protected abstract void |
invoke(org.classdump.luna.runtime.ExecutionContext context,
ArgumentIterator args)
Invokes the function in the context
context with arguments passed in
the iterator args. |
void |
invoke(org.classdump.luna.runtime.ExecutionContext context,
Object[] args) |
protected abstract String |
name()
Returns the name of the function for error-reporting.
|
void |
resume(org.classdump.luna.runtime.ExecutionContext context,
Object suspendedState) |
protected abstract String name()
public void invoke(org.classdump.luna.runtime.ExecutionContext context,
Object[] args)
throws org.classdump.luna.runtime.ResolvedControlThrowable
protected abstract void invoke(org.classdump.luna.runtime.ExecutionContext context,
ArgumentIterator args)
throws org.classdump.luna.runtime.ResolvedControlThrowable
context with arguments passed in
the iterator args.
This is the method that is meant to be implemented by the function implementation.
The function should not retain a reference to context or args
beyond the scope of its invocation. In particular, context and args
should not be part of suspended state if this method throws a control throwable.
context and args are guaranteed to be non-null when
the function is invoked via Dispatch.
context - execution context, must not be nullargs - call arguments, must not be nullorg.classdump.luna.runtime.ResolvedControlThrowable - if the call initiates a non-local control changepublic void resume(org.classdump.luna.runtime.ExecutionContext context,
Object suspendedState)
throws org.classdump.luna.runtime.ResolvedControlThrowable
org.classdump.luna.runtime.ResolvedControlThrowableCopyright © 2016–2017. All rights reserved.