C++ no Maguyva: grafos de classes e chamadas para grandes bases
C++ esconde o destino real de uma chamada atrás de namespaces, sobrecargas e dispatch virtual. O grafo ajuda um agente a encontrá-lo.
Extensões
.c, .c++, .cc, .cpp, +6 mais
O Maguyva oferece suporte a Swift com AST, símbolos e grafo, para que agentes de IA sigam protocolos, extensions, inicializadores e observers em código iOS e macOS.
Swift espalha um mesmo tipo por muitos lugares. Uma struct é declarada em um arquivo, ganha comportamento de extensions em outros três e se conforma a protocolos definidos em um pacote. Mudanças de estado se escondem em propriedades computadas e observers willSet / didSet. Um agente que lê um arquivo por vez perde a maior parte disso.
O Maguyva indexa essa estrutura, para que um agente veja juntos os membros, as conformidades e os chamadores de um tipo.
O Maguyva cobre .swift. Os símbolos chamáveis incluem funções, init e deinit, subscripts, getters e setters de propriedades computadas e observers willSet / didSet, então o código que muda estado pode ser buscado como símbolo em vez de ficar enterrado no corpo das propriedades.
Membros declarados em structs, enums, protocolos e extensions são qualificados pelo tipo dono (por exemplo CartStore.add), e membros adicionados em uma extension são atribuídos ao tipo estendido. Os nomes de definição têm parâmetros genéricos, listas de conformidade a protocolos e sufixos ? / ! removidos, então as buscas usam o nome simples. As chamadas preservam self. e a qualificação de classe, e trailing closures contam na aridade da chamada.
O grafo registra chamadas, conformidade a protocolos, herança, sobrescritas, instanciação, atributos, referências de tipo, leituras e escritas, e arestas de throw.
PaymentProvider e onde cada um é criado?” (dependency_search)CartStore.add e a partir de quais views?” (find_symbol, depois dependency_search incoming)get_task_context).swift é mapeado. Arquivos Storyboard e XIB não estão na lista de extensões, então as conexões do Interface Builder ficam fora do grafo.print, debugPrint, NSLog e asserções são filtradas das relações, então não são arestas do grafo. Use text_pattern_search para encontrá-las.Conecte um repositório pelo início rápido e depois confira a matriz de suporte na página de compatibilidade. Se você lança o mesmo produto no Android, leia o guia de Kotlin.
Uso ideal
Fluxos de trabalho de agente
Detalhes do motor
Pontos de entrada MCP úteis
Use com o nome de um tipo, protocolo ou método quando precisar da definição e das referências.
Use em um protocolo para encontrar os tipos que se conformam a ele, ou em incoming em um método para encontrar os chamadores.
Use para prompts como "explique como uma notificação push chega à tela da caixa de entrada".
Guias relacionados
C++ esconde o destino real de uma chamada atrás de namespaces, sobrecargas e dispatch virtual. O grafo ajuda um agente a encontrá-lo.
Extensões
.c, .c++, .cc, .cpp, +6 mais
Kotlin esconde muita fiação em receivers e lambdas. O grafo traz tudo de volta.
Extensões
.kt, .kts