Підтримка Java у Maguyva: інтелект коду для корпоративних репозиторіїв
Корисно, коли репозиторій наповнений сервісами Spring, внутрішніми фреймворками та кодом, що пережив кілька організаційних епох.
Розширення
.java
Maguyva підтримує Kotlin з AST, символами та графом, щоб ШІ-агенти відстежували класи, функції-розширення й корутини в коді Android і JVM.
Kotlin лаконічний, бо ховає зв’язки. apply, let, also, run і with змінюють значення this та it. Функції-розширення додають поведінку типам, визначеним деінде. Корутини переносять роботу між launch, async і withContext. Агент, що читає по одному файлу, бачить виклики, але не отримувачів за ними.
Maguyva розв’язує більше такої структури ще під час індексації, тож агент може спитати, хто викликає функцію, і отримати справжню відповідь.
Maguyva охоплює .kt і .kts. Витягуються функції, класи, об’єкти й об’єкти-компаньйони, а сигнатури функцій фіксують отримувачів розширень, назви параметрів, значення за замовчуванням і параметри vararg.
Зв’язки викликів зберігають назви з кваліфікацією класом, тож OrderRepository.save відрізняється від будь-якого іншого save. Типізація отримувачів відстежує this всередині apply і run, it всередині let і also, а також аргумент 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