private static class ControlFlowOps.WorkArea
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private BlockManager.BlockManagerHelper |
bm
The BlockManager helper - must be initialized in 'obtain' to avoid recursive initialization.
|
private java.util.HashMap<ControlFlowOps.InternalResolver.InternalEntryCacheKey,InternalEntry> |
cachedIEntries
Cached resolved procedure internal entries
|
private java.util.Map<java.lang.Object,java.util.Map<InvokeConfig,ControlFlowOps.LastInvokeDetails>> |
callSiteCache
A cache of the targets, for each call-site emitted in the converted code, by their external program
instance.
|
private java.lang.Object |
currentCaller
The current caller where to cache the invocation.
|
private InvokeConfig |
currentInvoke
The current invocation, used to cache the target when is not null.
|
private ErrorManager.ErrorHelper |
em
Helper to use the ErrorManager without any context local lookups.
|
private ControlFlowOps.ExternalProgramResolver |
externalResolver
ControlFlowOps.ExternalProgramResolver instance which searches the external
program list for a match. |
private java.util.Map<InvokeConfig,ControlFlowOps.LastInvokeDetails> |
extProgcallSiteCache
A cache of the targets for external program calls, for each call-site.
|
private java.util.ArrayList<ControlFlowOps.Resolver> |
inHandleResolvers
List of
Resolver instances used for RUN IN handle,
DYNAMIC-FUNCTION(... |
private ControlFlowOps.Resolver |
internalProcSuperResolver
ControlFlowOps.InternalProcSuperResolver instance which searches the
procedure's super-procedures for a match. |
private ControlFlowOps.Resolver |
internalResolver
ControlFlowOps.InternalResolver instance which searches the internal-entries
for a match. |
private boolean |
invalidArgs
Flag indicating if last attempted invoke failed because of invalid arguments.
|
private ProcedureManager.ProcedureHelper |
pm
Helper to use the ProcedureManager without any context local lookups.
|
private boolean |
remoteInvoke
Flag indicating if this call is an invocation from a remote, customer-specific
application.
|
private java.util.List<ControlFlowOps.Resolver> |
resolvers
List of
Resolver instances used for plain RUN statements. |
private character |
returnValue
Stores the most recent RETURN-VALUE for this user's session.
|
private boolean |
returnValueSetInRootScope
true if RETURN-VALUE was set during the call of the current root external
program. |
private ControlFlowOps.Resolver |
sessionSuperResolver
ControlFlowOps.SessionSuperResolver instance which searches the sessions's
super-procedures for a match. |
private TransactionManager.TransactionHelper |
tm
Helper to use the TransactionManager without any context local lookups.
|
| Modifier | Constructor and Description |
|---|---|
private |
WorkArea() |
private final ProcedureManager.ProcedureHelper pm
private final TransactionManager.TransactionHelper tm
private final ErrorManager.ErrorHelper em
private BlockManager.BlockManagerHelper bm
private character returnValue
private boolean returnValueSetInRootScope
true if RETURN-VALUE was set during the call of the current root external
program. Used to determine if we need to update RETURN-VALUE after an appserver call.private final java.util.List<ControlFlowOps.Resolver> resolvers
Resolver instances used for plain RUN statements.private final java.util.ArrayList<ControlFlowOps.Resolver> inHandleResolvers
Resolver instances used for RUN IN handle,
DYNAMIC-FUNCTION(... IN handle) or FUNCTION ... IN handle cases.private final ControlFlowOps.Resolver internalResolver
ControlFlowOps.InternalResolver instance which searches the internal-entries
for a match.private final ControlFlowOps.Resolver internalProcSuperResolver
ControlFlowOps.InternalProcSuperResolver instance which searches the
procedure's super-procedures for a match.private final ControlFlowOps.Resolver sessionSuperResolver
ControlFlowOps.SessionSuperResolver instance which searches the sessions's
super-procedures for a match.private final ControlFlowOps.ExternalProgramResolver externalResolver
ControlFlowOps.ExternalProgramResolver instance which searches the external
program list for a match.private boolean remoteInvoke
RemoteEntryPointResource ACLs can be invoked. This flag needs to be reset BEFORE
the remote API is invoked.private boolean invalidArgs
private java.util.Map<java.lang.Object,java.util.Map<InvokeConfig,ControlFlowOps.LastInvokeDetails>> callSiteCache
private java.util.Map<InvokeConfig,ControlFlowOps.LastInvokeDetails> extProgcallSiteCache
private InvokeConfig currentInvoke
private java.lang.Object currentCaller
private java.util.HashMap<ControlFlowOps.InternalResolver.InternalEntryCacheKey,InternalEntry> cachedIEntries