+ # Generate wrapper code for this extern method
+ fun compile_extern_method(block: AExternCodeBlock, m: AMethPropdef,
+ ecc: CCompilationUnit, nmodule: MModule) is abstract
+
+ # Generate wrapper code for this extern class
+ fun compile_extern_class(block: AExternCodeBlock, m: AClassdef,
+ ecc: CCompilationUnit, mmodule: MModule) is abstract
+
+ # Get the foreign type of this extern class definition
+ fun get_ftype(block: AExternCodeBlock, m: AClassdef): ForeignType is abstract
+
+ # Generate the code to offer this callback if foreign code
+ fun compile_callback(callback: NitniCallback, mmodule: MModule,
+ mainmmodule: MModule, ecc: CCompilationUnit) is abstract
+
+ # Complete compilation of generated code
+ fun compile_to_files(mmodule: MModule, directory: String) do end