Kotlin no Maguyva: grafos de código para Android e JVM
Kotlin esconde muita fiação em receivers e lambdas. O grafo traz tudo de volta.
Extensões
.kt, .kts
O Maguyva oferece suporte a Dart com AST, símbolos e grafo, para que agentes de IA sigam classes, mixins, extensões e construtores em código Flutter e Dart.
Dart espalha um mesmo tipo por várias construções. Uma classe pode herdar de uma classe base, implementar várias interfaces e incorporar comportamento de mixins com with. Métodos de extensão anexam membros a tipos definidos em outro lugar, e construtores nomeados e factory escondem qual classe é realmente construída. Uma busca de texto encontra os nomes, mas não a estrutura por trás deles.
O Maguyva entrega essa estrutura ao agente, para que ele possa seguir uma mudança de um widget até o serviço do qual ele depende.
O Maguyva cobre arquivos .dart. Classes, mixins e extensões são extraídos como tipos. O preset functions do structural_search cobre funções, métodos, funções locais, lambdas e construtores generativos, const e factory. As assinaturas registram grupos de parâmetros posicionais e nomeados opcionais e membros static, e os nomes de definição perdem o ? ou ! final.
Os imports normalizam as diretivas import, part e library e removem suas cláusulas show, hide e as. Uma chamada por meio de um prefixo de import, como http.get depois de import 'package:http/http.dart' as http, permanece no grafo.
A tipagem de receivers segue parâmetros, variáveis tipadas e inicializadas, getters e loops for-in sobre listas, conjuntos e iteráveis, e trata var e dynamic como tipos inferidos. As cláusulas extends, implements e with são seguidas ao resolver membros herdados. O grafo também registra instanciação, referências de tipo, leituras e escritas e arestas de exceção.
CartRepository.addItem, e de quais widgets?” (find_symbol, depois dependency_search incoming)PaymentGateway?” (dependency_search)get_task_context)map, where e forEach, métodos de Future e Stream como then e listen, e as bibliotecas dart:. Use text_pattern_search para encontrá-los.structural_search uma função local ou lambda pode se sobrepor ao invocável que a contém, e getters e setters aparecem como assinaturas de método.Conecte um repositório pelo início rápido e depois confira a matriz de suporte na página de compatibilidade. Para outras bases de código mobile, leia o guia de Kotlin e o guia de Swift.
Uso ideal
Fluxos de trabalho de agente
Detalhes do motor
Pontos de entrada MCP úteis
Use para uma classe de widget, repositório ou serviço quando precisar da definição e das referências.
Use a travessia incoming em um método de repositório ou interface para ver chamadores e implementações antes de mudar uma API.
Use para prompts como "rastreie como o botão de checkout chega à API de pagamentos".
Guias relacionados
Kotlin esconde muita fiação em receivers e lambdas. O grafo traz tudo de volta.
Extensões
.kt, .kts
Em Swift, o comportamento mora em protocolos e extensions. Um agente precisa ver os dois.
Extensões
.swift