Maguyva 對 Kotlin 的支援:Android 與 JVM 的程式碼圖譜
Kotlin 把大量連接關係藏在接收者與匿名函式裡。圖譜把它們找回來。
副檔名
.kt, .kts
Dart 會把一個型別分散到多種結構裡。一個類別可以繼承一個基底類別、實作多個介面,並透過 with 混入 mixin 的行為。擴充方法把成員附加到別處定義的型別上,命名建構函式和 factory 建構函式則隱藏了實際建構的是哪個類別。文字搜尋能找到名字,卻找不到名字背後的結構。
Maguyva 把這些結構交給代理,讓它能從元件一路追蹤到所依賴的服務。
Maguyva 支援 .dart 檔案。類別、mixin 和擴充會作為型別擷取。structural_search 中的 functions 預設集涵蓋函式、方法、區域函式、lambda,以及生成式、const 和 factory 建構函式。簽章會記錄可選的位置參數組和命名參數組以及 static 成員,定義名會去掉末尾的 ? 和 !。
匯入會正規化 import、part 和 library 指令,並去掉其中的 show、hide 和 as 子句。透過匯入字首發起的呼叫,例如 import 'package:http/http.dart' as http 之後的 http.get,會保留在圖譜中。
接收者型別推斷會追蹤參數、帶型別和已初始化的變數、getter,以及遍歷清單、集合和可迭代物件的 for-in 迴圈,並把 var 和 dynamic 視為推斷型別。解析繼承成員時會追蹤 extends、implements 和 with 子句。圖譜還會記錄實例化、型別參照、讀寫和例外邊。
CartRepository.addItem,來自哪些元件?」(先用 find_symbol,再用 dependency_search 的 incoming 方向)PaymentGateway?」(dependency_search)get_task_context)map、where 和 forEach 等集合輔助函式,then 和 listen 等 Future 與 Stream 方法,以及 dart: 函式庫。查詢它們請使用 text_pattern_search。structural_search 的結果中,區域函式或 lambda 可能與包含它的可呼叫物件重疊,getter 和 setter 會顯示為方法簽章。透過快速入門連接儲存庫,然後在相容性頁面檢視支援矩陣。其他行動裝置程式碼庫請閱讀 Kotlin 指南和 Swift 指南。
最適合的情境
代理工作流程
引擎細節
實用的 MCP 進入點
需要元件、repository 或服務類別的定義和參照時使用它。
修改 API 之前,對 repository 方法或介面使用 incoming 方向走訪,檢視呼叫端和實作者。
用於「追蹤結帳按鈕如何到達支付 API」這類提示。