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)는 의도적으로 그래프에 남겨 둡니다.
그래프에는 상속, 인터페이스 구현, 오버라이드, 인스턴스화, 어노테이션, 타입 참조, 읽기와 쓰기, 예외 throw와 catch 엣지도 기록됩니다.
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