Skip to content

feat(dql/maps): add runtime query evaluation#2707

Draft
aofei wants to merge 3 commits into
goplus:mainfrom
aofei:dql-eval
Draft

feat(dql/maps): add runtime query evaluation#2707
aofei wants to merge 3 commits into
goplus:mainfrom
aofei:dql-eval

Conversation

@aofei

@aofei aofei commented Apr 10, 2026

Copy link
Copy Markdown
Member

No description provided.

@codecov

codecov Bot commented Apr 10, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 50.00000% with 12 lines in your changes missing coverage. Please review.
✅ Project coverage is 93.97%. Comparing base (df19f4a) to head (ec0c6cc).
⚠️ Report is 4 commits behind head on main.

Files with missing lines Patch % Lines
cl/compile.go 60.00% 5 Missing and 1 partial ⚠️
cl/func_type_and_var.go 33.33% 5 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2707      +/-   ##
==========================================
- Coverage   94.08%   93.97%   -0.11%     
==========================================
  Files          32       32              
  Lines       10061    10081      +20     
==========================================
+ Hits         9466     9474       +8     
- Misses        425      435      +10     
- Partials      170      172       +2     

☔ View full report in Codecov by Sentry.
📢 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces support for index-based access in DQL queries by adding the XGo_Index method and updates the yieldAnyNode logic. My review highlights potential memory issues with the unbounded evalCache and the eager materialization of results in filterNodeSet. Additionally, I have suggested using strconv.ParseInt instead of strconv.Atoi to support non-decimal integer literals consistently.

Comment thread dql/maps/eval.go
Comment thread dql/maps/eval.go
Comment thread dql/maps/eval.go
Comment thread dql/maps/eval.go
Add `doc/classfile-resource-spec.md` to define the resource model for
XGo classfile frameworks.

The specification now defines discovery-based resource introduction over
project-scoped pack documents, work classfile-implied top-level
resources, and static tool semantics for typed resource references.

This also updates `doc/classfile-spec.md` to define `pack` directives,
pack roots, and pack documents as the standardized discovery substrate
for classfile resource semantics.

Fixes goplus#2704
Updates goplus#2719

Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
@aofei aofei force-pushed the dql-eval branch 3 times, most recently from ec75116 to b60c7e9 Compare April 15, 2026 09:32
aofei added 2 commits April 15, 2026 17:40
Add `cl/outline/classfile` to load resource schema from one typed
framework package.

This reader collects resource kinds, discovery directives,
name-discovery directives, handle-bearing types, and
`resource-api-scope-binding` directives from Go and XGo source.

Also fix `outline.NewPackage` to load Go-file constant expressions when
reading package outlines. This makes the schema reader work on real Go
framework packages such as spx, not just on synthetic test packages.

Updates goplus#2704

Signed-off-by: Aofei Sheng <aofei@aofeisheng.com>
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