Eclipse の Xtext フレームワークを使用して DSL を開発しています。
コンテンツ アシスト/コード補完のために、文字列のリストを生成する高価なプロセスがあります。
そのプロセスの結果をキャッシュするにはどうすればよいですか?
長い話: Groovy スクリプトとの私の DSL インターフェイス。スクリプトは、DSL の特定の場所で提供するメソッドを提供します。これは、正規表現を使用してスクリプトのメソッドを解析する場合でも、かなり遅いです。そこで、スクリプト解析の結果をキャッシュしたいと思います。
私の分析によると、分析コードは検証中 (常にエディターを持っているとは限りません)、およびユーザーが DSL ファイルを開くときに呼び出されます。
検証がいつ終了したかを知る方法はありません (コードはプライベート メソッドにあり、Xtext 開発者はそれを変更することを拒否しています)。しかし、これは Eclipse 用のエディター/コンパイラーを作成する際の一般的な問題であるに違いないと考えています。他の人はこの問題をどのように解決しますか? Eclipse フレームワークにキャッシング サービスはありますか?