java – Haxe使用@:classCode

我找不到一个如何使用@:classCode的示例(将本机成员直接注入文件).这在编译时出现意外的无类型失败:

@:classCode
untyped __java__("public void paintComponent(Graphics g) {doStuff();}"); 

我不能简单地使用标准的Haxe代码来使用paintComponent()方法,因为Haxe吃@:重载方法(并且首先强制使用@:overload).

最佳答案 例如,它有一些例子:
in the Haxe standard library

@:classCode('override public string Message { get { return this.toString(); } }\n\n')
@:nativeGen @:keep @:native("haxe.lang.HaxeException")
private class HaxeException extends Exception

看起来类代码元数据有一个包含要插入的代码的字符串参数,应该在类声明中使用.

点赞