Package io.micronaut.sourcegen.bytecode
Class ByteCodeWriter
java.lang.Object
io.micronaut.sourcegen.bytecode.ByteCodeWriter
Generates the classes directly by writing the bytecode.
- Since:
- 1.5
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbyte[]write(io.micronaut.sourcegen.model.ObjectDef objectDef) Writes the bytecode of generated class.byte[]write(io.micronaut.sourcegen.model.ObjectDef objectDef, @Nullable io.micronaut.sourcegen.model.ClassTypeDef outerType) Writes the bytecode of generated class.voidwriteClass(org.objectweb.asm.ClassVisitor classVisitor, io.micronaut.sourcegen.model.ClassDef classDef) Write an interface.voidwriteClass(org.objectweb.asm.ClassVisitor classVisitor, io.micronaut.sourcegen.model.ClassDef classDef, @Nullable io.micronaut.sourcegen.model.ClassTypeDef outerType) Write an interface.voidwriteField(org.objectweb.asm.ClassVisitor classVisitor, io.micronaut.sourcegen.model.ObjectDef objectDef, io.micronaut.sourcegen.model.FieldDef fieldDef) Write an enum.voidwriteInterface(org.objectweb.asm.ClassVisitor classVisitor, io.micronaut.sourcegen.model.InterfaceDef interfaceDef, @Nullable io.micronaut.sourcegen.model.ClassTypeDef outerType) Write an interface.voidwriteObject(org.objectweb.asm.ClassVisitor classVisitor, io.micronaut.sourcegen.model.ObjectDef objectDef) Write an object.voidwriteObject(org.objectweb.asm.ClassVisitor classVisitor, io.micronaut.sourcegen.model.ObjectDef objectDef, @Nullable io.micronaut.sourcegen.model.ClassTypeDef outerType) Write an object.voidwriteRecord(org.objectweb.asm.ClassVisitor classVisitor, io.micronaut.sourcegen.model.RecordDef recordDef) Write an interface.voidwriteRecord(org.objectweb.asm.ClassVisitor classVisitor, io.micronaut.sourcegen.model.RecordDef recordDef, @Nullable io.micronaut.sourcegen.model.ClassTypeDef outerType) Write an interface.
-
Constructor Details
-
ByteCodeWriter
public ByteCodeWriter() -
ByteCodeWriter
public ByteCodeWriter(boolean checkClass, boolean visitMaxs)
-
-
Method Details
-
writeObject
public void writeObject(org.objectweb.asm.ClassVisitor classVisitor, io.micronaut.sourcegen.model.ObjectDef objectDef) Write an object.- Parameters:
classVisitor- The class visitorobjectDef- The object definition
-
writeObject
public void writeObject(org.objectweb.asm.ClassVisitor classVisitor, io.micronaut.sourcegen.model.ObjectDef objectDef, @Nullable @Nullable io.micronaut.sourcegen.model.ClassTypeDef outerType) Write an object.- Parameters:
classVisitor- The class visitorobjectDef- The object definitionouterType- The outer type
-
writeField
public void writeField(org.objectweb.asm.ClassVisitor classVisitor, io.micronaut.sourcegen.model.ObjectDef objectDef, io.micronaut.sourcegen.model.FieldDef fieldDef) Write an enum.- Parameters:
classVisitor- The class visitorobjectDef- The object definitionfieldDef- The field definition
-
writeInterface
public void writeInterface(org.objectweb.asm.ClassVisitor classVisitor, io.micronaut.sourcegen.model.InterfaceDef interfaceDef, @Nullable @Nullable io.micronaut.sourcegen.model.ClassTypeDef outerType) Write an interface.- Parameters:
classVisitor- The class visitorinterfaceDef- The interface definitionouterType- The outer type
-
writeRecord
public void writeRecord(org.objectweb.asm.ClassVisitor classVisitor, io.micronaut.sourcegen.model.RecordDef recordDef) Write an interface.- Parameters:
classVisitor- The class visitorrecordDef- The record definition
-
writeRecord
public void writeRecord(org.objectweb.asm.ClassVisitor classVisitor, io.micronaut.sourcegen.model.RecordDef recordDef, @Nullable @Nullable io.micronaut.sourcegen.model.ClassTypeDef outerType) Write an interface.- Parameters:
classVisitor- The class visitorrecordDef- The record definitionouterType- The outer type
-
writeClass
public void writeClass(org.objectweb.asm.ClassVisitor classVisitor, io.micronaut.sourcegen.model.ClassDef classDef) Write an interface.- Parameters:
classVisitor- The class visitorclassDef- The class definition
-
writeClass
public void writeClass(org.objectweb.asm.ClassVisitor classVisitor, io.micronaut.sourcegen.model.ClassDef classDef, @Nullable @Nullable io.micronaut.sourcegen.model.ClassTypeDef outerType) Write an interface.- Parameters:
classVisitor- The class visitorclassDef- The class definitionouterType- The outer type
-
write
public byte[] write(io.micronaut.sourcegen.model.ObjectDef objectDef) Writes the bytecode of generated class.- Parameters:
objectDef- The object definition.- Returns:
- The bytes
-
write
public byte[] write(io.micronaut.sourcegen.model.ObjectDef objectDef, @Nullable @Nullable io.micronaut.sourcegen.model.ClassTypeDef outerType) Writes the bytecode of generated class.- Parameters:
objectDef- The object definition.outerType- The outer type.- Returns:
- The bytes
-