Compatibilidad con Java en Maguyva: inteligencia de código para repositorios empresariales
Útil cuando el repositorio está lleno de servicios Spring, frameworks internos y código que ha sobrevivido a varias eras organizacionales.
Extensiones
.java
Maguyva admite Scala con AST, símbolos y grafo, para que los agentes de IA sigan traits, objects, case classes y llamadas tipadas en código JVM y Spark.
En Scala un nombre carga mucho. Un trait, su companion object y una case class pueden compartir un mismo concepto. El pattern matching enlaza nombres nuevos dentro de las cláusulas case, y un método llamado sin receptor dentro de una clase es una llamada sobre this. Un agente que lee un archivo a la vez ve los nombres, pero no a qué se resuelven.
Maguyva resuelve más de eso al indexar, para que un agente pueda preguntar quién llama a un método y obtener una respuesta sobre la que pueda actuar.
Maguyva cubre archivos .scala y .sc. Las clases, los objects y los traits se extraen como tipos, y el preset functions de structural_search cubre declaraciones y definiciones def, además de lambdas. Las firmas registran parámetros repetidos (*), y las importaciones pierden el prefijo _root_.
Las relaciones de llamada conservan los nombres calificados por clase, y una llamada sin receptor dentro de una clase se resuelve al propio método de esa clase. El tipado de receptores sigue parámetros, parámetros de clase, definiciones val y var, patrones tipados y de case class dentro de cláusulas case, los tipos de retorno de métodos de clases, objects y traits, los alias de tipo y las cláusulas extends. new sobre un tipo con mayúscula inicial cuenta como instanciación.
Ningún tipo de relación está marcado como no aplicable para Scala, así que el grafo también registra herencia, overrides, referencias de tipo, lecturas y escrituras, flujo de control y aristas de excepciones.
PaymentService.capture y desde qué rutas?” (find_symbol, luego dependency_search incoming)EventHandler?” (dependency_search)get_task_context)map, flatMap y foldLeft, más helpers de Option, Either, Try, Future y Predef. Una llamada sobre this, o sobre un valor cuyo tipo se resuelve a una de tus clases, se conserva aunque su nombre esté en esa lista. Usa text_pattern_search si aun así parece faltar un llamador.A, F y CC, y los tipos raíz como Any, Unit y Nothing, se filtran de las referencias de tipo.Conecta un repositorio con el inicio rápido y luego revisa la matriz de compatibilidad en la página de compatibilidad. Para bases de código JVM mixtas, lee también la guía de Java y la guía de Kotlin.
Mejor uso
Flujos de trabajo del agente
Detalles del motor
Puntos de entrada MCP útiles
Úsalo para un trait, un object o un método de servicio cuando necesites la definición y las referencias.
Usa el recorrido incoming sobre un trait o un método para ver implementaciones y llamadores antes de cambiar una firma.
Úsalo para prompts como "rastrea cómo un evento de pedido llega al escritor del libro mayor".
Guías relacionadas
Útil cuando el repositorio está lleno de servicios Spring, frameworks internos y código que ha sobrevivido a varias eras organizacionales.
Extensiones
.java
Kotlin esconde mucho cableado en receptores y lambdas. El grafo lo saca a la luz.
Extensiones
.kt, .kts