问题标签 [scalac]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 如何使用使用 scalac 命令编译的文件?
我有一个名为的文件Hello.scala
,其中包含以下简单代码:
我使用以下命令编译它:
结果是两个名为HelloWorld.class
和的文件HelloWorld$.class
。这些文件是什么?如何使用这些文件?
注意:我的问题不是重复文件。我想知道这些文件是什么以及如何执行它们?
感谢您的回答
scala - 提取 Scala 项目的完整调用图(困难的一个)
我想从给定的 Scala 项目中提取所有方法的调用图,这些方法是项目自身源代码的一部分。
据我了解,演示编译器并没有启用它,它需要一直向下到实际的编译器(或编译器插件?)。
您能否建议完整的代码,它可以安全地适用于大多数 scala 项目,但那些使用最古怪的动态语言功能的项目?对于调用图,我的意思是一个有向(可能是循环的)图,包括class/trait + method
顶点,其中边 A -> B 表示 A 可以调用 B。
应避免调用/从库调用或“标记”为项目自身源之外的调用。
编辑:
请参阅我的宏天堂衍生原型解决方案,基于@dk14 的领导,作为下面的答案。托管在https://github.com/matanster/sbt-example-paradise的 github 上。
scala - 获取案例类自动生成方法的来源
如何获得一个案例类的所有自动生成的方法的代码,以便在重构为常规(非案例)类时干净地保留它们中的任何一个?是否有一些编译标志可以揭示案例类的自动生成方法,或者其他方式,最终将其减少为剪切和粘贴?
我的印象是有编译标志来显示自动扩展的定义......
scala - 如何使用 Leon 的库使用 scalac 构建?
我正在尝试直接使用 scalac 编译我的 Leon 代码。不幸的是,我无法正确构建代码所依赖的 Leon 库。
例如,我跑了
但这实际上会返回错误:
应该将什么传递给 scalac 以避免库中的这些错误并最终编译我自己的源文件?
谢谢!
scala - 在 Scala 中,类型如何通过模式匹配流动?
这个要点(这个Haskell 无标记解释器的部分 Scala 端口)用scalac
2.11.1编译,但在更新的2.11.6 中失败:
如何scalac
通过 的模式匹配传播类型:::
?从2.11.1
变成2.11.6
什么?我试过查看输出,scalac -print
但scalac -Xprint-types
没有发现它们有帮助。
查看完整代码的要点,但大致上,我们有
scala - 在 Scala 编译错误中省略包名
我们的包名很长,而且当你包括在类型不匹配错误中提到的类型中可能有多个类型参数的事实时,我从 scalac 得到的一些编译错误可能很长,而且在精神上很烦人跳过错误消息中的包名称。
理想情况下,我希望所有标识符都以与它们在相应源文件中相同的方式显示(即,如果它们是合格的,则为合格的,如果不是,则只是简单的名称),但我意识到这可能很难实现。所以我会选择隐藏包名称。
我使用 ENSIME,因此能够在 ENSIME 的编译错误中隐藏/显示包名称会很好。
scala - Scala编译器中间代码规范
Scala编译器生成的中间代码是否有任何正式的规范或详细描述(-Xprint-icode
即将选项传递给scalac)?
谢谢。
java - 使用 Scala Compiler API 提取在 scala 源文件中定义的所有符号
我正在尝试使用 Scala Compiler API 从 Java 应用程序中提取在 scala 源文件中定义的所有(但我最感兴趣的是类/对象)符号。
我可以使用 scala.tools.nsc.Global.Run.compileSources 编译源文件,但是如何提取那里定义的所有符号?
Run、CompilationUnit 和 Global 都没有提供用于检索所有符号的 API。
我是否试图用错误的方式解决问题?:)
scala - 未找到编译器镜像中的对象 scala - 以编程方式运行 Scala 编译器 [无 sbt - 无 IDE]
[编辑:添加评论中要求的精度]
我正在尝试以编程方式运行编译器并得到“缺少依赖项'编译器镜像中的对象 scala'”错误。我在编译器镜像中找不到这个帖子对象 scala - 以编程方式运行 Scala 编译器(但它只解释了如果我们从 sbt 而不是从外部启动程序时如何解决问题)。
所以我在这里复制/粘贴示例:
以及从 SBT 启动时使其工作的解决方案:
我正在尝试通过将来自 sbt 的 fullClassPath 值作为类路径传递来直接从终端启动这两个版本:
java -version 在哪里给出
每次我收到以下错误:
所以我的问题是双重的:
有人可以向我解释上述帖子中显示的“魔术”是如何工作的吗?(我没有得到 embeddedDefaults 方法的注释)
有人可以给出一个同样神奇的技巧来从终端运行操场吗?
jar - 我在哪里放置 Scala jar 库在 Windows 中?
我已经为 Eclipse 安装了 scala-async.jar (编辑 .classpath 文件很容易),但我也想用命令行 scala 编译/运行它。Scalac
说object async is not a member of package scala
。我应该把罐子放在哪里?