C++ i Maguyva: klass- och anropsgrafer för stora kodbaser
C++ döljer det verkliga anropsmålet bakom namnrymder, överlagringar och virtuell dispatch. Grafen hjälper en agent att hitta det.
Filändelser
.c, .c++, .cc, .cpp, +6 till
Maguyva stöder Swift med AST, symboler och graf, så att AI-agenter kan följa protokoll, extensions, initierare och observatörer i iOS- och macOS-kod.
Swift sprider ut en typ på många ställen. En struct deklareras i en fil, får beteende från extensions i tre andra och uppfyller protokoll som definieras i ett paket. Tillståndsändringar gömmer sig i beräknade egenskaper och willSet / didSet-observatörer. En agent som läser en fil i taget missar det mesta.
Maguyva indexerar strukturen, så att en agent ser en typs medlemmar, protokolluppfyllelser och anropare tillsammans.
Maguyva täcker .swift. Anropbara symboler omfattar funktioner, init och deinit, subscripts, getters och setters för beräknade egenskaper samt willSet / didSet-observatörer, så att kod som ändrar tillstånd är sökbar som symboler i stället för att begravas i egenskapskroppar.
Medlemmar som deklareras i structs, enums, protokoll och extensions kvalificeras med sin ägartyp (till exempel CartStore.add), och medlemmar som läggs till i en extension tillskrivs den utökade typen. Generiska parametrar, listor över protokolluppfyllelse och suffixen ? / ! tas bort ur definitionsnamnen, så uppslag använder det rena namnet. Anrop behåller self. och klasskvalificering, och trailing closures räknas med i anropets aritet.
Grafen registrerar anrop, protokolluppfyllelse, arv, överskrivningar, instansiering, attribut, typreferenser, läsningar och skrivningar samt throw-kanter.
PaymentProvider, och var skapas var och en?” (dependency_search)CartStore.add, och från vilka vyer?” (find_symbol, sedan dependency_search incoming)get_task_context).swift-källkod är kopplad. Storyboard- och XIB-filer finns inte i listan över filändelser, så kopplingar i Interface Builder ligger utanför grafen.print, debugPrint, NSLog och assertions filtreras bort ur relationerna och är därför inte kanter i grafen. Använd text_pattern_search för dem.Anslut ett repo med snabbstarten och kontrollera sedan stödmatrisen på kompatibilitetssidan. Om du levererar samma produkt på Android, läs guiden för Kotlin.
Bäst lämpad för
Agentarbetsflöden
Motordetaljer
Användbara MCP-ingångar
Använd det för ett typ-, protokoll- eller metodnamn när du behöver definitionen och referenserna.
Använd det på ett protokoll för att hitta typer som uppfyller det, eller incoming på en metod för att hitta anropare.
Använd det för prompter som "förklara hur en pushnotis når inkorgsskärmen".
Relaterade guider
C++ döljer det verkliga anropsmålet bakom namnrymder, överlagringar och virtuell dispatch. Grafen hjälper en agent att hitta det.
Filändelser
.c, .c++, .cc, .cpp, +6 till
Kotlin gömmer mycket koppling i mottagare och lambdor. Grafen tar fram den igen.
Filändelser
.kt, .kts