【发布时间】:2016-11-04 14:51:51
【问题描述】:
我正在尝试通过生成字段定义来为 JSON 文件实现代码完成宏
var classOfChild = Type.getClass(child); // `child` may look like this array: [[1,2,3],[0.1,0.2,0.3]]
fields.push({
"name": childName,
"pos" : _pos,
"kind": childType,
});
我已经观看了一些视频并阅读了一些关于此的教程,但是没有关于如何从 Type.typeof(object) 结果中获取 ComplexType 的信息。
我尝试过不起作用的代码:
//"kind": childType,
//"kind": childType.toString(),
//"kind": FVar(macro {childType.toString(); }),
//"kind": FVar(macro Array<$v{arrType}>)
但它们都不起作用(它们都引发了一些错误或)
编辑 1: 这是我的 json 数据:
{"floatVar1":0.1, "str":"some string", "nullValueObject":null, "arrayOfInts":[11,20,9], "matrixLikeArray":[[14, 12, 13, 11, 18]], "floatMatrix":[[14.4, 12.3, 13.7, 11.9, 18.0]], "symbolPayouts":[0.05], "objectInObject":{"prop1":"some str", "prop2": "some str2", "prop3":10.17, "prop4":[[1,2,3],[19.3,20.4]]}}
我想为prop4 ("prop4":[[1,2,3],[19.3,20.4]]) 创建定义
编辑 2: 我已经弄清楚如何为简单类型 ("kind": FVar(macro:Dynamic)) 和对象 (kind : FVar(TAnonymous( jsonFields ))) 创建“种类”。但是如何为数组、数组数组等做到这一点。
编辑3:gist.github.com中的代码
【问题讨论】:
-
你可能也想看看这篇文章/视频code.haxe.org/category/macros/completion-from-url.html
标签: macros haxe code-completion