Wsparcie dla języka Java w Maguyva: inteligencja kodu dla repozytoriów klasy enterprise
Przydatne, gdy repozytorium jest pełne usług Spring, wewnętrznych frameworków i kodu, który przetrwał kilka epok organizacyjnych.
Rozszerzenia
.java
Maguyva obsługuje Scalę przez AST, symbole i graf, dzięki czemu agenci AI śledzą traity, obiekty, klasy przypadków i typowane wywołania w kodzie JVM i Sparka.
W Scali jedna nazwa niesie dużo. Trait, jego obiekt towarzyszący i klasa przypadku mogą współdzielić jedno pojęcie. Dopasowanie wzorców wiąże nowe nazwy w klauzulach case, a metoda wywołana bez odbiorcy wewnątrz klasy jest wywołaniem na this. Agent czytający jeden plik naraz widzi nazwy, ale nie to, do czego się rozwiązują.
Maguyva rozwiązuje więcej z tego już podczas indeksowania, więc agent może zapytać, kto wywołuje metodę, i dostać odpowiedź, na podstawie której da się działać.
Maguyva obejmuje pliki .scala i .sc. Klasy, obiekty i traity są wyodrębniane jako typy, a preset functions w structural_search obejmuje deklaracje i definicje def oraz lambdy. Sygnatury zapisują parametry powtarzane (*), a importy tracą prefiks _root_.
Relacje wywołań zachowują nazwy kwalifikowane klasą, a wywołanie bez odbiorcy wewnątrz klasy jest rozwiązywane do metody tej klasy. Typowanie odbiorców śledzi parametry, parametry klasy, definicje val i var, wzorce typowane i wzorce klas przypadków w klauzulach case, typy zwracane przez metody klas, obiektów i traitów, aliasy typów oraz klauzule extends. new na typie zaczynającym się wielką literą liczy się jako tworzenie instancji.
Dla Scali żaden typ relacji nie jest oznaczony jako nie mający zastosowania, więc graf zapisuje też dziedziczenie, nadpisania, odwołania do typów, odczyty i zapisy, przepływ sterowania oraz krawędzie wyjątków.
PaymentService.capture i z których tras?” (find_symbol, potem dependency_search incoming)EventHandler?” (dependency_search)get_task_context)map, flatMap i foldLeft, oraz funkcje pomocnicze Option, Either, Try, Future i Predef. Wywołanie na this albo na wartości, której typ rozwiązuje się do jednej z twoich klas, jest zachowywane, nawet jeśli jego nazwa jest na tej liście. Jeśli nadal wydaje się, że brakuje wywołującego, użyj text_pattern_search.A, F i CC, oraz typy główne, takie jak Any, Unit i Nothing, są odfiltrowywane z odwołań do typów.Podłącz repozytorium za pomocą szybkiego startu, a potem sprawdź macierz obsługi na stronie zgodności. W przypadku mieszanych baz kodu JVM przeczytaj też przewodnik po Javie i przewodnik po Kotlinie.
Najlepsze dopasowanie
Workflow agentów
Szczegóły silnika
Przydatne punkty wejścia MCP
Użyj go dla traitu, obiektu lub metody serwisu, gdy potrzebujesz definicji i odwołań.
Użyj przejścia incoming na traicie lub metodzie, aby przed zmianą sygnatury zobaczyć implementacje i wywołujących.
Użyj go do promptów takich jak „Prześledź, jak zdarzenie zamówienia dociera do zapisu w księdze”.
Powiązane przewodniki
Przydatne, gdy repozytorium jest pełne usług Spring, wewnętrznych frameworków i kodu, który przetrwał kilka epok organizacyjnych.
Rozszerzenia
.java
Kotlin ukrywa wiele połączeń w odbiorcach i lambdach. Graf przywraca je do widoku.
Rozszerzenia
.kt, .kts