Skip to content

Commit 71a9136

Browse files
committed
feat(gen-kotlin): generate protocol CANONICAL_NAME
1 parent 9298ee9 commit 71a9136

1 file changed

Lines changed: 10 additions & 1 deletion

File tree

mmrpc-gen-kotlin/src/commonMain/kotlin/gen/ProtocolDefinitionGen.kt

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package org.cufy.mmrpc.gen.kotlin.gen
22

3+
import com.squareup.kotlinpoet.KModifier
4+
import com.squareup.kotlinpoet.STRING
35
import org.cufy.mmrpc.ProtocolDefinition
46
import org.cufy.mmrpc.gen.kotlin.common.code.createKdocCode
57
import org.cufy.mmrpc.gen.kotlin.common.isGeneratingClass
@@ -11,6 +13,7 @@ import org.cufy.mmrpc.gen.kotlin.common.nameOfClass
1113
import org.cufy.mmrpc.gen.kotlin.context.*
1214
import org.cufy.mmrpc.gen.kotlin.util.companionObjectSpec
1315
import org.cufy.mmrpc.gen.kotlin.util.interfaceSpec
16+
import org.cufy.mmrpc.gen.kotlin.util.propertySpec
1417

1518
context(ctx: Context, _: FailScope, _: InitStage)
1619
fun 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

Comments
 (0)