C++ w Maguyva: grafy klas i wywołań dla dużych baz kodu
C++ ukrywa prawdziwy cel wywołania za przestrzeniami nazw, przeciążeniami i wirtualnym dispatchem. Graf pomaga agentowi go znaleźć.
Rozszerzenia
.c, .c++, .cc, .cpp, +6 więcej
Maguyva obsługuje Swifta przez AST, symbole i graf, dzięki czemu agenci AI śledzą protokoły, rozszerzenia, inicjalizatory i obserwatory w kodzie iOS i macOS.
Swift rozprasza jeden typ po wielu miejscach. Struktura jest deklarowana w jednym pliku, dostaje zachowanie z rozszerzeń w trzech innych i jest zgodna z protokołami zdefiniowanymi w pakiecie. Zmiany stanu kryją się we właściwościach obliczanych i obserwatorach willSet / didSet. Agent czytający jeden plik naraz przeoczy większość z tego.
Maguyva indeksuje tę strukturę, więc agent widzi razem składowe typu, jego zgodności i wywołujących.
Maguyva obejmuje .swift. Symbole wywoływalne obejmują funkcje, init i deinit, subskrypty, gettery i settery właściwości obliczanych oraz obserwatory willSet / didSet, więc kod zmieniający stan można wyszukać jako symbol, zamiast szukać go w ciałach właściwości.
Składowe zadeklarowane w strukturach, wyliczeniach, protokołach i rozszerzeniach są kwalifikowane typem właściciela (na przykład CartStore.add), a składowe dodane w rozszerzeniu są przypisywane do rozszerzanego typu. Z nazw definicji usuwane są parametry generyczne, listy zgodności z protokołami oraz sufiksy ? / !, więc wyszukiwanie używa samej nazwy. Wywołania zachowują self. i kwalifikację klasą, a domknięcia końcowe liczą się do arności wywołania.
Graf zapisuje wywołania, zgodność z protokołami, dziedziczenie, nadpisania, tworzenie instancji, atrybuty, odwołania do typów, odczyty i zapisy oraz krawędzie throw.
PaymentProvider i gdzie każdy z nich jest tworzony?” (dependency_search)CartStore.add i z których widoków?” (find_symbol, potem dependency_search incoming)get_task_context).swift. Pliki Storyboard i XIB nie znajdują się na liście rozszerzeń, więc połączenia z Interface Buildera pozostają poza grafem.print, debugPrint, NSLog i asercje, są filtrowane z relacji, więc nie są krawędziami grafu. Do ich wyszukiwania użyj text_pattern_search.Podłącz repozytorium za pomocą szybkiego startu, a potem sprawdź macierz obsługi na stronie zgodności. Jeśli ten sam produkt wydajesz na Androida, przeczytaj przewodnik po Kotlinie.
Najlepsze dopasowanie
Workflow agentów
Szczegóły silnika
Przydatne punkty wejścia MCP
Używaj go z nazwą typu, protokołu lub metody, gdy potrzebujesz definicji i odwołań.
Użyj go na protokole, aby znaleźć zgodne typy, albo w kierunku incoming na metodzie, aby znaleźć wywołujących.
Używaj go do promptów typu „wyjaśnij, jak powiadomienie push trafia na ekran skrzynki odbiorczej”.
Powiązane przewodniki
C++ ukrywa prawdziwy cel wywołania za przestrzeniami nazw, przeciążeniami i wirtualnym dispatchem. Graf pomaga agentowi go znaleźć.
Rozszerzenia
.c, .c++, .cc, .cpp, +6 więcej
Kotlin ukrywa wiele połączeń w odbiorcach i lambdach. Graf przywraca je do widoku.
Rozszerzenia
.kt, .kts