使用反射为 class 实例生成 Scala 源代码
Generate scala source for a class instance using reflection
假设您有一个 class 的实例。
生成有效的 Scala 源代码的最佳方法是什么,该代码可以在运行时写入该实例的文件并进行编译?
(利用 scala reflection-api/macros?)
是否可以将 AST 表示解析为源代码?
不,这不可能。 Class 文件包含与 Scala 无关的 JVM 字节码。您可以尝试使用 Java-反编译器(例如 http://varaneckas.com/jad/),但您将无法获得可读的内容。
据我所知,scala 正在向新平台 (Dotty) 迈进,也许将来会成为可能。
假设您有一个 class 的实例。 生成有效的 Scala 源代码的最佳方法是什么,该代码可以在运行时写入该实例的文件并进行编译? (利用 scala reflection-api/macros?) 是否可以将 AST 表示解析为源代码?
不,这不可能。 Class 文件包含与 Scala 无关的 JVM 字节码。您可以尝试使用 Java-反编译器(例如 http://varaneckas.com/jad/),但您将无法获得可读的内容。
据我所知,scala 正在向新平台 (Dotty) 迈进,也许将来会成为可能。