問題タブ [scalameta]

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 投票する
3 に答える
1663 参照

scala - 未使用のコードをすべて削除する Scala ツール

私が使用するエディター用の Scala プラグインを作成しています。これは、使用されていないすべてのコード パス (使用されていないdefsvalsclassesおよびである可能性がありますimplicits) を強調表示し、それらをファイルからヤンクするオプションをユーザーに提供し.scalaます。

これどうやってするの?問題を単純化するために、ライブラリやその他のコード ファイルへの外部依存関係のないルート レベルファイルが1 つだけあると仮定しましょう。.scala

理想的には、これを SBT プラグインにして、そのようなファイルを 1 つ指定すると、未使用のコードがすべて削除されたファイルをFoo.scala吐き出すことを望みます。Foo_min.Scala

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

scala - scala.reflect を scala.meta に置き換えると、ClassTags と TypeTags はどうなりますか?

それとも、これは関連していますか?

私が念頭に置いているのは、次のようにClassTagまたはTypeTag注釈を使用することです。

結果:

ご覧のとおりTypeTag、暗黙の引数を追加するコンパイラによって認識されます。に相当するものはありscala.metaますか? これはどのように機能し、消去の処理方法に変更はありますか?

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

scala - マクロ注釈 (インラインメタ) でシュガー、フォーマット、および空白を保持する方法は?

Scala 関数を外部形式にエクスポートしています。この目的のために、私は と を使用scala.metaStaticAnnotationます。何かのようなもの:

関数の本体の実装でExportFunctions extends StaticAnnotationは、脱糖ツリーとして表されますx.max(y)

ただし、文書化の目的では、実際のソース コードがある方がはるかに優れています。または少なくとも砂糖(x max y)。

元のフォーマット/砂糖を保存する方法はありますか?

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

scala - オブジェクトの Scala-Meta Parse を使用するにはどうすればよいですか?

既存のオブジェクトから別のケース クラスを生成できるように、Scala メタを使用して注釈を記述しようとしています。

しかし、私がこれをやろうとすると:

このエラーが発生しました:

エラー:(5, 20) メソッド解析のための十分な引数がありません: (暗黙的な変換: scala.meta.common.Convert[domain.MyObject.type,scala.meta.inputs.Input]、暗黙的な解析: scala.meta.parsers. Parse[scala.meta.Source]、暗黙的な方言: scala.meta.Dialect)scala.meta.parsers.Parsed[scala.meta.Source]。指定されていない値パラメーターは、変換、解析、方言です。MyObject.parse[ソース].show[構造];} ^

彼らのチュートリアルに基づいて、 http://scalameta.org/tutorial/#.parse[T]から始める必要があるため、私は非常に混乱してい ます

このオブジェクトを反映して、すべてのプロパティをループするにはどうすればよいですか?

ありがとう