Supporto Java in Maguyva: intelligenza del codice per repository enterprise
Utile quando il repository è pieno di servizi Spring, framework interni, e codice sopravvissuto a diverse ere organizzative.
Estensioni
.java
Maguyva supporta Scala con AST, simboli e grafo, così gli agenti IA seguono trait, object, case class e chiamate tipizzate nel codice JVM e Spark.
In Scala un nome porta con sé molto. Un trait, il suo companion object e una case class possono condividere un concetto. Il pattern matching lega nuovi nomi dentro le clausole case, e un metodo chiamato senza receiver dentro una classe è una chiamata su this. Un agente che legge un file alla volta vede i nomi, ma non ciò a cui si risolvono.
Maguyva ne risolve una parte maggiore in fase di indicizzazione, così un agente può chiedere chi chiama un metodo e ottenere una risposta su cui agire.
Maguyva copre i file .scala e .sc. Classi, object e trait vengono estratti come tipi, e il preset functions di structural_search copre dichiarazioni e definizioni def, oltre alle lambda. Le firme registrano i parametri ripetuti (*), e gli import perdono il prefisso _root_.
Le relazioni di chiamata mantengono i nomi qualificati dalla classe, e una chiamata senza receiver dentro una classe si risolve sul metodo di quella classe. La tipizzazione dei receiver segue parametri, parametri di classe, definizioni val e var, pattern tipizzati e di case class nelle clausole case, i tipi di ritorno dei metodi di classi, object e trait, gli alias di tipo e le clausole extends. new su un tipo con iniziale maiuscola conta come istanziazione.
Per Scala nessun tipo di relazione è marcato come non applicabile, quindi il grafo registra anche ereditarietà, override, riferimenti di tipo, letture e scritture, flusso di controllo e archi di eccezione.
PaymentService.capture, e da quali route?” (find_symbol, poi dependency_search incoming)EventHandler?” (dependency_search)get_task_context)map, flatMap e foldLeft, più helper di Option, Either, Try, Future e Predef. Una chiamata su this, o su un valore il cui tipo si risolve in una delle tue classi, viene mantenuta anche se il nome è in quell’elenco. Usa text_pattern_search se un chiamante sembra ancora mancare.A, F e CC, e i tipi radice come Any, Unit e Nothing, vengono filtrati dai riferimenti di tipo.Collega un repository con la guida rapida, poi consulta la matrice di supporto nella pagina di compatibilità. Per basi di codice JVM miste, leggi anche la guida a Java e la guida a Kotlin.
Il più adatto per
Workflow degli agenti
Dettagli del motore
Punti di ingresso MCP utili
Usalo per un trait, un object o un metodo di servizio quando ti servono definizione e riferimenti.
Usa l'attraversamento incoming su un trait o un metodo per vedere implementazioni e chiamanti prima di cambiare una firma.
Usalo per prompt come "traccia come un evento d'ordine raggiunge lo scrittore del libro mastro".
Guide correlate
Utile quando il repository è pieno di servizi Spring, framework interni, e codice sopravvissuto a diverse ere organizzative.
Estensioni
.java
Kotlin nasconde molti collegamenti in receiver e lambda. Il grafo li riporta alla luce.
Estensioni
.kt, .kts