mirror of
https://github.com/corda/corda.git
synced 2025-05-02 08:43:15 +00:00
CORDA-539 - Review comments
This commit is contained in:
parent
ef409c4d65
commit
a93bd94c44
@ -30,10 +30,10 @@ class CarpenterClassLoader(parentClassLoader: ClassLoader = Thread.currentThread
|
|||||||
*/
|
*/
|
||||||
private const val TARGET_VERSION = V1_8
|
private const val TARGET_VERSION = V1_8
|
||||||
|
|
||||||
private const val jlEnum = "java/lang/Enum"
|
private val jlEnum get() = Type.getInternalName(Enum::class.java)
|
||||||
private const val jlString = "java/lang/String"
|
private val jlString get() = Type.getInternalName(String::class.java)
|
||||||
private const val jlObject = "java/lang/Object"
|
private val jlObject get() = Type.getInternalName(Object::class.java)
|
||||||
private const val jlClass = "java/lang/Class"
|
private val jlClass get() = Type.getInternalName(Class::class.java)
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A class carpenter generates JVM bytecodes for a class given a schema and then loads it into a sub-classloader.
|
* A class carpenter generates JVM bytecodes for a class given a schema and then loads it into a sub-classloader.
|
||||||
@ -131,6 +131,8 @@ class ClassCarpenter(cl: ClassLoader = Thread.currentThread().contextClassLoader
|
|||||||
cw.apply {
|
cw.apply {
|
||||||
visit(TARGET_VERSION, ACC_PUBLIC + ACC_FINAL + ACC_SUPER + ACC_ENUM, schema.jvmName,
|
visit(TARGET_VERSION, ACC_PUBLIC + ACC_FINAL + ACC_SUPER + ACC_ENUM, schema.jvmName,
|
||||||
"L$jlEnum<L${schema.jvmName};>;", jlEnum, null)
|
"L$jlEnum<L${schema.jvmName};>;", jlEnum, null)
|
||||||
|
|
||||||
|
visitAnnotation(Type.getDescriptor(CordaSerializable::class.java), true).visitEnd()
|
||||||
generateFields(schema)
|
generateFields(schema)
|
||||||
generateStaticEnumConstructor(schema)
|
generateStaticEnumConstructor(schema)
|
||||||
generateEnumConstructor()
|
generateEnumConstructor()
|
||||||
|
@ -93,7 +93,7 @@ class EnumSchema(
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Factory object used by the serialiser when build [Schema]s based
|
* Factory object used by the serialiser when building [Schema]s based
|
||||||
* on an AMQP schema
|
* on an AMQP schema
|
||||||
*/
|
*/
|
||||||
object CarpenterSchemaFactory {
|
object CarpenterSchemaFactory {
|
||||||
|
@ -12,7 +12,7 @@ class EnumClassTests : AmqpCarpenterBase() {
|
|||||||
|
|
||||||
val schema = EnumSchema("gen.enum", enumConstants)
|
val schema = EnumSchema("gen.enum", enumConstants)
|
||||||
|
|
||||||
cc.build(schema)
|
assertTrue(cc.build(schema).isEnum)
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
Loading…
x
Reference in New Issue
Block a user