Eclipse-Formatter-Plugin fails due to wrong assumptions
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 45/100
Direção de pesquisa
Comece reproduzindo a classe Test mínima com o snippet da API do Eclipse e, em seguida, leia SnippetFormatter.java e seu método toReplacements(). Rastreie como a comparação sem espaços em branco faz o formatador do Eclipse retornar null. Está concluído quando o código-fonte de exemplo puder ser formatado pelo plugin sem essa falha, com o comportamento verificado por um teste de regressão.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
The Eclipse-Plugin has sometimes a problem when I call the formatter programatically inside Eclipse. I am using the Snippet from https://help.eclipse.org/latest/topic/org.eclipse.jdt.doc.isv/guide/jdt_api_codeformatter.htm to format a complete Java-File. I have created a minimal Test-Class:
package test;
/**
* Test Class
*
* Generated
*
*/
public class Test
{
}
The standalone-Formatter-Jar adds a HTML-Tag
before the "Generated". Unfortunately, when I call the plugin via the Eclipse-APIs:
final TextEdit edit =
codeFormatter.format(
CodeFormatter.K_COMPILATION_UNIT, // format a compilation unit
content, // source to format
0, // starting position
content.length(), // length
0, // initial indentation
"\r\n" // line separator
);
the method returns a null because it can not format the content. I have tracked the problem back to the class SnippetFormatter.java, Method toReplacements(). This method has the condition which checks the unformatted and the formatted source:
if (!NOT_WHITESPACE.retainFrom(source).equals(NOT_WHITESPACE.retainFrom(replacement))) {
throw new IllegalArgumentException(
"source = \"" + source + "\", replacement = \"" + replacement + "\"");
}
This condition checks that there are only whitespace-changes in the new formatted source. The Javadoc says:
under the assumption that they differ in whitespace alone.
Unfortunately, this assumption is not correct. The source has (as mentioned above) an additional non-whitespace change and the IllegalArgumentException is thrown. This Exception causes the Eclipse-Formatter-Class to fail and to return only null, thereby denying to format the source.
- Linguagem predominante
- Java
- Estrelas
- 6.2k
- Forks
- 940
- Merge médio
- 5min
- PRs com merge (30d)
- 8
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de google/google-java-format
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
google/google-java-format#1094 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
google/google-java-format#1470 · 5 reações ·
Mantenedores costumam responder em até 1 dia
-
IndexOutOfBoundsException - Wrong formatted content when dealing with latex StringTalvez livre de novo @Amlan2000 assumiu há 56 dias e não há nenhum pull request aberto. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 55/100
google/google-java-format#1439 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
unused import removal leaves extra blank line between package declaration and class Javadoc / declarationTalvez já em andamento @arimu1 assumiu há 65 dias. Aberta
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 62/100
google/google-java-format#1436 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
Eclipse
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 48/100
google/google-java-format#1428 · 4 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de google/google-java-format
Issues semelhantes
-
[Bug] The producer summary counts an unreported client version as a second version and warns about a version mixTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
apache/rocketmq-dashboard#6110 ·
Mantenedores costumam responder em até 4 dias
-
`Processing lsp` never exits and leaves orphaned processesTalvez já em andamento @overcast302 assumiu hoje. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
processing/processing4#1578 · 1 comentário ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
apache/doris-flink-connector#707 ·
-
ASM is not up-to-dateAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 60/100
Mantenedores costumam responder em até 1 dia
-
[BUG] S3 CORS responses omit Access-Control-Allow-Credentials for matched originsTalvez já em andamento Um pull request vinculado a esta issue está aberto ou já foi mesclado. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
floci-io/floci#5369 · 1 comentário ·
Mantenedores costumam responder em até 1 dia