Package dev.lukebemish.bytecodebuilder
Class CodeContext<T extends CodeContext<T>>
java.lang.Object
dev.lukebemish.bytecodebuilder.CodeContext<T>
- Direct Known Subclasses:
BackendASM.CodeContextASM
public abstract sealed class CodeContext<T extends CodeContext<T>>
extends Object
permits BackendASM.CodeContextASM (not exhaustive)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract CodeContext<T> abstract CodeContext<T> constant(ConstantDesc constant) static CodeContext<?> create()static CodeContext<?> create(Consumer<? super CodeContext<?>> consumer) abstract CodeContext<T> field(DirectMethodHandleDesc.Kind operation, ClassDesc owner, String name, ClassDesc descriptor) abstract CodeContext<T> instanceOf(ClassDesc descriptor) abstract CodeContext<T> invokeDynamic(String name, MethodTypeDesc descriptor, DirectMethodHandleDesc bootstrap, Collection<ConstantDesc> bootstrapArguments) abstract CodeContext<T> abstract CodeContext<T> loadThis()abstract CodeContext<T> method(DirectMethodHandleDesc.Kind operation, ClassDesc owner, String name, MethodTypeDesc descriptor) abstract CodeContext<T> abstract CodeContext<T> newInstance(ClassDesc owner, MethodTypeDesc constructorDescriptor) abstract CodeContext<T> returnValue(ClassDesc descriptor) abstract CodeContext<T>
-
Constructor Details
-
CodeContext
protected CodeContext()
-
-
Method Details
-
constant
-
load
-
store
-
newArray
-
instanceOf
-
checkCast
-
returnValue
-
field
public abstract CodeContext<T> field(DirectMethodHandleDesc.Kind operation, ClassDesc owner, String name, ClassDesc descriptor) -
method
public abstract CodeContext<T> method(DirectMethodHandleDesc.Kind operation, ClassDesc owner, String name, MethodTypeDesc descriptor) -
newInstance
-
invokeDynamic
public abstract CodeContext<T> invokeDynamic(String name, MethodTypeDesc descriptor, DirectMethodHandleDesc bootstrap, Collection<ConstantDesc> bootstrapArguments) -
loadThis
-
create
-
create
-