feat(classfile): add resource schema reader - #2726
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2726 +/- ##
==========================================
+ Coverage 94.27% 94.32% +0.05%
==========================================
Files 32 32
Lines 10576 10637 +61
==========================================
+ Hits 9970 10033 +63
+ Misses 431 429 -2
Partials 175 175 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Code Review
This pull request introduces a resource schema loading system for XGo classfiles, enabling the discovery and validation of resource kinds and API scope bindings through source-level directives. It includes the implementation of a schema loader, comprehensive tests, and a new specification document. The review feedback focuses on enhancing diagnostic quality by tracking the source positions of resource declarations, which would allow for more precise error messages when encountering duplicate types or undeclared parent kinds.
4d407c5 to
c1db598
Compare
956dd27 to
e352268
Compare
Define framework resource kinds, pack-document discovery, typed scope bindings, and static tool semantics for classfile resources. Specify active project groups and flat project lowering, including shared project types, fragment ordering, field initialization, and callback assembly. Clarify pack-document merging and DQL query fragments relative to implicit discovery roots. Fixes goplus#2704 Updates goplus#2719 Updates goplus#2802 Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
b3c2bf3 to
58c2bf9
Compare
Add `cl/outline/classfile` to load resource schemas declared by typed framework packages. Collect resource kinds, discovery query fragments, handle-bearing types, and API scope bindings from Go and XGo source. Make outline loading read Go source expressions reliably and defer generic constraint validation until recursive types are complete. This keeps real framework packages working with Go 1.24 without accepting invalid type arguments. Updates goplus#2704 Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
58c2bf9 to
630f287
Compare
Add
cl/outline/classfileto load resource schemas declared by typed framework packages.Collect resource kinds, discovery query fragments, handle-bearing types, and API scope bindings from Go and XGo source.
Make outline loading read Go source expressions reliably and defer generic constraint validation until recursive types are complete. This keeps real framework packages working with Go 1.24 without accepting invalid type arguments.
Updates #2704