Allow to provide source file java language version
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 38/100
Direção de pesquisa
Comece rastreando como o google-java-format aceita opções do parser e da linha de comando e, em seguida, revise a discussão da JLS Section 3.8 sobre identificadores reservados sensíveis à versão. Determine se source ou release é a opção apropriada voltada ao usuário e verifique se a formatação de código-fonte Java mais antigo com identificadores como var, yield ou record é bem-sucedida, enquanto a formatação do código-fonte atual permanece inalterada.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
When formatting files with google-java-format, the parser uses the same source version as its own runtime version (running google-java-format on JDK X implies that that Java source files are conformant with JDK X), but this is actually not necessary true and files may be aiming for a different (older) Java version. Nowadays it is a common pattern to use --release flag to compiler for a specific older version of the language using a newer JDK.
Unfortunately Java language is not fully backward compatible and some features have introduced breaking changes like reserved identifiers var, with, yieldorrecord` (see current list in JLS Section 3.8)
For files who were designed to compile with an older Java version and who are using now reserved identifiers, this cause their processing with google-java-format using a recent JDK version to fail.
A solution would be to allow to pass either the source or the release option to the java parser to adapt its own parsing to the java version used by the file.
- Linguagem predominante
- Java
- Estrelas
- 6.2k
- Forks
- 936
- Merge médio
- 6min
- PRs com merge (30d)
- 3
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 ·
-
Complementary Teamups Aberta
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 15/100
google/google-java-format#1450 · 1 reação ·
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 55/100
google/google-java-format#1439 · 1 comentário ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 62/100
google/google-java-format#1436 · 2 comentários ·
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 48/100
google/google-java-format#1428 · 4 comentários ·
Todas as issues de google/google-java-format
Issues semelhantes
-
executions.Query — startDate and timeRange filters are sent with inverted comparison operators Abertaarea/plugin
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
kestra-io/plugin-kestra#190 ·
-
litertlm-android AAR ships no consumer ProGuard rules → "mid == null" SIGABRT in minified apps Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
google-ai-edge/LiteRT-LM#3739 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
integra-team-red/meet-map#249 ·
-
[Studio][Bug] Cancelled create-user dialog keeps the password and admin switch for the next attempt Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
apache/rocketmq-dashboard#5064 ·
-
Consent portal: creating a duplicate Purpose shows a generic error instead of "already exists" Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
wso2/dpdp-accelerator#287 ·