Describe the bug
The java parser generates different outputs for the same input.
To Reproduce
- clone main branch and build abcoder
- run abcoder on testdata/java/4_full_maven_repo twice
- 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.
Describe the bug
The java parser generates different outputs for the same input.
To Reproduce
Expected behavior
For the same repo, abcoder should generate two identical uniASTs.
Screenshots
Version:
main branch
Environment:
The output of
go env.Additional context
Add any other context about the problem here.