Skip to content

Merges/main to features/file scoped namespaces#54717

Merged
RikkiGibson merged 75 commits intofeatures/FileScopedNamespacesfrom
merges/main-to-features/FileScopedNamespaces
Jul 9, 2021
Merged

Merges/main to features/file scoped namespaces#54717
RikkiGibson merged 75 commits intofeatures/FileScopedNamespacesfrom
merges/main-to-features/FileScopedNamespaces

Conversation

@RikkiGibson
Copy link
Copy Markdown
Member

Mainly resolving trivial conflicts with @333fred's changes.

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 24 commits July 7, 2021 18:32
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
  ...
Capture file content on open instead of save (#54643)
Revert "Ensure we don't try and build an empty table when modifying entries"
Merge main into features/interpolated-string and condense errors
Fix diagnostics with locations in mapped files displaying at an incorrect location
Merge features/interpolated-string into main
Fix failure to handle missing source after a configuration change
Add F# content type to always active server to support pull diagnostics
* Unescape interpolated string literal components

Fixes #54703. Spec change is at dotnet/csharplang#4910.

Note that there is an interesting wrinkle here in that, for an interpolated string used as a string, the change in constant value makes the lowering mechanism an observable side effect. While doing this step during lowering instead of initial binding is technically feasible, it would be quite complex as there are several different ways an AppendLiteral call could get to lowering (dynamic, conversion to object, regular literal, passed by in, etc). For now, I'm opting for simple strategy of accepting this observable side-effect, and if we want to try and make that side effect invisble we can look at doing so at a later point.

Co-authored-by: Jared Parsons <jaredpparsons@gmail.com>
… into merges/main-to-features/FileScopedNamespaces
@RikkiGibson RikkiGibson requested review from a team as code owners July 9, 2021 17:17
@ghost ghost added the Area-Compilers label Jul 9, 2021
@RikkiGibson RikkiGibson merged commit 8b7f55b into features/FileScopedNamespaces Jul 9, 2021
@RikkiGibson RikkiGibson deleted the merges/main-to-features/FileScopedNamespaces branch July 9, 2021 19:54
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.

8 participants