問題タブ [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.

0 投票する
0 に答える
428 参照

scala - Scala コンパイラが生成した名前をデコードする方法

私たちのコードは、次のメッセージで Scala コンパイラを強制終了しています。

それを理解するために、私はあるべき姿を理解しようとしてTuple2$mcJD$spいます。のために生成されたクラス(Long, Double)ですか?これはどこかに文書化されていますか?ありがとう!


これまでに見つけたいくつかの手がかり:

おそらく、コンパイラの内部的なものと見なされ、どこにも文書化されていません。

0 投票する
3 に答える
919 参照

scala - この Scala コードをコンパイルする方法

次の内容の sumit.scala というファイルがあります

コマンドラインでコンパイルしようとしています

エラーなしでコンパイルされますが、実行すると

私はたくさんのエラーを受け取ります。私はscalaを初めて使用し、パフォーマンスの違いを確認するためにコンパイルされたら、このコードの時間を計ろうとしています。「total_select_values」をオブジェクトに入れてみましたが(ここに示すように)違いはありません。

助けてくれてありがとう!

Scala情報と実際のエラーで更新

Scala バージョン 2.11.4 Java 1.7.0_40

java.lang.NoSuchMethodException: sumit.main([Ljava.lang.String;) at java.lang.Class.getMethod(Unknown Source) at scala.reflect.internal.util.ScalaClassLoader$class.run(ScalaClassLoader.scala:66) ) scala.reflect.internal.util.ScalaClassLoader$URLClassLoader.run(ScalaClassLoader.scala:101) で scala.tools.nsc.CommonRunner$class.run(ObjectRunner.scala:22) で scala.tools.nsc.ObjectRunner$ で.run(ObjectRunner.scala:39) で scala.tools.nsc.CommonRunner$class.runAndCatch(ObjectRunner.scala:29) scala.tools.nsc.ObjectRunner$.runAndCatch(ObjectRunner.scala:39) で scala.tools .nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:65) で scala.tools.nsc.MainGenericRunner.run$1(MainGenericRunner.scala:87) で scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:98) scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:103) で scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala) で

0 投票する
1 に答える
1406 参照

scala - WartRemover でコンパイルする別の sbt 構成またはタスクを作成するにはどうすればよいですか?

WartRemoverは scalac プラグインです。通常はsbt plugin経由で設定されます。

の通常の実行に影響を与えることなく、別の構成またはタスクとして sbt プロジェクトで WartRemover を実行できるようにしたいと考えていますcompile

私に Wartremover を追加した後、plugins.sbt私は次のいくつかのバリエーションを試しました。

その後、新しい構成内と構成scalacOptions内に、私が期待していたものが大まかに含まれていました。しかし、デバッグ モードで sbt を実行して scalac へのコマンド ライン引数を確認できるようにすると、両方のコマンドまたはどちらのコマンドもスイッチを通過しませんでした。スイッチしか表示されていなかったので、それは驚くべきことでした。lintcompilelint:compilecompile-P:wartremover:...lint:scalacOptions-P:wartremover:...

影響を与えずに WartRemover でコンパイルする別の sbt 構成またはタスクを作成するにはどうすればよいcompile:compileですか?

0 投票する
1 に答える
590 参照

scala - RegexParser の Phase Typer で Scalac がハングする

私は、とりわけパーサーコンビネーターを備えたscalaプログラムを持っています。これは、 を拡張することによって行われscala.util.parsing.combinator.RegexParsersます。Scala 2.10 を使用して開発しましたが、すべて正常に動作していました。

昨日、システムを IntelliJ 14.02 とともに Scala 2.11.4 にアップグレードしました (それは問題ではありません)。

ただし、このプログラムを今コンパイルしようとすると、scalacこの段階でハングします。

scalac: phase typer on MyParser.scala

このコードには何も変更を加えていません。なぜハングしているのか、どこから始めればよいのかわかりません。IntelliJでは、トークンの後にandが続くconstants_def?or などのパーサー式の後置演算子について警告がありました。 SIP : Language Modularization Featuresのために、次の行を追加しました。structure_def*?*

import scala.language.postfixOps

実際には何の効果もありませんでしたし、問題はまだ同じです。

何が起こっているのかをトラブルシューティングするにはどうすればよいですか? フェーズタイパーが無期限にぶら下がっている理由を理解し始める場所がわかりません。

0 投票する
1 に答える
164 参照

scala - アクセス可能な値の型を持たないパス依存型クラスの証拠を解決できません

この事実を発見するのに 1 時間ほど立ち往生しました。

その理由がわかりません。私が考えることができる唯一のことは、scalac は、どのプレフィックスでもアクセスできる値の型を持たない型内で暗黙を見つけられないということです。参照できません。Scalac は明らかにFoo.this.fooそれにアクセスして暗黙を解決する必要がありますが、この場合はできません。

型クラスとパス依存型を組み合わせると、実質的に運命づけられているように感じます。この種のものを扱うことになります。そうしないとscalacはAPIメソッドの型を推測できず、ユーザーはそれらを明示的に宣言する必要があるためです。そこで、この種の設計を選択して、型が構築されFoo[T]、API メソッドが既存の型を使用するようにしましたが、いくつかの本当に醜い問題とこの種のバグに遭遇し、私のアプリは過度に設計されたがらくたのように見えました...