小编ari*_*ray的帖子

在运行时将 Scala 3 代码从字符串解析为 Scala 3 AST

我的目标是将 Scala 3 代码作为字符串获取,并在运行时将其解析为 Scala 3 的抽象语法树。在这个过程中,如果代码有编译错误,我应该把它作为一些异常的一部分。更大的目标是,如果 Scala 代码有效,则以 Expr[T] 结束,并通过拼接正确的位来执行它(我已经介绍了这部分)。

这在 Scala 2.* 中是可行的,在这里使用 scala-reflect 。

val source =
  """
    |object HelloWorld {
    |  def main(args: Array[String]): Unit = {
    |    println("Hello, world!")
    |  }
    |}
    |
    |HelloWorld.main(Array())
    |""".stripMargin
val tree = toolbox.parse(source)
val binary = toolbox.compile(tree)
binary()
Run Code Online (Sandbox Code Playgroud)

但据我推测,在 Scala 3 中,不会移植 scala-reflect。我如何在 Scala 3 中实现相同的目标?

这里和这里的一些相关链接

reflection scala scala-3

7
推荐指数
1
解决办法
136
查看次数

为包目录外的文件启用 nyc/istanbul 代码覆盖

我有一个节点应用程序,其中包含单独的姐妹文件夹以及用于应用程序代码和测试的随附 package.json 文件。

Project
|
|-----Application
          |-----app.js
          |-----package.json
|-----Tests
        |
        |-------test.js
        |-------package.json  (nyc added here)
Run Code Online (Sandbox Code Playgroud)

nyc 作为依赖项(与 mocha 一起)包含在测试文件夹中。它无法显示应用程序文件夹中文件的覆盖范围。我尝试通过在 nyc 配置中包含“../Application/**/*.js”来显式包含应用程序文件,但这似乎不起作用。

有任何想法吗?

javascript mocha.js istanbul nyc

2
推荐指数
1
解决办法
2792
查看次数

标签 统计

istanbul ×1

javascript ×1

mocha.js ×1

nyc ×1

reflection ×1

scala ×1

scala-3 ×1