Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

parser/java: output instability

Aperta
#95 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
38/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
go, java
Ambito
compilers

Direzione di ricerca

Compila abcoder, esegui i due comandi su testdata/java/4_full_maven_repo e confronta gli output con script/diffjson.py. Inizia tracciando il percorso parser/java coinvolto nella generazione dei nomi dei metodi, usando le differenze segnalate di InMemoryUserRepository come caso riproducibile. Il lavoro è completo quando analisi ripetute producono uniASTs identici.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Describe the bug

The java parser generates different outputs for the same input.

To Reproduce

  1. clone main branch and build abcoder
  2. run abcoder on testdata/java/4_full_maven_repo twice
  3. compare the generated uniasts (using the smart diff script)

Expected behavior

For the same repo, abcoder should generate two identical uniASTs.

Screenshots

[~/Programs/test/arti/java/abcoder]   [main  =]   [05:43:56 PM]   zhenyang
$ git status
On branch main
Your branch is up to date with 'origin/main'.

nothing to commit, working tree clean

[~/Programs/test/arti/java/abcoder]   [main  =]   [05:43:57 PM]   zhenyang
$ go build

[~/Programs/test/arti/java/abcoder]   [main  =]   [05:44:02 PM]   zhenyang
$ ./abcoder parse java testdata/java/4_full_maven_repo -o java_1.json
2025/09/26 17:44:13 Using JDTLS_ROOT_PATH from environment: /home/zhenyang/O/data/Programs/bytedance/LanguageServers
[ERROR]17:44:13 client.go:264: LSP server stderr: OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.
[ERROR]17:44:14 client.go:264: LSP server stderr: Sep 26, 2025 5:44:14 PM org.apache.aries.spifly.BaseActivator log
[ERROR]17:44:14 client.go:264: LSP server stderr: INFO: Registered provider ch.qos.logback.classic.servlet.LogbackServletContainerInitializer of service jakarta.servlet.ServletContainerInitializer in bundle ch.qos.logback.classic
[ERROR]17:44:14 client.go:264: LSP server stderr: Sep 26, 2025 5:44:14 PM org.apache.aries.spifly.BaseActivator log
[ERROR]17:44:14 client.go:264: LSP server stderr: INFO: Registered provider ch.qos.logback.classic.spi.LogbackServiceProvider of service org.slf4j.spi.SLF4JServiceProvider in bundle ch.qos.logback.classic

[~/Programs/test/arti/java/abcoder]   [main =]   [05:44:47 PM]   zhenyang
$  ./abcoder parse java testdata/java/4_full_maven_repo -o java_2.json >/dev/null 2>&1

[~/Programs/test/arti/java/abcoder]   [main =]   [05:45:06 PM]   zhenyang
$ ./script/diffjson.py java_1.json java_2.json 2>&1 | head

Differences found between 'java_1.json' and 'java_2.json':

Value Changed at: root['Modules']['com.example.test:core-module:1.0.0-SNAPSHOT']['Packages']['com.example.core.repository']['Types']['InMemoryUserRepository']['Methods']['findAll()']['Name']
  - old: 'findAll()'
  + new: 'InMemoryUserRepository.findAll()'
--------------------
Value Changed at: root['Modules']['com.example.test:core-module:1.0.0-SNAPSHOT']['Packages']['com.example.core.repository']['Types']['InMemoryUserRepository']['Methods']['save(User)']['Name']
  - old: 'InMemoryUserRepository.save(User)'
  + new: 'save(User)'
--------------------

Version:

main branch

Environment:

The output of go env.

Additional context

Add any other context about the problem here.

Lingua principale
Go
Stelle
391
Fork
58
Merge medio
2g 21h
PR unite (30g)
1

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di cloudwego/abcoder

Tutte le issue di cloudwego/abcoder

Issue simili

Altre issue su Go

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.