Maguyva의 Java 지원: 엔터프라이즈 저장소를 위한 코드 인텔리전스
저장소가 Spring 서비스, 내부 프레임워크, 여러 차례 조직이 바뀌는 동안에도 살아남은 코드로 가득할 때 유용합니다.
확장자
.java
Scala에서는 이름 하나가 많은 것을 담습니다. 트레이트, 그 동반 객체, 케이스 클래스가 하나의 개념을 공유할 수 있습니다. 패턴 매칭은 case 절 안에서 새 이름을 바인딩하고, 클래스 안에서 리시버 없이 호출된 메서드는 this에 대한 호출입니다. 한 번에 파일 하나씩 읽는 에이전트는 이름은 봐도 그것이 무엇으로 해석되는지는 보지 못합니다.
Maguyva는 인덱싱 시점에 그중 더 많은 부분을 해석하므로, 에이전트가 메서드의 호출자를 물으면 바로 행동으로 옮길 수 있는 답을 얻습니다.
Maguyva는 .scala와 .sc 파일을 지원합니다. 클래스, 객체, 트레이트는 타입으로 추출되고, structural_search의 functions 프리셋은 def 선언과 정의, 그리고 람다를 다룹니다. 시그니처에는 반복(*) 매개변수가 기록되고, 임포트에서는 _root_ 접두사가 제거됩니다.
호출 관계는 클래스로 한정된 이름을 유지하며, 클래스 안에서 리시버 없이 호출하면 그 클래스 자신의 메서드로 해석됩니다. 리시버 타입 추론은 매개변수, 클래스 매개변수, val와 var 정의, case 절 안의 타입 패턴과 케이스 클래스 패턴, 클래스, 객체, 트레이트에 있는 메서드의 반환 타입, 타입 별칭, 그리고 extends 절을 따라갑니다. 대문자로 시작하는 타입에 대한 new는 인스턴스화로 계산됩니다.
Scala에서는 적용 대상 아님으로 표시된 관계 유형이 없으므로, 그래프에는 상속, 오버라이드, 타입 참조, 읽기와 쓰기, 제어 흐름, 예외 엣지도 기록됩니다.
PaymentService.capture를 누가 호출하고, 어떤 라우트에서 호출하나요?” (find_symbol, 그다음 dependency_search incoming)EventHandler를 확장하는 클래스와 객체는 무엇인가요?” (dependency_search)get_task_context)map, flatMap, foldLeft 같은 컬렉션 연산과 Option, Either, Try, Future, Predef 헬퍼입니다. this에 대한 호출이나, 타입이 여러분의 클래스로 해석되는 값에 대한 호출은 이름이 목록에 있어도 유지됩니다. 그래도 호출자가 빠진 것처럼 보이면 text_pattern_search를 사용하세요.A, F, CC 같은 짧은 타입 매개변수와 Any, Unit, Nothing 같은 루트 타입은 타입 참조에서 걸러집니다.빠른 시작으로 저장소를 연결한 다음, 호환성 페이지에서 지원 매트릭스를 확인하세요. JVM 혼합 코드베이스라면 Java 가이드와 Kotlin 가이드도 읽어 보세요.
가장 적합한 경우
에이전트 워크플로
엔진 세부 정보
유용한 MCP 진입점
트레이트, 객체, 서비스 메서드의 정의와 참조가 필요할 때 사용하세요.
시그니처를 바꾸기 전에 트레이트나 메서드에 incoming 탐색을 사용해 구현체와 호출자를 확인하세요.
"주문 이벤트가 원장 기록기까지 어떻게 이어지는지 추적해 줘" 같은 프롬프트에 사용하세요.
관련 가이드
저장소가 Spring 서비스, 내부 프레임워크, 여러 차례 조직이 바뀌는 동안에도 살아남은 코드로 가득할 때 유용합니다.
확장자
.java
Kotlin은 많은 연결을 리시버와 람다 속에 숨깁니다. 그래프가 그것을 되찾아 줍니다.
확장자
.kt, .kts