एक शोध परियोजना के लिए, मैं एक्लिप्स के साथ ओपनजेडीके स्रोतों पर विकास कर रहा हूं। डीबगिंग उद्देश्यों के लिए, एकीकृत अभिव्यक्ति के "अभिव्यक्ति" और "प्रदर्शन" दृश्य काफी उपयोगी हैं। javac
कंपाइलर टूल के कोड के माध्यम से कदम उठाने पर, अभिव्यक्ति दृश्य कुछ कक्षाओं में विफल रहता है। फिर, यहां तक कि सबसे सरल अभिव्यक्तियों को उनके मूल्य कॉलम में <error(s)_during_the_evaluation>
मिलता है। विस्तृत त्रुटि संदेश तब है:ग्रहण अभिव्यक्ति दृश्य कुछ वर्गों पर क्यों विफल रहता है?
Evaluations must contain either an expression or a block of well-formed statements
मैं बहुत यकीन है कि, मैं बुला विधि (एक स्टैक फ्रेम अधिक) के लिए एक सरल स्विच के रूप में मान्य भाव में प्रवेश किया है, दृश्य काम कर बनाता है।
मैं दो स्क्रीनशॉट दो अपलोड कर दिया है समस्या स्पष्ट करने:
नहीं-श्रमिक वर्ग JavacParser
:
कामगार वर्ग EndPosParser
:
किसी को भी कभी अनुभव किया है एक समान समस्या या जानता है कि इसका कारण क्या है या इसे कैसे ठीक किया जाए? दो दिखाए गए विचारों के बीच स्विच करते समय, मैं एक स्टैक फ्रेम को ऊपर जाने के अलावा कुछ और नहीं करता हूं। दोनों मामलों में दोनों अभिव्यक्तियों का मूल्यांकन होने की उम्मीद है। जहां तक मैं इसका मूल्यांकन कर सकता हूं, दिखाया गया असफल व्यवहार केवल JavacParser
वर्ग में होता है।
धन्यवाद!
मैं विशेष रूप से इतने सारे पुराने रिपोर्ट और इस त्रुटि के लिए बग फिक्स टकरा है, लेकिन वे सभी पुराने समस्याओं से संबंधित हो रहे हैं (यानी : संस्करण 3.1-3.8 के साथ जेनरिक के साथ कक्षाएं), अब मैं 4.x + पर हूं और अभी भी इसे देख रहा हूं। उम्मीद है कि किसी को स्पष्टीकरण मिलेगा ताकि इसकी सूचना दी जा सके। –
मैं toString() विधि को ओवरराइड करके उस पर घूमने में कामयाब रहा हूं। शायद वह एक शॉट देना चाहें। यद्यपि यह हासिल करने का एक हैक-वाई तरीका है। अगर मैं बेहतर समाधान के साथ आता हूं तो मैं इसे बाद में अपडेट करूंगा। –