【发布时间】:2014-03-31 21:21:22
【问题描述】:
我想知道如何从宏中的类(及其方法)中读取元数据。
我尝试修改this example。
我添加了: 以查看没有它们的元数据是否仅在生成的代码中可用,但什么都没有。在所有三种情况下我的结果都是空的。有什么想法吗?
@:author("Nicolas")
@debug
class MyClass {
@:range(1, 8)
var value:Int;
@broken
@:noCompletion
static function method() { }
}
class Boot {
static public function main() {
test();
}
macro public static function test() {
trace(haxe.rtti.Meta.getType(MyClass)); // { author : ["Nicolas"], debug : null }
trace(haxe.rtti.Meta.getFields(MyClass).value.range); // [1,8]
trace(haxe.rtti.Meta.getStatics(MyClass).method); // { broken: null }
return haxe.macro.Context.makeExpr({}, haxe.macro.Context.currentPos());
}
}
【问题讨论】: