private static class ControlFlowOps.ExternalProcedureCaller extends ControlFlowOps.InternalEntryCaller
| Modifier and Type | Field and Description |
|---|---|
private static java.util.Map<java.lang.String,java.lang.Class<?>> |
classCache
Cache of classes for faster retrieval than
Class.forName alone |
private java.lang.String |
className
The class name associated with the external program.
|
private static java.util.Map<java.lang.String,com.esotericsoftware.reflectasm.ConstructorAccess<?>> |
ctorCache
A cache of constructor access objects for each class.
|
callerInstance, iename, methodName, wa| Constructor and Description |
|---|
ExternalProcedureCaller(ControlFlowOps.WorkArea wa,
java.lang.Object instance)
Associate this caller with the specified external program instance.
|
ExternalProcedureCaller(ControlFlowOps.WorkArea wa,
java.lang.String className,
boolean persistent)
Configure this caller with the given data.
|
| Modifier and Type | Method and Description |
|---|---|
(package private) java.lang.String |
getClassName()
Get the class name of the external program to which this internal
entry belongs.
|
(package private) java.lang.String |
getInternalEntryName()
Get the legacy name of this internal entry.
|
(package private) java.lang.String |
getParameterModes(boolean function)
Get the string representation of the parameter modes defined for this
internal entry.
|
(package private) handle |
getPhandle()
Get the
ControlFlowOps.InternalEntryCaller.phandle field. |
getCallerInstance, getExternalProgramName, getMethodName, getParameters, getSignature, invoke, invokeImpl, setPushWorker, validprivate static final java.util.Map<java.lang.String,java.lang.Class<?>> classCache
Class.forName aloneprivate static final java.util.Map<java.lang.String,com.esotericsoftware.reflectasm.ConstructorAccess<?>> ctorCache
private java.lang.String className
public ExternalProcedureCaller(ControlFlowOps.WorkArea wa, java.lang.Object instance)
wa - The context-local state in ControlFlowOps.WorkArea.instance - An instance of an external program.public ExternalProcedureCaller(ControlFlowOps.WorkArea wa, java.lang.String className, boolean persistent) throws java.lang.Exception
wa - The context-local state in ControlFlowOps.WorkArea.className - The class name associated with the external program.persistent - Flag indicating if this external program is being ran persistent.java.lang.Exception - If the class can't be resolved.java.lang.String getClassName()
ControlFlowOps.InternalEntryCallergetClassName in class ControlFlowOps.InternalEntryCallerjava.lang.String getInternalEntryName()
ControlFlowOps.InternalEntryCallergetInternalEntryName in class ControlFlowOps.InternalEntryCallerjava.lang.String getParameterModes(boolean function)
ControlFlowOps.InternalEntryCallergetParameterModes in class ControlFlowOps.InternalEntryCallerfunction - true if this is a function call.handle getPhandle()
ControlFlowOps.InternalEntryCallerControlFlowOps.InternalEntryCaller.phandle field.getPhandle in class ControlFlowOps.InternalEntryCaller