redirecionando...

O endereco deste blog mudou. Você está sendo redirecionado...

quarta-feira, 13 de dezembro de 2006

Annotation X Compiler

Hoje presenciei uma "experiência" nova... O Eclipse tem um recurso muito legal chamado "Clean Up" que faz correções no seu código fonte como remover variáveis locais não utilizadas, colocar o modificador final quando possível, transformar comandos for para a sintaxe do java 5 (foreach), entre outras... Porém, nem tudo são flores. Eu executei o comando em um código e aconteceu o seguinte:

// O código originalmente era:
for (int i=0; i<query.getResults().length; i++) {
  ...
}

// Após a execução do Clean-up ficou assim:
for (@SuppressWarnings("unused")
  final String element : query.getResults()) {
  ...
  // A variável element não foi usada neste código
}

Legal! O problema é que existe um bug no javac da Sun que não reconhece a annotation @SuppressWarnings("unused") dentro do código do método gerando um erro um tanto medonho:
An exception has occurred in the compiler (1.5.0_08). Please file a bug at the Java Developer Connection (http://java.sun.com/webapps/bugreport) after checking the Bug Parade for duplicates. Include your program and the following diagnostic in your report. Thank you..

No final das contas foi só retirar a annotation @SuppressWarnings("unused") do código que o problema foi resolvido.

Espero que esta dica seja útil para outras pessoas!

Nenhum comentário: