google / google/google-java-format

Bug: error when too long line before ending triple quotes

Aberta
#969 1 comentário 1 reação 0 responsáveis Ver no GitHub
Linguagem predominante
Java
Estrelas
6.2k
Forks
937
Merge médio
6min
PRs com merge (30d)
3

Descrição

I have a very simple example where google-java-format errors:

```
class Problem {
static String problematic() {
return """
A too long string directly before the ending triple quote seems to cause a problem with google java formatter""";
}
}
```

When I run the formatter on this file (using `java -jar /path/to/google-java-format-1.17.0-all-deps.jar /path/to/Problem.java`) I get the following error:

```
/path/to/Problem.java:error: Something has gone terribly wrong. We planned to make the below formatting change, but have aborted because it would unexpectedly change the AST.
Please file a bug: https://github.com/google/google-java-format/issues/new

=== Actual: ===

class Problem {

static String problematic() {
return "A too long string directly before the ending triple quote seems to cause a problem\"\n + \" with google java formatter";
}
}
=== Expected: ===

class Problem {

static String problematic() {
return "A too long string directly before the ending triple quote seems to cause a problem with google java formatter";
}
}

```

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Start by reproducing the failure with the provided Problem.java example using google-java-format-1.17.0. Trace the formatter behavior for a long text block immediately before the closing triple quotes; done means formatting completes without the AST-change error and produces the expected concatenated string.

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

Avaliação

Stack de tecnologia
java
Domínio
tooling
Tipo de issue
Bug
Dificuldade
3/5
Tempo estimado
1-2 dias
Status de atividade
Estagnada
Clareza
Claramente especificada
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

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