Kotlin in Maguyva: codegrafen voor Android en de JVM
Kotlin verstopt veel bedrading in receivers en lambda's. De graaf haalt die terug.
Extensies
.kt, .kts
Maguyva ondersteunt Dart met AST, symbolen en graaf, zodat AI-agents klassen, mixins, extensions en constructors volgen in Flutter- en Dart-code.
Dart verdeelt één type over meerdere constructies. Een klasse kan erven van één basisklasse, meerdere interfaces implementeren en via with gedrag uit mixins opnemen. Extension-methoden hangen members aan types die elders zijn gedefinieerd, en benoemde en factory-constructors verbergen welke klasse er echt wordt gebouwd. Tekstzoeken vindt de namen, maar niet de structuur erachter.
Maguyva geeft een agent die structuur, zodat hij een wijziging kan volgen van een widget tot aan de service waarvan die afhangt.
Maguyva dekt .dart-bestanden. Klassen, mixins en extensions worden als types geëxtraheerd. De preset functions in structural_search omvat functies, methoden, lokale functies, lambda’s en generatieve, const- en factory-constructors. Signaturen leggen optionele positionele en benoemde parametergroepen en static-members vast, en definitienamen verliezen een afsluitend ? of !.
Imports normaliseren import-, part- en library-directives en verwijderen hun show-, hide- en as-clausules. Een aanroep via een importprefix, zoals http.get na import 'package:http/http.dart' as http, blijft in de graaf.
Receiver-typering volgt parameters, getypeerde en geïnitialiseerde variabelen, getters en for-in-lussen over lijsten, sets en iterables, en behandelt var en dynamic als afgeleide types. Bij het oplossen van overgeërfde members worden extends-, implements- en with-clausules gevolgd. De graaf legt ook instantiatie, typereferenties, lees- en schrijfacties en exception-edges vast.
CartRepository.addItem aan, en vanuit welke widgets?” (find_symbol, daarna dependency_search incoming)PaymentGateway?” (dependency_search)get_task_context)map, where en forEach, methoden van Future en Stream zoals then en listen, en de dart:-bibliotheken. Gebruik daarvoor text_pattern_search.structural_search-resultaten kan een lokale functie of lambda overlappen met de callable die haar bevat, en getters en setters verschijnen als methodesignaturen.Koppel een repository via de snelstart en bekijk daarna de ondersteuningsmatrix op de compatibiliteitspagina. Lees voor andere mobiele codebases de Kotlin-gids en de Swift-gids.
Beste toepassing
Agentworkflows
Enginedetails
Nuttige MCP-instappunten
Gebruik het voor een widget-, repository- of serviceklasse wanneer je de definitie en referenties nodig hebt.
Gebruik incoming-traversal op een repositorymethode of interface om aanroepers en implementaties te zien voor een API-wijziging.
Gebruik het voor prompts als "volg hoe de checkout-knop de betalings-API bereikt."
Gerelateerde gidsen
Kotlin verstopt veel bedrading in receivers en lambda's. De graaf haalt die terug.
Extensies
.kt, .kts
In Swift zit gedrag in protocollen en extensions. Een agent moet beide kunnen zien.
Extensies
.swift