11package org.cufy.mmrpc.gen.kotlin.gen
22
3+ import com.squareup.kotlinpoet.KModifier
4+ import com.squareup.kotlinpoet.STRING
35import org.cufy.mmrpc.ProtocolDefinition
46import org.cufy.mmrpc.gen.kotlin.common.code.createKdocCode
57import org.cufy.mmrpc.gen.kotlin.common.isGeneratingClass
@@ -11,6 +13,7 @@ import org.cufy.mmrpc.gen.kotlin.common.nameOfClass
1113import org.cufy.mmrpc.gen.kotlin.context.*
1214import org.cufy.mmrpc.gen.kotlin.util.companionObjectSpec
1315import org.cufy.mmrpc.gen.kotlin.util.interfaceSpec
16+ import org.cufy.mmrpc.gen.kotlin.util.propertySpec
1417
1518context(ctx: Context , _: FailScope , _: InitStage )
1619fun doProtocolDefinitionGen () {
@@ -35,13 +38,19 @@ private fun addInterface(element: ProtocolDefinition) {
3538 addAnnotation(usage.annotationSpec())
3639 }
3740
41+ addType(companionObjectSpec {
42+ addProperty(propertySpec(" CANONICAL_NAME" , STRING ) {
43+ addModifiers(KModifier .CONST )
44+ initializer(" %S" , element.canonicalName.value)
45+ })
46+ })
47+
3848 addType(interfaceSpec(NAME_OF_REFLUX_CLASS ) {
3949 applyOf(target = element.refluxCanonicalName)
4050 addType(companionObjectSpec()) // this must be last for syntax compatibility
4151 })
4252
4353 applyOf(target = element.canonicalName)
44- addType(companionObjectSpec()) // this must be last for syntax compatibility
4554 })
4655 }
4756}
0 commit comments