使用 @:classCode 的 Haxe

Haxe use of @:classCode

我找不到一个示例来说明如何使用 @:classCode(将本机成员直接注入到文件中)。这在编译时以 Unexpected untyped 失败:

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

我不能简单地使用标准的 Haxe 代码来获得 paintComponent() 方法,因为 Haxe 吞噬 @:overload 方法的方式(并且首先强制使用 @: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

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