MaguyvaのJava対応: エンタープライズリポジトリのためのコードインテリジェンス
リポジトリがSpringのサービス、社内フレームワーク、そして組織のいくつもの時代を生き延びてきたコードで満ちているときに役立ちます。
拡張子
.java
Kotlinが簡潔なのは、配線を隠しているからです。apply、let、also、run、with は、this と it の意味を変えます。拡張関数は、ほかの場所で定義された型に振る舞いを付け加えます。コルーチンは launch、async、withContext をまたいで処理を移します。ファイルを1つずつ読むエージェントには、呼び出しは見えても、その背後にあるレシーバーは見えません。
Maguyvaはインデックス作成時にその構造をより多く解決するため、エージェントが関数の呼び出し元を尋ねると、本当の答えが返ってきます。
Maguyvaは .kt と .kts に対応しています。関数、クラス、オブジェクト、コンパニオンオブジェクトが抽出され、関数のシグネチャには拡張レシーバー、パラメーター名、デフォルト値、vararg パラメーターが記録されます。
呼び出しの関係はクラス修飾名を保持するため、OrderRepository.save はほかの save と区別されたままです。レシーバーの型付けは、apply と run の中の this、let と also の中の it、そして with の引数をたどるため、スコープ関数内の呼び出しも正しい型に解決されます。コルーチンビルダーとFlowの演算子(launch、async、withContext、coroutineScope、supervisorScope、flow、emit、delay、Channel)は意図的にグラフに残されます。
グラフには、継承、インターフェース実装、オーバーライド、インスタンス化、アノテーション、型参照、読み取りと書き込み、例外のスローとキャッチのエッジも記録されます。
CheckoutUseCase.invoke を呼び出しているのは誰で、どのViewModelからか?」(find_symbol、次に dependency_search の incoming)SyncWorker からネットワーククライアントまでの同期フローを追跡して。」(get_task_context)PaymentGateway を実装しているクラスはどれか?」(dependency_search)listOf、map、filter、println のようなヘルパーはグラフのエッジになりません。それらには text_pattern_search を使ってください。クイックスタートでリポジトリを接続し、互換性ページで対応マトリクスを確認してください。混在するコードベースでは、Javaガイドもご覧ください。
最適な用途
エージェントワークフロー
エンジンの詳細
役立つMCPエントリーポイント
定義と参照が必要なときに、クラス、ユースケース、拡張関数で使ってください。
APIを変更する前に、リポジトリやインターフェースに対してincomingのトラバーサルを使い、呼び出し元と実装クラスを確認してください。
「`SyncWorker` からネットワーククライアントまでの同期フローを追跡して」のようなプロンプトに使ってください。
関連ガイド
リポジトリがSpringのサービス、社内フレームワーク、そして組織のいくつもの時代を生き延びてきたコードで満ちているときに役立ちます。
拡張子
.java
Swiftでは、振る舞いはプロトコルとエクステンションに宿ります。エージェントには両方が見える必要があります。
拡張子
.swift