Skip to content

feat: add explicit tuple expression scope references - #979

Open
Seddryck wants to merge 2 commits into
mainfrom
feat/tuple-expression-scopes
Open

feat: add explicit tuple expression scope references#979
Seddryck wants to merge 2 commits into
mainfrom
feat/tuple-expression-scopes

Conversation

@Seddryck

@Seddryck Seddryck commented Sep 7, 2026

Copy link
Copy Markdown
Owner

Adds ^$n, ^^$n, and deeper tuple references to select the input of an exact expression scope. Nested invocations preserve their enclosing inputs; pipeline stages and grouping do not add scopes. Missing scopes and invalid tuple access return null without fallback, while unqualified $n behavior is preserved.

Uses native TupleProjectionSyntax roots from Expressif.Syntax 0.37.0. Binding reads RootDepth directly, preserving authored source text, root children, and spans. Binding, evaluation, serialization, CLI inspection, documentation, and conformance coverage are included. Invalid scoped coercion selectors are rejected rather than losing their scope.

Validation:

  • Solution build: zero warnings/errors; StyleCop analyzers clean.
  • Full .NET 10 library suite: 4,897 passed, one skipped.
  • Native syntax and scope checks: 58 passed on each of .NET 8, 9, and 10.
  • CLI suite: all 238 tests passed.

close #975

@coderabbitai

coderabbitai Bot commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Team

Run ID: b34fbdd7-29fe-49c9-b17e-86cb9a8efb81


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added the new-feature Request for a new feature in the tool label Sep 7, 2026
@codecov

codecov Bot commented Sep 7, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 93.82716% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 86.20%. Comparing base (0493eeb) to head (e409332).

Files with missing lines Patch % Lines
Expressif/Bindings/ExpressifBinder.cs 86.95% 1 Missing and 2 partials ⚠️
Expressif/Syntax/ExpressionParser.cs 92.00% 0 Missing and 2 partials ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #979      +/-   ##
==========================================
+ Coverage   86.11%   86.20%   +0.08%     
==========================================
  Files         290      290              
  Lines        8945     9017      +72     
  Branches     1655     1671      +16     
==========================================
+ Hits         7703     7773      +70     
  Misses        792      792              
- Partials      450      452       +2     
Flag Coverage Δ
expressif-cli-net10.0 33.22% <30.86%> (-0.06%) ⬇️
expressif-net10.0 84.87% <91.25%> (+0.09%) ⬆️
expressif-net8.0 84.87% <91.25%> (+0.09%) ⬆️
expressif-net9.0 84.87% <91.25%> (+0.09%) ⬆️
expressif-serialization-net10.0 4.39% <0.00%> (-0.05%) ⬇️
expressif-serialization-net8.0 4.39% <0.00%> (-0.05%) ⬇️
expressif-serialization-net9.0 4.39% <0.00%> (-0.05%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ 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.

@sonarqubecloud

sonarqubecloud Bot commented Sep 7, 2026

Copy link
Copy Markdown

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

Labels

new-feature Request for a new feature in the tool

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Allow tuple references to explicitly access enclosing expression scopes

1 participant