Skip to content

feat: follow intermediate quantity results through helper methods - #20

Merged
ScottishTapWater merged 1 commit into
feat/discovery-membersfrom
feat/discovery-methods
Oct 24, 2026
Merged

ScottishTapWater merged 1 commit into
feat/discovery-membersfrom
feat/discovery-methods

Conversation

@ScottishTapWater

Copy link
Copy Markdown
Contributor

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.

@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 7d3633c into main Oct 24, 2026
2 checks passed
@ScottishTapWater
ScottishTapWater deleted the feat/discovery-methods branch October 24, 2026 18:07
ScottishTapWater added a commit that referenced this pull request Oct 24, 2026
## Summary

Stack 5 of 6, based on #20.

- Parse canonical generated quantity names, including rational powers,
using the dimensional model.
- Discover unresolved simple type names in parameters, public API
signatures and collection declarations.
- Let those quantities participate in arithmetic without a producing
initializer, including default values and collection elements.
- Preserve existing symbols and explicit aliases; reject qualified
unresolved names and unrelated indexer result types.
- Keep parsing, source discovery and generation planning separate.

## Verification

- Solution build: no warnings or errors.
- Core tests: 471 passed.
- Full Roslyn suite: 409 passed before final review regressions; focused
final regression runs passed (16, 10 and 5 cases).
- Format verification and `git diff --check` passed.
- Independent C# production and test reviews, followed by fixes and
re-review.

The next PR adds referenced-assembly discovery and package
interoperability coverage.
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