Skip to content

feat(fcs): expose FSharpMemberOrFunctionOrValue.IsPropertyAccessor#19883

Open
T-Gro wants to merge 5 commits into
mainfrom
fix/issue-18157
Open

feat(fcs): expose FSharpMemberOrFunctionOrValue.IsPropertyAccessor#19883
T-Gro wants to merge 5 commits into
mainfrom
fix/issue-18157

Conversation

@T-Gro

@T-Gro T-Gro commented Jun 2, 2026

Copy link
Copy Markdown
Member

Summary

Adds FSharpMemberOrFunctionOrValue.IsPropertyAccessor — a convenience property that returns true when the symbol represents a compiler-generated property accessor (get_X or set_X).

Implementation

Implemented as a simple disjunction of the existing IsPropertyGetterMethod / IsPropertySetterMethod so behaviour is identical across both F#-declared and imported .NET members.

Copilot and others added 2 commits June 2, 2026 12:55
…roperty (issue #18157)

These tests do not yet compile - the API member is added in the next commit.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…18157)

Adds a convenience property that returns true when the MFV represents a
compiler-generated property accessor (get_X or set_X). Implemented as a
disjunction of the existing IsPropertyGetterMethod / IsPropertySetterMethod
so behaviour is identical across both F#-declared and imported .NET members.

Surface-area baseline updated. Sprint 01 tests adjusted to use
getParseAndCheckResults + GetAllUsesOfAllSymbolsInFile so they actually
exercise the new API.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

❗ Release notes required


✅ Found changes and release notes in following paths:

Change path Release notes path Description
src/Compiler docs/release-notes/.FSharp.Compiler.Service/11.0.100.md

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Comment thread src/Compiler/Symbols/Symbols.fs Outdated
| V v -> v.IsPropertySetterMethod
| _ -> false

member x.IsAccessorProperty =

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

It should be IsPropertyAccessor I think?

@github-actions github-actions Bot added the AI-Tooling-Check-Bypassed Tooling check: non-fork PR, not diff-analyzed label Jun 2, 2026
Copilot and others added 2 commits June 3, 2026 12:44
Address review feedback from @auduchinok: rename the member to
IsPropertyAccessor for consistency with existing naming conventions
(IsPropertyGetterMethod, IsPropertySetterMethod).

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions github-actions Bot added the AI-Tooling-Check-Scanned-Clean Tooling check: diff analyzed, no interesting infrastructure files label Jun 3, 2026
@T-Gro

T-Gro commented Jun 4, 2026

Copy link
Copy Markdown
Member Author

@copilot : Rename all occurrences to IsPropertyAccessor - all of them, refresh baselines as well.

Copilot AI commented Jun 4, 2026

Copy link
Copy Markdown
Contributor

@copilot : Rename all occurrences to IsPropertyAccessor - all of them, refresh baselines as well.

Done in c8cadbd — all occurrences (implementation, signature, surface-area baseline, and tests) renamed to IsPropertyAccessor.

Copilot AI changed the title feat(fcs): expose FSharpMemberOrFunctionOrValue.IsAccessorProperty feat(fcs): expose FSharpMemberOrFunctionOrValue.IsPropertyAccessor Jun 4, 2026
Copilot finished work on behalf of T-Gro June 4, 2026 12:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI-Tooling-Check-Bypassed Tooling check: non-fork PR, not diff-analyzed AI-Tooling-Check-Scanned-Clean Tooling check: diff analyzed, no interesting infrastructure files

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

3 participants