Skip to content

feat: infer intermediate quantities through fields and properties - #19

Merged
ScottishTapWater merged 1 commit into
feat/discovery-branchesfrom
feat/discovery-members
Oct 24, 2026
Merged

ScottishTapWater merged 1 commit into
feat/discovery-branchesfrom
feat/discovery-members

Conversation

@ScottishTapWater

Copy link
Copy Markdown
Contributor

Stack

Slice 3 of 6, based on #18. Review against feat/discovery-branches.

Summary

Follow field/property initialisers and expression-bodied getters to infer unresolved intermediate quantities, including cross-file and instance member access. Extract declaration eligibility, symbol caching and cycle detection into a focused resolver; expression analysis uses each declaration's semantic model.

Verification

  • Build: zero warnings/errors; Roslyn: 356 passing.
  • Formatting and diff checks clean.
  • Independent production and test reviews clean, including class responsibilities and test scope.
  • Covers member forms, chains, mismatches, cycles, and refreshing unchanged consumers when another declaration file changes.

@ScottishTapWater
ScottishTapWater enabled stacked auto-merge (squash) October 24, 2026 18:04
stacked auto-merge was automatically disabled October 24, 2026 18:06

Auto-merge was disabled for another pull request in the stack

@ScottishTapWater
ScottishTapWater merged commit 379a728 into main Oct 24, 2026
2 checks passed
@ScottishTapWater
ScottishTapWater deleted the feat/discovery-members branch October 24, 2026 18:07
ScottishTapWater added a commit that referenced this pull request Oct 24, 2026
## Stack

Slice 4 of 6, based on #19. Review against `feat/discovery-members`.

## Summary

Follow selected method and local-function returns across files,
including expression bodies, consistent block-body returns and reduced
extension calls. Ignore nested functions' returns and preserve overload
selection, cycle protection and declared-type validation. Async/iterator
inference is outside this slice.

## Verification

- Build: zero warnings/errors; Roslyn: 377 passing.
- Formatting and diff checks clean.
- Independent production and test reviews completed; extension-call
finding fixed with regressions and re-reviewed.
- Covers overload ambiguity, nested functions/lambdas, conflicting
returns and cross-file edits.
- Adds the spike's star/delta winding loss and resistance roundtrip
acceptance cases.
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