2010-01-13 119 views
2

我有一些類實現接口,其中一些類的方法參數在特定的類實現中沒有被使用。例如一個「Shape」接口可以定義一個「contains(point)」方法,但是我的特定類定義了一行,因爲它是一維的,所以它不能包含任何東西,所以它總是返回false並且從不使用point。如何忽略使用GCJ的警告

但是,當我用GCJ進行編譯時,我遇到了數百個「警告:參數x未使用」消息的攻擊。

我嘗試使用-Wno-all標誌來禁用警告,以及gcj的聯機幫助頁中記錄的其他警告,但這些都沒有效果。我如何指示GCJ不要用這些微不足道的警告來打擾我?

回答

1

儘管我沒有找到直接使用gcj執行此操作的選項,但一種解決方法是將輸出傳輸到grep並查找模式「error:」,然後僅顯示該行和幾條周圍行。

例如 javac * .java 2> & 1 |的grep -B 3 -A 2「錯誤:」

2

我已經成功地禁止使用影響了我的源代碼,所有的警告:

gcj -Wno-all -Wno-unchecked -Wno-raw *.java 

您可能需要增加更多的-Wno-...標誌禁用更多的警告。爲了找出可能的標誌,我在Eclipse批處理編譯器中檢查了org.eclipse.jdt.internal.compiler.batch.Main.handleWarningToken和org.eclipse.jdt.internal.compiler.batch.Main.handleErrorOrWarningToken方法的主體ecjsrc-3.5.2.zipecjsrc-3.8.zip

指定所有這些標誌來獲取所有警告無效:

-Wno-all 
-Wno-allDeadCode 
-Wno-allDeprecation 
-Wno-allJavadoc 
-Wno-allOver-ann 
-Wno-all-static-method 
-Wno-assertIdentifier 
-Wno-boxing 
-Wno-charConcat 
-Wno-compareIdentical 
-Wno-conditionAssign 
-Wno-constructorName 
-Wno-deadCode 
-Wno-dep-ann 
-Wno-deprecation 
-Wno-discouraged 
-Wno-emptyBlock 
-Wno-enumIdentifier 
-Wno-enumSwitch 
-Wno-enumSwitchPedantic 
-Wno-fallthrough 
-Wno-fieldHiding 
-Wno-finalBound 
-Wno-finally 
-Wno-forbidden 
-Wno-hashCode 
-Wno-hiding 
-Wno-includeAssertNull 
-Wno-incomplete-switch 
-Wno-indirectStatic 
-Wno-interfaceNonInherited 
-Wno-intfAnnotation 
-Wno-intfNonInherited 
-Wno-intfRedundant 
-Wno-javadoc 
-Wno-localHiding 
-Wno-maskedCatchBlock 
-Wno-maskedCatchBlocks 
-Wno-nls 
-Wno-noEffectAssign 
-Wno-noImplicitStringConversion 
-Wno-null 
-Wno-nullDereference 
-Wno-over-ann 
-Wno-over-sync 
-Wno-packageDefaultMethod 
-Wno-paramAssign 
-Wno-pkgDefaultMethod 
-Wno-raw 
-Wno-redundantSuperinterface 
-Wno-resource 
-Wno-semicolon 
-Wno-serial 
-Wno-specialParamHiding 
-Wno-static-access 
-Wno-static-method 
-Wno-staticReceiver 
-Wno-super 
-Wno-suppress 
-Wno-switchDefault 
-Wno-syncOverride 
-Wno-synthetic-access 
-Wno-syntheticAccess 
-Wno-typeHiding 
-Wno-unavoidableGenericProblems 
-Wno-unchecked 
-Wno-unnecessaryElse 
-Wno-unqualifiedField 
-Wno-unqualified-field-access 
-Wno-unsafe 
-Wno-unused 
-Wno-unusedAllocation 
-Wno-unusedArgument 
-Wno-unusedArguments 
-Wno-unusedImport 
-Wno-unusedImports 
-Wno-unusedLabel 
-Wno-unusedLocal 
-Wno-unusedLocals 
-Wno-unusedPrivate 
-Wno-unusedThrown 
-Wno-unusedTypeArgs 
-Wno-uselessTypeCheck 
-Wno-varargsCast 
-Wno-warningToken