Kotlin w Maguyva: grafy kodu dla Androida i JVM
Kotlin ukrywa wiele połączeń w odbiorcach i lambdach. Graf przywraca je do widoku.
Rozszerzenia
.kt, .kts
Maguyva obsługuje Darta przez AST, symbole i graf, dzięki czemu agenci AI śledzą klasy, mixiny, rozszerzenia i konstruktory w kodzie Fluttera i Darta.
Dart rozkłada jeden typ na kilka konstrukcji. Klasa może dziedziczyć po jednej klasie bazowej, implementować kilka interfejsów i włączać zachowanie z mixinów przez with. Metody rozszerzające doczepiają składowe do typów zdefiniowanych gdzie indziej, a konstruktory nazwane i factory ukrywają, która klasa naprawdę powstaje. Wyszukiwanie tekstowe znajduje nazwy, ale nie strukturę, która za nimi stoi.
Maguyva daje agentowi tę strukturę, więc może on prześledzić zmianę od widżetu aż do serwisu, od którego ten zależy.
Maguyva obejmuje pliki .dart. Klasy, mixiny i rozszerzenia są wyodrębniane jako typy. Preset functions w structural_search obejmuje funkcje, metody, funkcje lokalne, lambdy oraz konstruktory generatywne, const i factory. Sygnatury zapisują opcjonalne grupy parametrów pozycyjnych i nazwanych oraz składowe static, a nazwy definicji tracą końcowe ? lub !.
Importy normalizują dyrektywy import, part i library oraz usuwają ich klauzule show, hide i as. Wywołanie przez prefiks importu, na przykład http.get po import 'package:http/http.dart' as http, zostaje w grafie.
Typowanie odbiorców śledzi parametry, zmienne typowane i zainicjalizowane, gettery oraz pętle for-in po listach, zbiorach i obiektach iterowalnych, a var i dynamic traktuje jako typy wywnioskowane. Przy rozwiązywaniu dziedziczonych składowych śledzone są klauzule extends, implements i with. Graf zapisuje też tworzenie instancji, odwołania do typów, odczyty i zapisy oraz krawędzie wyjątków.
CartRepository.addItem i z których widżetów?” (find_symbol, potem dependency_search incoming)PaymentGateway?” (dependency_search)get_task_context)map, where i forEach, metody Future i Stream, takie jak then i listen, oraz biblioteki dart:. Do ich wyszukania użyj text_pattern_search.structural_search funkcja lokalna lub lambda może nakładać się na zawierający ją element wywoływalny, a gettery i settery pojawiają się jako sygnatury metod.Podłącz repozytorium za pomocą szybkiego startu, a potem sprawdź macierz obsługi na stronie zgodności. W przypadku innych mobilnych baz kodu przeczytaj przewodnik po Kotlinie i przewodnik po Swifcie.
Najlepsze dopasowanie
Workflow agentów
Szczegóły silnika
Przydatne punkty wejścia MCP
Użyj go dla klasy widżetu, repozytorium lub serwisu, gdy potrzebujesz definicji i odwołań.
Użyj przejścia incoming na metodzie repozytorium lub interfejsie, aby przed zmianą API zobaczyć wywołujących i implementacje.
Użyj go do promptów takich jak „Prześledź, jak przycisk zakupu dociera do API płatności”.
Powiązane przewodniki
Kotlin ukrywa wiele połączeń w odbiorcach i lambdach. Graf przywraca je do widoku.
Rozszerzenia
.kt, .kts
W Swifcie zachowanie żyje w protokołach i rozszerzeniach. Agent musi widzieć jedno i drugie.
Rozszerzenia
.swift