Maguyva 對 Java 的支援:企業級儲存庫的程式碼智慧
當儲存庫充滿 Spring 服務、內部框架,以及歷經數個組織世代仍存活下來的程式碼時,這特別有用。
副檔名
.java
Kotlin 之所以簡潔,是因為它把連接關係藏了起來。apply、let、also、run 與 with 會改變 this 與 it 的意義。擴充函式會把行為附加到在別處定義的型別上。協程讓工作在 launch、async 與 withContext 之間流轉。一次只讀一個檔案的代理看得到呼叫,卻看不到呼叫背後的接收者。
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。最適合的情境
代理工作流程
引擎細節
實用的 MCP 進入點
需要定義與參照時,以類別、使用案例或擴充函式查找。
在變更 API 之前,對 repository 或介面使用 incoming 走訪,查看呼叫端與實作類別。
適合用於「追蹤從 `SyncWorker` 到網路用戶端的同步流程」這類提示。