redhat-developer / redhat-developer/vscode-java

Wrong reported errors by compiler

Aberta
#730 6 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

bug diagnostics
Linguagem predominante
TypeScript
Estrelas
2.3k
Forks
547
Merge médio
20h 1min
PRs com merge (30d)
11

Descrição

I have some pieces of code that compiles fine in IntelliJ and Gradle but VSCode reports them as errors.
Examples:

  1. Error in import

    import sun.security.ssl.ProtocolVersion;

screenshot 2018-11-30 at 11 46 27

I have to point that I'm not using the JVM in the error description. Here's my workspace's settings:

{
   "java.home": "/Users/augusto.dias/.sdkman/candidates/java/8.0.181-oracle",
   "java.jdt.ls.vmargs": "-javaagent:/Users/augusto.dias/my-project/.vscode/lombok.jar -Xbootclasspath/a:/Users/augusto.dias/my-project/.vscode/lombok.jar"
}
  1. Wrong exception handling

I have a RetryTemplate class from spring and I'm calling execute as the following example:

retryTemplate.execute(getCallback(),getRecovery());

private RetryCallback<Void, IOException> getCallback() {
    return context -> {
        if (context.getLastThrowable() instanceof IOException) {
                    IOException e = (IOException) context.getLastThrowable();
    // do some other things
                    throw e;
        }
        return null;
    };
}

private RecoveryCallback getRecovery() {
    return context -> {
        Throwable lastThrowable = context.getLastThrowable();
    // do some other things
        throw lastThrowable instanceof Exception ? (Exception) lastThrowable : new Exception(lastThrowable);
    }
}

screenshot 2018-11-30 at 13 54 27

  1. And finally: false error in method signature
    assertThat((List) ((Envelope) responseEntity.getBody()).getData(), hasItems(siteDTO));
    assertThat((List) ((Envelope) responseEntity.getBody()).getData(), hasSize(1));

screenshot 2018-11-30 at 13 57 43

Environment
  • Operating System: macOS Mojave
  • JDK version: 1.8
  • Visual Studio Code version: 1.29.1
  • Java extension version: 0.34.0

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece reproduzindo os três diagnósticos relatados nos snippets Java fornecidos usando as configurações do workspace, JDK 1.8, VS Code 1.29.1 e Java extension 0.34.0. Compare os resultados do servidor de linguagem com o IntelliJ e o Gradle e, em seguida, isole se cada erro falso tem a mesma causa. A tarefa estará concluída quando os exemplos afetados não produzirem mais diagnósticos incorretos e houver cobertura de regressão para os casos relatados.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
java, vscode
Domínio
devtools
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Precisa de esclarecimento
Facilidade para iniciantes
25/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.