Pergunta

Eu tenho algumas classes que implementam interfaces, algumas das quais têm métodos cujos parâmetros são, por definição, não utilizados na implementação de classe específica. Por exemplo, uma interface "forma" pode definir um método "contém (ponto)", mas minha classe específica define uma linha, que não pode conter nada, pois é uma dimensional, por isso sempre retorna falsa e nunca usa o ponto.

No entanto, quando compilar com o GCJ, sou agredido com centenas de mensagens "Aviso: o parâmetro x não utilizam".

Tentei usar a bandeira -wno -tudo para desativar os avisos, bem como os outros documentados na Manpage da GCJ, mas estes não têm efeito. Como faço para instruir o GCJ a não me incomodar com esses avisos triviais?

Foi útil?

Solução 2

Embora eu não tenha encontrado uma opção para fazer isso diretamente com o GCJ, uma solução alternativa é colocar a saída no Grep e procurar o padrão "erro:", e depois mostrar apenas essa linha e algumas linhas circundantes.

Por exemplo, Javac *.Java 2> & 1 | Grep -b 3 -a 2 "Erro:"

Outras dicas

Consegui desativar todos os avisos que afetam meu código -fonte usando:

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

Você pode querer adicionar mais -Wno-... bandeiras para desativar mais avisos. Para descobrir os sinalizadores possíveis, examinei o corpo dos métodos org.eclipse.jdt.internal.compiler.batch.main.handlewarningtoken e org.eclipse.jdt.internal.compiler.batch.main.handleerororWarningToken no eclipse Batch ecjsrc-3.5.2.zip e ecjsrc-3.8.zip.

Especifique todas essas bandeiras para desativar todos os avisos:

-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
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top