说说universe和context是什么?(反射和宏)

⭐️⭐️⭐️⭐️⭐️⭐️⭐️

  1. universe是反射API的环境,universe有两个实现,包括运行时反射(JVM)和编译期反射(宏),提供了访问Types、Trees、Annotations等结构的API。

    1. 虽然此处也是JVM运行时反射,但并不能使用Java反射来操作Scala特有的数据结构/类型,比如Scala注解。

    2. universe的里面的信息是通过使用Mirror来获取,这是反射的核心。

  2. context是上下文,在Scala2的宏编程中,它包括黑盒和白盒,白盒的类型检查(或推断)不严谨,因此具有更大灵活性的,黑盒更安全,更易于使用和代码可读性更好。

Last updated