-
Notifications
You must be signed in to change notification settings - Fork 832
SynLongIdent #13057
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
SynLongIdent #13057
Conversation
…nLongIdent. Restored SynExpr.Ident.
|
This is ready for review and I've tested out these changes inside Fantomas. |
| let mLparen = mkFileIndexRange m.FileIndex m.Start (mkPos m.StartLine (m.StartColumn + 1)) | ||
| let mRparen = mkFileIndexRange m.FileIndex (mkPos m.EndLine (m.EndColumn - 1)) m.End | ||
| SynExpr.Paren(SynExpr.Ident($1), mLparen, Some mRparen, m) } | ||
| let ident, trivia = $1 |
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.
Minor thing: We should gradually try to remove long chunks from pars.fsy and put them in ParseHelpers.fs. But this is by no means the worst of sins in that regard :)
* Refactor LongIdentWithDots to LongIdentWithTrivia. * Start using IndentWithTrivia in SyntaxTree. * Address aesthetic feedback. * Refactored IdentWithTrivia and LongIdentWithTrivia to SynIdent and SynLongIdent. Restored SynExpr.Ident. * Capturing some additional IdentTrivia.OriginalNotation. * SurfaceArea 🎉 * Update operator ident nodes in ServiceUntypedParse.fs. * Fix remaining Visual Studio tests. * Change the Ident of SynPat.Named to SynIdent to capture active patterns without parameters. * Replace LongIdentWithDots function usage with SynLongIdent. * Correct notation of prefix operators.
dotnet/fsharp#13057 is the PR in question; I suspect I've done something wrong as there's a whole page of errors. However, the errors don't have to do with mscorlib!
In this PR, I'd like to address #11893.
The key concept is that the
Idents are enriched with additional information where applicable.@dsyme I must say this approach is growing on me.
I've addressed all the review remarks and would happily address any other feedback.
The build is green I believe, there is one error about
[error]Publishing build artifacts failed with an error: Not found PathtoPublish: D:\a\_work\1\s\artifacts\log\Releasewhich looks unrelated.