Maguyva में Java सपोर्ट: एंटरप्राइज़ रिपॉज़िटरी के लिए कोड इंटेलिजेंस
उपयोगी तब जब रिपॉज़िटरी Spring सर्विसेज़, आंतरिक फ़्रेमवर्क, और कई संगठनात्मक दौर से बचे हुए कोड से भरी हो।
एक्सटेंशन
.java
Maguyva, Scala को AST, सिंबल और ग्राफ़ के साथ सपोर्ट करता है, ताकि AI एजेंट JVM और Spark कोड में ट्रेट, ऑब्जेक्ट, केस क्लास और टाइप वाले कॉल को ट्रेस कर सकें।
Scala में एक नाम बहुत भार उठाता है। एक ट्रेट, उसका कंपैनियन ऑब्जेक्ट और एक केस क्लास एक ही अवधारणा साझा कर सकते हैं। पैटर्न मैचिंग case क्लॉज़ के भीतर नए नाम बाँधती है, और क्लास के भीतर बिना रिसीवर के कॉल किया गया मेथड असल में this पर कॉल है। फ़ाइलें एक-एक करके पढ़ने वाला एजेंट नाम देखता है, पर यह नहीं कि वे किस पर रिज़ॉल्व होते हैं।
Maguyva इंडेक्सिंग के समय ही ज़्यादा रिज़ॉल्व कर देता है, इसलिए जब एजेंट पूछता है कि किसी मेथड को कौन कॉल करता है, तो उसे ऐसा जवाब मिलता है जिस पर वह काम कर सके।
Maguyva .scala और .sc फ़ाइलों को कवर करता है। क्लास, ऑब्जेक्ट और ट्रेट टाइप के रूप में निकाले जाते हैं, और structural_search में functions प्रीसेट def डिक्लेरेशन और परिभाषाएँ तथा लैम्ब्डा कवर करता है। सिग्नेचर दोहराए जाने वाले (*) पैरामीटर दर्ज करते हैं, और इम्पोर्ट से _root_ प्रीफ़िक्स हटा दिया जाता है।
कॉल संबंध क्लास-योग्य नाम बनाए रखते हैं, और किसी क्लास के भीतर बिना रिसीवर वाला कॉल उसी क्लास के अपने मेथड पर रिज़ॉल्व होता है। रिसीवर टाइपिंग पैरामीटर, क्लास पैरामीटर, val और var परिभाषाएँ, case क्लॉज़ में टाइप वाले पैटर्न और केस-क्लास पैटर्न, क्लास, ऑब्जेक्ट और ट्रेट मेथड के रिटर्न टाइप, टाइप एलियस, और extends क्लॉज़ को ट्रैक करती है। बड़े अक्षर से शुरू होने वाले टाइप पर new इंस्टैंशिएशन गिना जाता है।
Scala के लिए कोई भी संबंध टाइप लागू नहीं के रूप में चिह्नित नहीं है, इसलिए ग्राफ़ इनहेरिटेंस, ओवरराइड, टाइप रेफ़रेंस, रीड और राइट, कंट्रोल फ़्लो और एक्सेप्शन एज भी दर्ज करता है।
PaymentService.capture को कौन कॉल करता है, और किन रूट से?” (find_symbol, फिर dependency_search इनकमिंग)EventHandler को बढ़ाते हैं?” (dependency_search)get_task_context)map, flatMap और foldLeft जैसे कलेक्शन ऑपरेशन, और Option, Either, Try, Future तथा Predef हेल्पर। this पर, या ऐसे मान पर कॉल जिसका टाइप आपकी किसी क्लास पर रिज़ॉल्व होता है, नाम सूची में होने पर भी बनाए रखा जाता है। अगर कोई कॉलर फिर भी गायब लगे, तो text_pattern_search इस्तेमाल करें।A, F और CC जैसे छोटे टाइप पैरामीटर और Any, Unit तथा Nothing जैसे रूट टाइप, टाइप रेफ़रेंस से फ़िल्टर किए जाते हैं।क्विकस्टार्ट से रिपॉज़िटरी जोड़ें, फिर सपोर्ट मैट्रिक्स कम्पैटिबिलिटी पेज पर देखें। मिश्रित JVM कोडबेस के लिए Java गाइड और Kotlin गाइड भी पढ़ें।
सबसे उपयुक्त
एजेंट वर्कफ़्लो
इंजन विवरण
उपयोगी MCP एंट्री पॉइंट
किसी ट्रेट, ऑब्जेक्ट या सर्विस मेथड के लिए इस्तेमाल करें जब आपको परिभाषा और रेफ़रेंस चाहिए।
सिग्नेचर बदलने से पहले लागू करने वालों और कॉलर को देखने के लिए किसी ट्रेट या मेथड पर इनकमिंग ट्रैवर्सल इस्तेमाल करें।
"ट्रेस करो कि ऑर्डर इवेंट लेजर राइटर तक कैसे पहुँचता है" जैसे प्रॉम्प्ट के लिए इस्तेमाल करें।
संबंधित गाइड
उपयोगी तब जब रिपॉज़िटरी Spring सर्विसेज़, आंतरिक फ़्रेमवर्क, और कई संगठनात्मक दौर से बचे हुए कोड से भरी हो।
एक्सटेंशन
.java
Kotlin बहुत-सी वायरिंग रिसीवर और लैम्ब्डा में छिपा देती है। ग्राफ़ उसे फिर से सामने लाता है।
एक्सटेंशन
.kt, .kts