Skip to content

Preserve Go tuple and pointer type identities - #436

Open
CaelmBleidd wants to merge 2 commits into
buraindo/gofrom
caelmbleidd/go-type-identity-20261013
Open

CaelmBleidd wants to merge 2 commits into
buraindo/gofrom
caelmbleidd/go-type-identity-20261013

Conversation

@CaelmBleidd

@CaelmBleidd CaelmBleidd commented Oct 13, 2026 •

Copy link
Copy Markdown
Member

Go API type identities collapsed different tuple element schemas and erased the pointer marker in compound types. Render actual typed tuple/pointer names and use class-safe symmetric equality/hash, with cycle-aware inspection of recursive named schemas. This prevents consumers from confusing (bool, int, rune) with a different three-BasicType tuple or struct{int} with struct{*int}.

Targets the actual Go API branch buraindo/go at816194b963, because jacodb-go is absent from neo. This is a small producer fix; no upstream merge is included.

Validation: four GoTypeIdentityTest contracts and the repository checkLicense task passed in a normal clone. Remaining API limits include absent struct field-name metadata, TypeParam binder identity and byte/rune alias normalization; this change does not claim exhaustive Go type support. Consumer native regression validation is tracked separately in USVM #469.

Final head 043845a additionally pins ArkAnalyzer @types/node to 18.19.130 before its existing install/postinstall. Full workflow run 38340695753 passed. Published API artifact a839f86 was verified against its exact commit and all nine modules; the final workflow-only commit does not change API bytes.

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Test results on JDK 11

 73 files   73 suites   5m 13s ⏱️
636 tests 628 ✅ 8 💤 0 ❌
708 runs  700 ✅ 8 💤 0 ❌

Results for commit 043845a.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Test results on JDK 19

 73 files   73 suites   4m 46s ⏱️
636 tests 626 ✅ 10 💤 0 ❌
708 runs  698 ✅ 10 💤 0 ❌

Results for commit 043845a.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Test results on JDK 8

 73 files   73 suites   4m 55s ⏱️
636 tests 623 ✅ 13 💤 0 ❌
708 runs  695 ✅ 13 💤 0 ❌

Results for commit 043845a.

♻️ This comment has been updated with latest results.

@github-actions

github-actions Bot commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Lifecycle test results

78 tests   78 ✅  1m 28s ⏱️
 7 suites   0 💤
 7 files     0 ❌

Results for commit 043845a.

♻️ This comment has been updated with latest results.

@codecov

codecov Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 52.27273% with 21 lines in your changes missing coverage. Please review.
⚠️ Please upload report for BASE (buraindo/go@816194b). Learn more about missing BASE report.

Files with missing lines Patch % Lines
...odb-go/src/main/kotlin/org/jacodb/go/api/GoType.kt 52.27% 12 Missing and 9 partials ⚠️
Additional details and impacted files
@@              Coverage Diff               @@
##             buraindo/go     #436   +/-   ##
==============================================
  Coverage               ?   65.43%           
  Complexity             ?     2479           
==============================================
  Files                  ?      276           
  Lines                  ?    16493           
  Branches               ?     2359           
==============================================
  Hits                   ?    10792           
  Misses                 ?     4767           
  Partials               ?      934           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant