Kotlin dans Maguyva : des graphes de code pour Android et la JVM
Kotlin cache beaucoup de câblage dans les receveurs et les lambdas. Le graphe le rend visible.
Extensions
.kt, .kts
Maguyva prend en charge Dart avec AST, symboles et graphe, pour que les agents IA suivent classes, mixins, extensions et constructeurs dans le code Flutter et Dart.
Dart répartit un même type sur plusieurs constructions. Une classe peut hériter d’une classe de base, implémenter plusieurs interfaces et intégrer du comportement de mixins via with. Les méthodes d’extension attachent des membres à des types définis ailleurs, et les constructeurs nommés et factory masquent la classe réellement construite. Une recherche textuelle trouve les noms, mais pas la structure qui se cache derrière.
Maguyva fournit cette structure à l’agent, qui peut alors suivre un changement depuis un widget jusqu’au service dont il dépend.
Maguyva couvre les fichiers .dart. Les classes, mixins et extensions sont extraits comme types. Le preset functions de structural_search couvre les fonctions, méthodes, fonctions locales, lambdas, ainsi que les constructeurs génératifs, const et factory. Les signatures enregistrent les groupes de paramètres positionnels et nommés optionnels ainsi que les membres static, et les noms de définition perdent leur ? ou ! final.
Les imports normalisent les directives import, part et library et suppriment leurs clauses show, hide et as. Un appel via un préfixe d’import, comme http.get après import 'package:http/http.dart' as http, reste dans le graphe.
Le typage des receveurs suit les paramètres, les variables typées et initialisées, les getters et les boucles for-in sur des listes, des ensembles et des itérables, et traite var et dynamic comme des types inférés. Les clauses extends, implements et with sont suivies pour résoudre les membres hérités. Le graphe enregistre aussi l’instanciation, les références de type, les lectures et écritures et les arêtes d’exception.
CartRepository.addItem, et depuis quels widgets ? » (find_symbol, puis dependency_search en incoming)PaymentGateway ? » (dependency_search)get_task_context)map, where et forEach, des méthodes de Future et Stream comme then et listen, et les bibliothèques dart:. Utilisez text_pattern_search pour les retrouver.structural_search, une fonction locale ou une lambda peut donc chevaucher l’appelable qui la contient, et les getters et setters apparaissent comme des signatures de méthode.Connectez un dépôt avec le démarrage rapide, puis consultez la matrice de prise en charge sur la page de compatibilité. Pour d’autres bases de code mobiles, lisez le guide Kotlin et le guide Swift.
Idéal pour
Workflows d'agent
Détails du moteur
Points d'entrée MCP utiles
Utilisez-le pour une classe de widget, de repository ou de service quand vous avez besoin de la définition et des références.
Utilisez la traversée incoming sur une méthode de repository ou une interface pour voir appelants et implémentations avant de changer une API.
Utilisez-le pour des prompts comme « retrace comment le bouton de paiement atteint l'API de paiement ».
Guides connexes
Kotlin cache beaucoup de câblage dans les receveurs et les lambdas. Le graphe le rend visible.
Extensions
.kt, .kts
En Swift, le comportement vit dans les protocoles et les extensions. Un agent doit voir les deux.
Extensions
.swift