sam
06/21/2022, 9:22 AM-entry
I can see the function looks ok using dump, but I get an error saying it cannot be found. If I create the function manually, then it looks identical to my generated output. Is there something special that needs to be done for the native task to pick up the entry point ?val main = pluginContext.irFactory.buildFun {
name = Name.identifier("mymain")
returnType = pluginContext.irBuiltIns.unitType
visibility = DescriptorVisibilities.PUBLIC
modality = Modality.FINAL
}.also { func: IrSimpleFunction ->
func.body = DeclarationIrBuilder(pluginContext, func.symbol).irBlockBody {
val callPrintln = irCall(funPrintln)
callPrintln.putValueArgument(0, irString("Hello, World!"))
+callPrintln
}
}
fragment.files.first().addChild(main)
inside
visitModuleFragment
FUN name:mymain visibility:public modality:FINAL <> () returnType:kotlin.Unit
BLOCK_BODY
CALL 'public final fun println (message: kotlin.Any?): kotlin.Unit declared in <http://kotlin.io|kotlin.io>' type=kotlin.Unit origin=null
message: CONST String type=kotlin.String value="Hello, World!"
Youssef Shoaib [MOD]
06/21/2022, 9:32 AMIrDeclarationOrigin.DEFINED
?sam
06/21/2022, 9:35 AMval main = pluginContext.irFactory.buildFun {
name = Name.identifier("mymain")
returnType = pluginContext.irBuiltIns.unitType
visibility = DescriptorVisibilities.PUBLIC
modality = Modality.FINAL
origin = IrDeclarationOrigin.DEFINED
}