Package io.quarkus.deployment.recording
Class BytecodeRecorderImpl.DeferredParameter
- java.lang.Object
-
- io.quarkus.deployment.recording.BytecodeRecorderImpl.DeferredParameter
-
- Direct Known Subclasses:
BytecodeRecorderImpl.DeferredArrayStoreParameter
- Enclosing class:
- BytecodeRecorderImpl
abstract class BytecodeRecorderImpl.DeferredParameter extends Object
A bytecode serialized value. This is an abstraction over ResultHandle, as ResultHandle cannot span methods.Instances of DeferredParameter can be used in different methods
-
-
Field Summary
Fields Modifier and Type Field Description (package private) boolean
prepared
-
Constructor Summary
Constructors Constructor Description DeferredParameter()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description (package private) abstract io.quarkus.gizmo.ResultHandle
doLoad(BytecodeRecorderImpl.MethodContext context, io.quarkus.gizmo.MethodCreator method, io.quarkus.gizmo.ResultHandle array)
The function that is called to read the value for use.(package private) void
doPrepare(BytecodeRecorderImpl.MethodContext context)
(package private) void
prepare(BytecodeRecorderImpl.MethodContext context)
function that prepares the value for use.
-
-
-
Method Detail
-
doLoad
abstract io.quarkus.gizmo.ResultHandle doLoad(BytecodeRecorderImpl.MethodContext context, io.quarkus.gizmo.MethodCreator method, io.quarkus.gizmo.ResultHandle array)
The function that is called to read the value for use. This may be by reading the value from the Object[] array, or is may be a direct ldc instruction in the case of primitives.Code in this method is run in a single instruction group, so large objects should be serialized in the
doPrepare(MethodContext)
method insteadThis should not be called directly, but by
BytecodeRecorderImpl.SplitMethodContext.loadDeferred(DeferredParameter)
-
prepare
final void prepare(BytecodeRecorderImpl.MethodContext context)
function that prepares the value for use. This is where objects should actually be loaded into the main array- Parameters:
context
- The main method context.
-
doPrepare
void doPrepare(BytecodeRecorderImpl.MethodContext context)
-
-