-
Notifications
You must be signed in to change notification settings - Fork 781
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve completion after method/property override #17292
Improve completion after method/property override #17292
Conversation
support static member override completion support get completions from generic base type for interface implementation and obj expr
support dotnet#16562 for C# style extension method
more type completion after colon override completion after `member` in interface or object expreesion interface name completion after `interface` class or interface name completion after `new` of object expression
format code
static thing completion show in short name
…ent-90/fsharp into completion-after-op-improve
❗ Release notes required
|
Thanks for this, looking forward to have this in the editor! Need to think a bit if this can have any perf traps or penalties, overall - good change and testing. |
Fix completion for same signature slot in different type/interface Fix parameter name generation Adjust code
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So there are quite a few FCS compiler changes here but I cannot see any potential dangers - at the same time, the new functionality is really cool.
@brianrourkeboll maybe you can also take a look at the FCS files, I think you've done some changes there recently.
LGTM, thanks!
Can't wait for this PR and the other completions-related PR to land so I can try them out in FSAC :) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The parser changes and tests look mostly good to me. There's a bit of inconsistency in the resulting node ranges, please see the comment.
(Converted to draft until the parser recovery is adjusted) |
Description
Improve completion after method/property override.
Complete the parameter list of the overriden method and call base method or throw
NotImplementedException
Complete the parameter list of the overriden property and call base method or throw
NotImplementedException
Completion list will exclude implemented members when triggered in an interface implementation, but not when triggered in an object expression (as cannot get the type of an obj expr from
GetExprTypingForPosition
, it just returns the type of interface or the super class)new
in object expressionFixes # (issue, if applicable)
Checklist