"x", &Vector3::x)
.property("y", &Vector3::y)
.property("z", &Vector3::z)
.function...("DotProduct", &Vector3::DotProduct);
);
即可以完成对它的构造函数以及几个属性的反射注册, 然后我们就可以通过反射库来使用它了....libclang 的数据层, 当然, 这个数据层肯定也是通过 libclang 原生的回调方式一次性获取的, 这样离线工具与 libclang 的原生 AST就解耦了, 也不会有 libclang 回调和多次获取数据不便的问题了...因为我们原有的实现是基于 token 解析来实现的, 编译期的宏显然不能很好的在这种情况下被正确处理...., 已经标记为 deprecated 了, 但token 解析始终是一种保底实现机制, 我们会保留相关的 Tokenizer 的代码, 在一些 ClangSharp 没有办法实现相关功能的情况谨慎的使用它们来实现一些复杂功能