Skip to content
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

Merge features/interpolated-string into main #54692

Merged
merged 53 commits into from Jul 9, 2021
Merged

Conversation

333fred
Copy link
Member

@333fred 333fred commented Jul 8, 2021

No description provided.

msftbot[bot] and others added 30 commits February 28, 2021 01:41
…polated-string

Merge master to features/interpolated-string
…lated-string

Merge main to features/interpolated-string
…lated-string

Merge main to features/interpolated-string
…lated-string

Merge main to features/interpolated-string
* upstream/main: (75 commits)
  Split BoundInterpolatedString into BoundInterpolatedString and BoundUnconvertedInterpolatedString (#52061)
  Combine VB comparers into one, and combine VB and C# comparers together (#51834)
  Use OptimizedVSCompletionList in LSP scenarios.
  F5 Hot Reload (#52101)
  Fix typescript shim
  Add tests for lazy syntax trees coming from the GeneratorDriver
  React to code review feedback.
  Simplify the lazy-initalization pattern used in GetRoot
  Remove an unnecessary override. (#52140)
  Update issue number (#52130)
  Enable CodeActions support for XAML using its own provider and CodeActionCache. The handlers are actually shared with Roslyn as is. (#52129)
  Add RestrictedIVT to dotnet watch to Features (#52087)
  Don't try to highlight operators (#52041)
  Use `null` instead of empty signature helps in LSP
  Use member type for relational pattern even in error cases (#51950)
  Update src/VisualStudio/Xaml/Impl/Implementation/LanguageServer/Extensions/SymbolExtensions.cs
  Use new QuickInfoUtilities helper
  Rebuild API shape (#52079)
  Added position parameter name
  Updated XAML QuickInfo to show more info like C# by using ISymbolDisplayService and adding more documentation parts.
  ...
…lated-string

Merge main to features/interpolated-string
…lated-string

Merge main to features/interpolated-string
…lated-string

Merge main to features/interpolated-string
…lated-string

Merge main to features/interpolated-string
…lated-string

Merge main to features/interpolated-string
* Implement binding and lowering for InterpolatedStringBuilder

This implements initial binding and lowering for the InterpolatedStringBuilder, used when an interpolated string is converted directly to a `string`, and not to some other builder type. I've written it in such a way as to make future refactorings to support general builder types simple, but some of the steps (particularly lowering) are more simplistic for now. I did _not_ implement nullable analysis or definite assignment in this PR, prototype comments have been left to make sure that those are handled later. The spec for this feature is located at https://github.com/dotnet/csharplang/blob/main/proposals/improved-interpolated-strings.md, I will have a PR out later today or tomorrow to reflect the changes from LDM earlier today.
…ures/interpolated-string

* upstream/main: (332 commits)
  Simplify
  Simplify
  Simplify
  Simplify
  Simplify
  Simplify
  Use patterns
  Warning
  More cases
  Use separate equivalence keys for pattern matching fixes.
  Use the not pattern
  use NRT
  use NRT
  use NRT
  use NRT
  use NRT
  use NRT
  use NRT
  use NRT
  use NRT
  ...
…lated-string

Merge main to features/interpolated-string
…lated-string

Merge main to features/interpolated-string
…ures/interpolated-string

* upstream/main: (92 commits)
  Keep casts when necessary to prefer a constant pattern over a type pattern
  Remove SyntaxKind.DataKeyword (#53614)
  Display 'readonly' for record structs (#53634)
  Update Building, Debugging, and Testing on Windows.md (#53543)
  Update dependencies from https://github.com/dotnet/arcade build 20210521.3 (#53617)
  Introduce resx for BuildValidator and MS.CA.Rebuild to allow localization (#53447)
  Report obsoletion diagnostics for slice and indexer (#53463)
  Update BasicGenerateConstructorDialog.cs
  Add searchbox in generate overrides dialog
  Allow `with` on anonymous types (#53248)
  Report diagnostic on correct node (#53538)
  Fix NotNullIfNotNull delegate conversion (#53409)
  Verify quick info session in InvokeQuickInfo
  Remove unnecessary retry
  Ensure no navbar IO on the UI thread
  Enable nullable reference types
  Fix timeout behavior in GetQuickInfo
  Add a semantic model based GetQuickInfoAsync entry point into QuickInfoServiceWithProviders
  Move semantic model based quick info API up to CommonQuickInfoProvider type
  Fix dnceng build by forcing the use of xcopy msbuild
  ...
…lated-string

Merge main to features/interpolated-string
…lated-string

Merge main to features/interpolated-string
* Add support for interpolated string handler conversions

This PR allows interpolated strings to convert to types marked with InterpolatedStringBuilderAttribute, allows the RefKind to mismatch, and implements support for the better conversion rules.
…lated-string

Merge main to features/interpolated-string
* Support validating InterpolatedStringHandlerArgumentAttribute from source.

* Nullable enable decoding parts of PEModule.

* Add support for decoding InterpolatedStringHandlerArgumentAttribute from metadata.

* Fixup annotations in DiagnosticAnalyzer and a test mistake.

* Update warning level test.

* Minor code review refactoring.

* PR Feedback:

* Remove attribute constructor resolution during source binding
* More tests
* Small refactorings.

* PR feedback around condensing flags.

* Fix misnamed XML section.
…ures/interpolated-string

* upstream/main: (95 commits)
  Update official build number in separate job
  Update Language Feature Status.md (#54015)
  Remove IRazorDocumentOptionsService inheritance interface (#54047)
  Fix comment
  Simplify
  Do not create a cache field for lambda if it depends on caller's type argument (#44939)
  Documentation
  Documentation
  Documentation
  Update test impls
  Just pass null
  Pull diagnostics should just request from the doc, not the whole project.
  Add test plan for file-scoped namespace (#54003)
  Add source build to official build
  Improved nullable 'is' analysis (#53311)
  Multi session service (#53762)
  Resolve Versions.props conflicts
  Revert "Revert "Require partial method signatures to match" (47576) (#47879)" (#53352)
  Broaden enforcement on prototype marker (#53886)
  Update Language Feature Status.md (#53926)
  ...
…lated-string

Merge main to features/interpolated-string
This adds binding and lowering support for InterpolatedStringBuilderArgumentAttribute. For initial binding, we have an existing method that all argument binding goes through: CoerceArguments. However, lowering did not have a similar chokepoint, as every argument location started by calling `VisitList`, then `MakeArguments` at a later point. In order to ensure that the rewrite is handled correctly, I've done a refactor on `MakeArguments` to turn it into `VisitArguments` and update every place that handles arguments to instead use this new helper, which takes care of the rest of the argument rewrites (such as params) and will additionally update the receiver if needed.
333fred and others added 13 commits July 6, 2021 17:50
Definite assignment, initial nullable, IOperation, and some cleanup
* upstream/main: (559 commits)
  Remove a few unused error codes (#54663)
  Use specific error message for wrong arity in async builder (#54632)
  Update azure-pipelines-richnav.yml (#54662)
  Capture file content on open instead of save (#54643)
  Add docs
  Further FAR simplifications
  Handle enhanced #line directive in DirectiveTriviaSyntax.DirectiveNameToken (#54636)
  move server name outside of loop
  Fix functionid
  Reduce telemetry output from find document in workspace
  Ensure we don't try and build an empty table when modifying entries with no values (#54639)
  Feedback
  Ensure we don't try and build an empty table when modifying entries with no values (#54639)
  No need to specialized logic for determining set of projects to search
  Defer group computation till reporting time
  Handle FAR for global suppressions in a consistent fashion
  Update status for enhanced `#line` directive (#54581)
  Split IOperationTests into one part per type
  [LSP] Revert semantic tokens change in main (#54570)
  Add exceptionutilities unreachable to catch blocks that should not be hit
  ...
Merge main into features/interpolated-string and condense errors
@333fred 333fred requested a review from jaredpar July 8, 2021 21:19
@333fred 333fred requested a review from a team as a code owner July 8, 2021 21:19
@333fred 333fred enabled auto-merge July 8, 2021 21:19
Copy link
Member

@jaredpar jaredpar left a comment

Choose a reason for hiding this comment

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

Status($"Is approved{true}");

@RikkiGibson
Copy link
Contributor

RikkiGibson commented Jul 8, 2021

Could I ask you to wait to merge this till I've managed to kick off a VS validation insertion for FileScopedNamespaces (requires first merging #54687)? It might save me another merge into the feature branch in the immediate term, since the validation pipeline auto-merges main-vs-deps into the PR and fails if the merge has conflicts.

If that works for you, I'll just follow up within a couple hours to let you know once I've got my validation run going.

@333fred 333fred disabled auto-merge July 8, 2021 22:25
@333fred 333fred enabled auto-merge July 9, 2021 00:07
@333fred 333fred disabled auto-merge July 9, 2021 00:11
@333fred
Copy link
Member Author

333fred commented Jul 9, 2021

We've been getting large queuing and timeout issues on a few of the branches here. Everything but the macos leg has passed at this point, and the macos leg passed on the merge into the feature branch. I'm going to override that last test and merge.

@333fred 333fred enabled auto-merge July 9, 2021 00:13
@333fred 333fred disabled auto-merge July 9, 2021 00:13
@333fred 333fred merged commit 1119ab9 into main Jul 9, 2021
@ghost ghost added this to the Next milestone Jul 9, 2021
@333fred 333fred deleted the features/interpolated-string branch July 9, 2021 00:13
@allisonchou allisonchou modified the milestones: Next, 17.0.P3 Jul 27, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants