Package dev.lukebemish.bytecodebuilder
Class ClassContext<T extends ClassContext<T,F,M>,F extends FieldContext<F>,M extends MethodContext<M,?>>
java.lang.Object
dev.lukebemish.bytecodebuilder.ClassContext<T,F,M>
- Direct Known Subclasses:
BackendASM.ClassContextASM
public abstract sealed class ClassContext<T extends ClassContext<T,F,M>,F extends FieldContext<F>,M extends MethodContext<M,?>>
extends Object
permits BackendASM.ClassContextASM (not exhaustive)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract byte[]build(int version, int access, ClassDesc name, ClassDesc superName, @Nullable Collection<ClassDesc> interfaces, @Nullable ClassSignature signature) abstract ClassContext<T, F, M> constructor(int access, MethodTypeDesc descriptor, @Nullable Collection<ClassDesc> exceptions, Consumer<? super M> remainder) static ClassContext<?, ?, ?> create()static ClassContext<?, ?, ?> create(Consumer<? super ClassContext<?, ?, ?>> consumer) abstract ClassContext<T, F, M> field(String name, int access, ClassDesc descriptor, @Nullable Signature signature, @Nullable ConstantDesc constant, Consumer<? super F> remainder) static MethodHandles.Lookuphidden(MethodHandles.Lookup lookup, boolean initialize, Set<MethodHandles.Lookup.ClassOption> options, int version, int access, ClassDesc name, ClassDesc superName, @Nullable Collection<ClassDesc> interfaces, @Nullable ClassSignature signature, BiConsumer<? super ClassContext<?, ?, ?>, ClassDataTracker> consumer) abstract ClassContext<T, F, M> method(String name, int access, MethodTypeDesc descriptor, @Nullable MethodSignature signature, @Nullable Collection<ClassDesc> exceptions, Consumer<? super M> remainder)
-
Constructor Details
-
ClassContext
protected ClassContext()
-
-
Method Details
-
constructor
public abstract ClassContext<T,F, constructorM> (int access, MethodTypeDesc descriptor, @Nullable Collection<ClassDesc> exceptions, Consumer<? super M> remainder) -
method
public abstract ClassContext<T,F, methodM> (String name, int access, MethodTypeDesc descriptor, @Nullable MethodSignature signature, @Nullable Collection<ClassDesc> exceptions, Consumer<? super M> remainder) -
field
public abstract ClassContext<T,F, fieldM> (String name, int access, ClassDesc descriptor, @Nullable Signature signature, @Nullable ConstantDesc constant, Consumer<? super F> remainder) -
build
public abstract byte[] build(int version, int access, ClassDesc name, ClassDesc superName, @Nullable Collection<ClassDesc> interfaces, @Nullable ClassSignature signature) -
create
-
create
-