問題タブ [scala-reflect]

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

android - sbt-android: Android で scala-reflect を使用できません: java.rmi.Remote が見つかりません

Android 開発に scala-reflect パッケージを使用しようとしています。build.sbt に scala-reflect 依存関係を追加しました。

しかし、例外があります:

の Java ソースを追加してプロジェクトをビルドしようjava.rmi.Remoteとしましたが(sbt が dexCoreLibrary オプションを見つけられなかったため)、正常にビルドされましたが、実行時エラーが発生しました。java.rmi.RemoteExceptionandroid:package --core-library

そうでなければ、scala.reflect がそれを使用できるように、java.rmi 依存関係を追加することは可能ですか?

メソッド Option.orDefault の実装のコンテキストで scala.reflect ライブラリを使用しています。

Option.orDefault のより良い実装 (おそらく scala.reflect なし) を知っている場合は、お知らせください。

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

scala - オブジェクト thrift によって生成されたメソッド パラメータを含む不正な循環参照

リサイクル サービス エンドポイントのパラメーターのすべてのメンバーを一覧表示しようとしています。

それから私は得たillegal cyclic reference involving object method_args

これは、method_args が MyService 内の静的クラスだからでしょうか。特別な入手方法はありますか?試してみval paramsClass = mirror.staticClass("mytest.thrift.MyService$method_args")ましたが、すぐに同じエラーが発生します。

誰でもこれを解決する方法を提案できますか?

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

scala - 「reify」に似た Tree に評価される Scala マクロの書き方

Treeプログラム スニペットをキャプチャし、実行時に使用できるようにするマクロを作成したいと考えています。基本的に、の機能が必要ですreifyが、別の構文に埋め込んでいます。コンパニオン オブジェクトを呼び出しapply、いくつかのコードを提供し、提供されたコードを新しく作成された Workload オブジェクトのメンバーに格納したいと考えています。WorkloadTree

残念ながら、reifyマクロなので転送できません。に似た独自のマクロを作成する必要があると思いreifyます。Treeしかし、マクロから aを返す方法がわかりません。ソースにreifyは、ハードワイヤードな実装が言及されているだけです。

これはどのように達成できますか?

アップデート

私の要点を強調するために小さな例を書きました

欠けている唯一のものは、に変わる方法exprですc.Expr[Expr[Unit]]

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

scala - ToolBox から解析されたパッケージ内のコードをタイプチェックするために Scala リフレクションを使用するにはどうすればよいですか?

次の簡単な例 (Scala 2.11.8 で実行):

toolbox.typecheck(tree)行で次の例外が発生します。

型チェックされた AST ツリーを取得するにはどうすればよいですか??

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

scala - コンパイル時にパッケージ内のクラスを一覧表示する

コンパイル時にパッケージ内のすべてのクラスをリストしようとしています。

次の構造を持つプロジェクトを定義しましょう。

どこ:

Method.scala

Method1.scala と Method2.scala (それぞれの名前を変更)

Main.scala から com.package._ で定義されているクラスのリストを次のように取得したいと考えています。

(表示されているように) 名前をハードコードすることはできましたが、コンパイル時にこれらの名前を取得できるかどうか疑問に思っていました。実行時にhttp://software.clapper.org/classutil/を使用できることを知っています