2009-07-06 15 views
15

की ग्रहण 3.5 की चेतावनियों को कैसे दबा सकता हूं, मैं class for detecting email addresses का उपयोग करता हूं जो मेल खाने वाले व्यवहार को कॉन्फ़िगर करने के लिए स्थिर अंतिम बूलियन का उपयोग करता है। जब से मैं 3.5 ग्रहण करने के लिए उन्नत मैं, मृत कोड के बारे में चेतावनी प्राप्त के बाद से ग्रहण देखती है कि इस में एक शाखा पर पहुंच नहीं किया जा सकता:मैं मृत कोड

private static final boolean ALLOW_DOMAIN_LITERALS = false; 
private static final String domain = ALLOW_DOMAIN_LITERALS ? rfc2822Domain : rfc1035DomainName; 

अजीब तरह से पर्याप्त यह इस के साथ खुश है:

private static final String domain; 
static { 
    if(ALLOW_DOMAIN_LITERALS) { 
     domain = rfc2822Domain; 
    } else { 
     domain= rfc1035DomainName; 
    } 
} 

यह बाद से लगता है कि आम if(DEBUG) पैटर्न को पहचानता है, लेकिन टर्नरी ऑपरेटर गिनती प्रतीत नहीं होता है।

चूंकि मैं वर्ग को खुश रखने के लिए कक्षा को बहुत अधिक नहीं चाहता था, इसलिए मैं कोड बदलने के बजाय शीर्ष पर @SuppressWarnings डालना पसंद करूंगा। दुर्भाग्य से मुझे ब्रूट-फोर्स "all" से अलग मिलान नहीं मिल रहा है। क्या मृत कोड पहचान के लिए कोई मूल्य है? एडम से की टिप्पणी:

उत्तर

18

अद्यतन में चयन Ignore

ग्रहण 3.6 और नए ग्रहण संस्करणों @SuppressWarnings("unused") में अब दबाने के लिए 'मृत कोड' चेतावनी इस्तेमाल किया जा सकता। Christopher Stock's answer देखें।

@SuppressWarnings के लिए Eclipse 4.4(Luna) help भी देखें।

मूल जवाब:

सभी SuppressWarnings मूल्यों ग्रहण 3.5 "जानता" this page में सूचीबद्ध हैं। ऐसा लगता है कि केवल नए मृत-कोड पहचान को दबाने के लिए कोई मूल्य नहीं है। लेकिन अगर आप बस से पहले domain घोषणा @SuppressWarnings("all") उपयोग कर सकते हैं तो यह केवल कि लाइन पूरी कक्षा के लिए नहीं करने के लिए चेतावनी को दबाने होगा:

private static final boolean ALLOW_DOMAIN_LITERALS = false; 
@SuppressWarnings("all") 
private static final String domain = ALLOW_DOMAIN_LITERALS ? rfc2822Domain : rfc1035DomainName; 

क्योंकि मृत कोड की जांच के लिए एक नया एक है आप भी Eclipse bug database में एक enchancement सुझाव दे सकते हैं टर्नरी ऑपरेशन का समर्थन करने के लिए भी।

+1

यहां बगजिला प्रविष्टि है: https://bugs.eclipse.org/bugs/show_bug.cgi?आईडी = 282768 बगज़िला में निश्चित रूप से डुप्लिकेट खोज और विकी सिंटैक्स स्टैक ओवरव्लो दोनों की कमी है :-) –

+1

मैंने गायब @SuppressWarnings के लिए भी एक जोड़ा: https://bugs.eclipse.org/bugs/show_bug.cgi?id= 282770 –

+3

दोनों अनुरोधों की स्थिति अब सत्यापित की गई है – Casebash

8

Windows -> Preferences > Java > Compiler > Errors/WarningsPotential programming problems धारा

+1

लेकिन मुझे आमतौर पर सुविधा पसंद है, यह बस यहां विफल रहता है। अगर यह मेरा अपना कोड होगा तो मैं इसे बदल दूंगा। आप इसे प्रोजेक्ट लेवल पर भी अक्षम कर सकते हैं (यानी प्रोजेक्ट गुणों में प्रोजेक्ट-विशिष्ट कंपाइलर सेटिंग्स सक्षम करें), लेकिन मैं ऐसा भी नहीं करना चाहता हूं। –

6

आप

@SuppressWarnings("unused") 

का उपयोग कर अधिक जानकारी के लिए ग्रहण दस्तावेज़ देखें 'मृत कोड' चेतावनी निष्क्रिय कर सकते हैं:

http://help.eclipse.org/kepler/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftask-suppress_warnings.htm

"अप्रयुक्त" चेतावनी अप्रयुक्त कोड के सापेक्ष को दबाने के लिए और मृत कोड

ग्रीटिंग्स

क्रिस्टोफर

+2

वोट दिया गया क्योंकि यह किसी के आने के लिए उपयोगी हो सकता है यहाँ। यह सुविधा तब मौजूद नहीं थी, लेकिन अब यह है (स्वीकार किए गए उत्तर पर मेरी टिप्पणियों में बगजिला मुद्दे देखें)। –

संबंधित मुद्दे