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 方向,可找到调用方。
适用于“解释一条推送通知是如何到达收件箱界面的”这类提示词。
相关指南