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 ?sam
06/21/2022, 9:22 AMval 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
}
}
sam
06/21/2022, 9:25 AMfragment.files.first().addChild(main)
inside
visitModuleFragment
sam
06/21/2022, 9:25 AMFUN 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
}
sam
06/21/2022, 9:35 AM