Maguyva의 C++ 지원: 대규모 코드를 위한 클래스와 호출 그래프
C++는 진짜 호출 대상을 네임스페이스, 오버로드, 가상 디스패치 뒤에 숨깁니다. 그래프는 에이전트가 그것을 찾도록 돕습니다.
확장자
.c, .c++, .cc, .cpp, +6개 더보기
Swift는 한 타입을 여러 곳에 펼쳐 놓습니다. 구조체는 한 파일에서 선언되고, 다른 세 파일의 익스텐션에서 동작을 얻으며, 패키지에 정의된 프로토콜을 준수합니다. 상태 변화는 계산 프로퍼티와 willSet / didSet 옵저버 속에 숨어 있습니다. 파일을 하나씩 읽는 에이전트는 그 대부분을 놓칩니다.
Maguyva는 그 구조를 인덱싱하므로, 에이전트는 한 타입의 멤버, 준수 관계, 호출자를 함께 볼 수 있습니다.
Maguyva는 .swift를 지원합니다. 호출 가능한 심볼에는 함수, init과 deinit, 서브스크립트, 계산 프로퍼티의 getter와 setter, willSet / didSet 옵저버가 포함되므로, 상태를 바꾸는 코드가 프로퍼티 본문에 묻히지 않고 심볼로 검색됩니다.
구조체, 열거형, 프로토콜, 익스텐션 안에 선언된 멤버는 소유 타입으로 한정되며(예: CartStore.add), 익스텐션에서 추가된 멤버는 확장된 타입에 귀속됩니다. 정의 이름에서는 제네릭 매개변수, 프로토콜 준수 목록, ? / ! 접미사가 제거되므로 조회는 순수한 이름으로 이루어집니다. 호출은 self.와 클래스 한정을 유지하고, 후행 클로저도 호출 인자 수에 포함됩니다.
그래프는 호출, 프로토콜 준수, 상속, 오버라이드, 인스턴스화, 속성(attribute), 타입 참조, 읽기와 쓰기, throw 엣지를 기록합니다.
PaymentProvider를 준수하는 타입은 무엇이고, 각각 어디서 생성되나요?” (dependency_search)CartStore.add를 누가 호출하고, 어떤 뷰에서 호출하나요?” (find_symbol, 그다음 dependency_search incoming)get_task_context).swift 소스뿐입니다. Storyboard와 XIB 파일은 확장자 목록에 없으므로, Interface Builder의 연결은 그래프 밖에 있습니다.print, debugPrint, NSLog, 어서션 같은 표준 라이브러리와 Foundation 호출은 관계에서 걸러지므로 그래프 엣지가 아닙니다. 이런 호출에는 text_pattern_search를 사용하세요.빠른 시작으로 저장소를 연결한 다음, 호환성 페이지에서 지원 매트릭스를 확인하세요. 같은 제품을 Android에도 출시한다면 Kotlin 가이드를 읽어 보세요.
가장 적합한 경우
에이전트 워크플로
엔진 세부 정보
유용한 MCP 진입점
정의와 참조가 필요할 때 타입, 프로토콜, 메서드 이름으로 쓰세요.
프로토콜에 쓰면 준수하는 타입을, 메서드에 incoming으로 쓰면 호출자를 찾을 수 있습니다.
“푸시 알림이 받은 편지함 화면에 어떻게 도달하는지 설명해 줘” 같은 프롬프트에 쓰세요.
관련 가이드
C++는 진짜 호출 대상을 네임스페이스, 오버로드, 가상 디스패치 뒤에 숨깁니다. 그래프는 에이전트가 그것을 찾도록 돕습니다.
확장자
.c, .c++, .cc, .cpp, +6개 더보기
Kotlin은 많은 연결을 리시버와 람다 속에 숨깁니다. 그래프가 그것을 되찾아 줍니다.
확장자
.kt, .kts