Java-Unterstützung in Maguyva: Code Intelligence für Enterprise-Repositories
Nützlich, wenn das Repo voller Spring-Services, interner Frameworks und Code ist, der mehrere Organisationsepochen überstanden hat.
Dateiendungen
.java
Maguyva unterstützt Scala mit AST, Symbolen und Graph, damit KI-Agenten Traits, Objects, Case Classes und typisierte Aufrufe über JVM- und Spark-Code hinweg verfolgen.
In Scala trägt ein Name viel. Ein Trait, sein Companion Object und eine Case Class können sich ein Konzept teilen. Pattern Matching bindet in case-Klauseln neue Namen, und eine Methode, die innerhalb einer Klasse ohne Receiver aufgerufen wird, ist ein Aufruf auf this. Ein Agent, der eine Datei nach der anderen liest, sieht die Namen, aber nicht, wohin sie aufgelöst werden.
Maguyva löst mehr davon schon beim Indexieren auf, sodass ein Agent fragen kann, wer eine Methode aufruft, und eine Antwort bekommt, mit der er arbeiten kann.
Maguyva deckt .scala- und .sc-Dateien ab. Klassen, Objects und Traits werden als Typen extrahiert, und das Preset functions in structural_search umfasst def-Deklarationen, -Definitionen und Lambdas. Signaturen erfassen wiederholte (*) Parameter, und Importe verlieren das Präfix _root_.
Aufrufbeziehungen behalten klassenqualifizierte Namen, und ein Aufruf ohne Receiver innerhalb einer Klasse wird zur eigenen Methode dieser Klasse aufgelöst. Die Receiver-Typisierung folgt Parametern, Klassenparametern, val- und var-Definitionen, typisierten und Case-Class-Patterns in case-Klauseln, den Rückgabetypen von Methoden auf Klassen, Objects und Traits, Typaliasen sowie extends-Klauseln. new auf einem großgeschriebenen Typ zählt als Instanziierung.
Für Scala ist kein Beziehungstyp als nicht anwendbar markiert, daher erfasst der Graph außerdem Vererbung, Overrides, Typreferenzen, Lese- und Schreibzugriffe, Kontrollfluss und Exception-Kanten.
PaymentService.capture auf, und aus welchen Routen?“ (find_symbol, dann dependency_search incoming)EventHandler?“ (dependency_search)get_task_context)map, flatMap und foldLeft sowie Helfer aus Option, Either, Try, Future und Predef. Ein Aufruf auf this oder auf einem Wert, dessen Typ zu einer deiner Klassen aufgelöst wird, bleibt erhalten, auch wenn sein Name auf dieser Liste steht. Verwende text_pattern_search, wenn ein Aufrufer trotzdem zu fehlen scheint.A, F und CC sowie Wurzeltypen wie Any, Unit und Nothing werden aus den Typreferenzen gefiltert.Verbinde ein Repository über den Schnellstart und prüfe dann die Unterstützungsmatrix auf der Kompatibilitätsseite. Für gemischte JVM-Codebasen lies auch den Java-Leitfaden und den Kotlin-Leitfaden.
Am besten geeignet
Agentenabläufe
Engine-Einordnung
Nützliche MCP-Einstiegspunkte
Nutz es für einen Trait, ein Object oder eine Service-Methode, wenn du Definition und Referenzen brauchst.
Nutz die eingehende Traversierung auf einem Trait oder einer Methode, um vor einer Signaturänderung Implementierungen und Aufrufer zu sehen.
Nutz es für Prompts wie „verfolge, wie ein Order-Event den Ledger-Writer erreicht“.
Verwandte Guides
Nützlich, wenn das Repo voller Spring-Services, interner Frameworks und Code ist, der mehrere Organisationsepochen überstanden hat.
Dateiendungen
.java
Kotlin versteckt viel Verdrahtung in Receivern und Lambdas. Der Graph holt sie zurück.
Dateiendungen
.kt, .kts