🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
Haxe标准库附带一组 工具类来简化宏的使用。这些类最好作为静态扩展使用,通过使用 haxe.macro.Tools ,可以被单独或者完整的带入到上下文中。这些类为: * ComplexTypeTools : 允许以一个人类可读的方式打印 ComplexType 实例 。也允许确定相对于 一个 ComplexType的 Type。 * ExprTools : 允许以一个人类可读的方式打印 Expr 实例。也允许迭代和映射表达式。 * MacroStringTools : 提供对宏上下文中的字符串和字符串表达式有用的操作。 * TypeTools : 允许以一个人类可读的方式打印 Type 实例。也提供一些对类型有用的操作,譬如统一(第3.5节)它们,或者得到它们的相应的 ComplexType 。 此外,haxe.macro.Printer 类有以一个人类可读格式打印各种类型的的公共方法。当调试宏的时候可以提供帮助。 >[warning] 花絮:tinkerbell 库 和 为什么使用Tools.hx > 我们学习了静态扩展,使用一个模块意味着所有它的类型被带入静态扩展上下文中。事实证明,这样一个类型也可以是一个对其它类型的typedef(第3.1节)。然后编译器将这个类型当作模块的一部分,并相应的延伸静态扩展。 这种“伎俩”最初在 Juraj Kirchheim 的 tinkerbell 库用于相同的目的。Tinkerbell 在它们进入Haxe编译器和标准库很久之前就提供许多有用的宏工具。它仍然是额外的宏工具主要的库,提供其它有用的功能。