Поддержка 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