Java Support in Maguyva: Code Intelligence for Enterprise Repositories
Useful when the repo is full of Spring services, internal frameworks, and code that has survived several organizational eras.
Extensions
.java
Maguyva parses Scala with AST, symbol, and graph support, so AI agents can follow traits, objects, case classes, and typed calls across JVM and Spark code.
Scala lets one name carry a lot. A trait, its companion object, and a case class can share one concept. Pattern matches bind new names inside case clauses, and a method called without a receiver inside a class is a call on this. An agent that reads one file at a time sees the names but not what they resolve to.
Maguyva resolves more of that at index time, so an agent can ask who calls a method and get an answer it can act on.
Maguyva covers .scala and .sc files. Classes, objects, and traits are extracted as types, and the functions preset in structural_search covers def declarations, definitions, and lambdas. Signatures record repeated (*) parameters, and imports drop the _root_ prefix.
Call relationships keep class-qualified names, and a bare call inside a class resolves to that class’s own method. Receiver typing follows parameters, class parameters, val and var definitions, typed and case-class patterns inside case clauses, the return types of methods on classes, objects, and traits, type aliases, and extends clauses. new on a capitalised type counts as instantiation.
No relationship type is marked not applicable for Scala, so the graph also records inheritance, overrides, type references, reads and writes, control flow, and exception edges.
PaymentService.capture, and from which routes?” (find_symbol, then dependency_search incoming)EventHandler?” (dependency_search)get_task_context)map, flatMap, and foldLeft, plus Option, Either, Try, Future, and Predef helpers. A call on this, or on a value whose type resolves to one of your classes, is kept even when its name is on that list. Use text_pattern_search when a caller still seems missing.A, F, and CC, and root types such as Any, Unit, and Nothing, are filtered from type references.Connect a repository with the quickstart, then check the support matrix on the compatibility page. For mixed JVM codebases, read the Java guide and the Kotlin guide too.
Best fit
Agent workflows
Engine details
Useful MCP entry points
Use it for a trait, object, or service method when you need the definition and references.
Use incoming traversal on a trait or method to see implementers and callers before a signature change.
Use it for prompts like “trace how an order event reaches the ledger writer.”
Related guides
Useful when the repo is full of Spring services, internal frameworks, and code that has survived several organizational eras.
Extensions
.java
Kotlin hides a lot of wiring in receivers and lambdas. The graph puts it back.
Extensions
.kt, .kts