Skip to content

Fix GoToBase/GoToImplementation/FAR/InheritanceMargin for static abstract member#54056

Merged
Cosifne merged 13 commits intodotnet:features/StaticAbstractMembersInInterfacesfrom
Cosifne:dev/shech/StaticAbstractMembersInInterfaceFix
Jun 15, 2021
Merged

Fix GoToBase/GoToImplementation/FAR/InheritanceMargin for static abstract member#54056
Cosifne merged 13 commits intodotnet:features/StaticAbstractMembersInInterfacesfrom
Cosifne:dev/shech/StaticAbstractMembersInInterfaceFix

Conversation

@Cosifne
Copy link
Member

@Cosifne Cosifne commented Jun 12, 2021

Fix part of this issue: #52221
All the fixes are in GoToBase/GoToImplementation/FAR/InheritanceMargin

@Cosifne Cosifne requested a review from a team as a code owner June 12, 2021 03:41
@ghost ghost added the Area-IDE label Jun 12, 2021
if (symbol is INamedTypeSymbol)
{
return false;
return !symbol.IsStatic;
Copy link
Contributor

Choose a reason for hiding this comment

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

❔ Can static types implement interfaces with only static abstract members?

Copy link
Member Author

Choose a reason for hiding this comment

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

https://github.com/dotnet/csharplang/blob/main/proposals/static-abstracts-in-interfaces.md
At least from the existing document, I don't think static type could do that.


class C2_1 : I2
{
public static int {|Definition:P2|} { get; set; }
Copy link
Contributor

Choose a reason for hiding this comment

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

💭 I'm not sure we want this one included for FAR (with unidirectional hierarchy cascade), but we can adjust this later. We would want it for rename operations.

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants