Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Allow to provide source file java language version

Aberta
#975 0 comentários 1 reação 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
38/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
java
Domínio
tooling

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

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.

Mais de google/google-java-format

Todas as issues de google/google-java-format

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

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