Skip to content

Merge branch 'main' into 'extensions' #78374

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

Merged
merged 150 commits into from
Apr 29, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
150 commits
Select commit Hold shift + click to select a range
55b415a
Update dependencies from https://github.com/dotnet/arcade build 20250…
dotnet-maestro[bot] Apr 9, 2025
ea1fb1b
Move UIContextActivationService down to features, so the dynamic reg …
davidwengier Apr 12, 2025
7c82809
Move dynamic registration service down to features, and expose to VS …
davidwengier Apr 12, 2025
a4c8e4e
Allow semantic tokens refresh queue to run in VS Code or VS
davidwengier Apr 13, 2025
92cc8ef
Initial stubs
CyrusNajmabadi Apr 12, 2025
52c3a04
Async token
CyrusNajmabadi Apr 14, 2025
4478cca
Change value
CyrusNajmabadi Apr 15, 2025
3358369
Fix
CyrusNajmabadi Apr 15, 2025
5580627
Allow null
CyrusNajmabadi Apr 15, 2025
640ccf4
Merge branch 'moveDiagnosticServiceDown' into copilotChangeAnalysis2
CyrusNajmabadi Apr 15, 2025
f596a12
Simplify
CyrusNajmabadi Apr 15, 2025
a0191e8
Simplufy
CyrusNajmabadi Apr 15, 2025
ae531dd
Add null
CyrusNajmabadi Apr 15, 2025
5e03218
Merge remote-tracking branch 'upstream/main' into copilotChangeAnalysis2
CyrusNajmabadi Apr 15, 2025
f0276d8
Allow the solution info wrapper to carry a real solution for in-proc …
davidwengier Apr 15, 2025
b9f9762
Formalize cohosting startup into its own thing, not just for dynamic …
davidwengier Apr 15, 2025
e2d875a
Sync option for source generator execution to the LSP server
davidwengier Apr 15, 2025
b134cfc
Fix deserialization when calling OOP
davidwengier Apr 16, 2025
2f53514
Fix Razor EA publishing, and add it to the MEF composition
davidwengier Apr 16, 2025
3fd5796
Rename
davidwengier Apr 16, 2025
86ee5ee
Merge branch 'main' into CohostVSCode
davidwengier Apr 16, 2025
5d51c96
Don't append ServiceHubCore folder name if there isn't one
davidwengier Apr 16, 2025
761f27a
Update eng/config/PublishData.json
davidwengier Apr 16, 2025
aedead6
Don't need this setting any more
davidwengier Apr 16, 2025
f2ab1ae
Add correlation id
CyrusNajmabadi Apr 17, 2025
9ee106f
Merge remote-tracking branch 'upstream/main' into copilotChangeAnalysis2
CyrusNajmabadi Apr 21, 2025
b016537
Move to string
CyrusNajmabadi Apr 21, 2025
cfbec58
Catch and report when we are unable to make an invisible editor
CyrusNajmabadi Apr 21, 2025
5b54ac9
Merge remote-tracking branch 'upstream/main' into CohostVSCode
davidwengier Apr 22, 2025
451f8ac
Report issue using info bar if we can't change a file
CyrusNajmabadi Apr 22, 2025
5b1a64d
Simplify
CyrusNajmabadi Apr 22, 2025
8d1b410
Add resource strings
CyrusNajmabadi Apr 22, 2025
318c5ff
Add return
CyrusNajmabadi Apr 22, 2025
50cc532
Merge remote-tracking branch 'upstream/main' into invisibleCrash
CyrusNajmabadi Apr 22, 2025
41f593f
Update src/Tools/ExternalAccess/Razor/Features/Cohost/IRazorCohostDyn…
davidwengier Apr 22, 2025
04bac5b
Reapply "Remove dependency on EditorFeatures from codelens layer (#78…
CyrusNajmabadi Apr 22, 2025
dd027d8
Allow Razor cohosting to run in VS Code, and fix it in VS (#78167)
davidwengier Apr 22, 2025
409b86c
Cache MEF catalog in servicehub process (#78122)
ToddGrun Apr 22, 2025
1220f77
Hook up IDocumentServiceProvider in VS Code
Apr 23, 2025
4c12822
Using
Apr 23, 2025
77b0cd9
Allow Razor files to be additional documents in a misc files project
davidwengier Apr 23, 2025
42c13fd
Hook up IDocumentServiceProvider in VS Code (#78266)
Apr 23, 2025
05e49aa
Allow Razor files to be additional documents in a misc files project …
davidwengier Apr 23, 2025
37bbd93
Enable C# classification in most code action test cases
CyrusNajmabadi Apr 23, 2025
342e06e
nrt
CyrusNajmabadi Apr 23, 2025
71fee60
Update ICSharpCode.Decompiler to 9.1.0.7988
christophwille Apr 23, 2025
9ac61e1
Set publishing Category (#78269)
ViktorHofer Apr 23, 2025
19e545b
Extensions: nullability analysis for invocations and method groups (#…
jcouv Apr 23, 2025
4b30be2
Extensions: apply inconsistent accessibility check to static members …
jcouv Apr 23, 2025
92baec6
Small allocation improvement in AbstractRecommendationService.GetReco…
ToddGrun Apr 23, 2025
9dfd97c
Extensions: adjust specialname rules (#78215)
jcouv Apr 23, 2025
1a8d44a
Convert SyntaxNode.GetText users to instead retrieve the source text …
ToddGrun Apr 23, 2025
ed93b03
Merge branch 'main' into copilotChangeAnalysis2
CyrusNajmabadi Apr 23, 2025
dd09372
Fix missing extension-type symbol handling in VarianceSafety.cs (#78230)
bernd5 Apr 23, 2025
e5c12ca
IAssemblyResolver now uses MetadataFile instead of PEFile in signatures
christophwille Apr 23, 2025
b9d12c3
[main] Update dependencies from dotnet/source-build-reference-package…
dotnet-maestro[bot] Apr 23, 2025
0cc8235
Catch and report when we are unable to make an invisible editor (#78236)
CyrusNajmabadi Apr 23, 2025
b2859df
Remove unused reference
Apr 23, 2025
b3aceb5
Use the right assembly name
davidwengier Apr 23, 2025
52f0cdb
Fix composition error now that the assembly name is fixed
davidwengier Apr 23, 2025
013c870
Reduce allocations in NamespaceSymbol.GetExtensionContainers (#78243)
ToddGrun Apr 23, 2025
2b10b01
Remove unused reference (#78286)
Apr 24, 2025
61db35f
Fix MEF composition for Razor (#78291)
davidwengier Apr 24, 2025
788461b
Reapply "Remove dependency on EditorFeatures from codelens layer (#78…
CyrusNajmabadi Apr 24, 2025
612252b
Add resource string
CyrusNajmabadi Apr 24, 2025
6091e3c
Make partial interface members virtual (#77379)
jjonescz Apr 24, 2025
43ce29e
Avoid creating identity to obtain public key (#78255)
ToddGrun Apr 24, 2025
c58a3d9
Merge branch 'extensions' into 'main' (#78293)
AlekseyTs Apr 24, 2025
058591b
Disable source index temporarily to unblock signed builds (#78283)
dibarbet Apr 24, 2025
4747b00
Merge remote-tracking branch 'upstream/main' into testClassification
CyrusNajmabadi Apr 24, 2025
3b36ed6
Enable C# classification in most code action test cases (#78268)
CyrusNajmabadi Apr 24, 2025
77510c0
Report warning when changing file that is only included in stale proj…
tmat Apr 24, 2025
a442313
Fix VS xaml lsp shutdown
dibarbet Apr 24, 2025
13a47b5
feedback
dibarbet Apr 24, 2025
5f9de52
Remove ilmerge bypass
CyrusNajmabadi Apr 24, 2025
510f24d
Update ICSharpCode.Decompiler to 9.1.0.7988 (#78270)
dibarbet Apr 24, 2025
859ba0d
Fix VS xaml lsp shutdown (#78304)
dibarbet Apr 24, 2025
080a17d
Remove ilmerge bypass (#78306)
CyrusNajmabadi Apr 25, 2025
337e312
Remove IRazorCohostDynamicRegistrationService
davidwengier Apr 25, 2025
7598d96
Remove IRazorCustomMessageTarget
davidwengier Apr 25, 2025
2c28c97
Missed one!
davidwengier Apr 25, 2025
c3fc0f0
Minor Razor EA cleanup (#78315)
davidwengier Apr 25, 2025
567495e
Switch Project data structures from ImmutableDictionary => Dictionary…
ToddGrun Apr 25, 2025
e8740a4
[main] Source code updates from dotnet/dotnet (#78309)
dotnet-maestro[bot] Apr 25, 2025
9f6dff8
Ensure we generate a full package for LanguageServices.Xaml
jasonmalinowski Apr 25, 2025
40c8103
Initial stubs for doing analysis of copilot changes to help us drive …
CyrusNajmabadi Apr 25, 2025
b97f290
[main] Update dependencies from dotnet/arcade (#78078)
dibarbet Apr 25, 2025
f074f97
Remove Semantic Search inline Copilot prototype (#78323)
tmat Apr 25, 2025
662347c
Ensure we generate a full package for LanguageServices.Xaml (#78325)
jasonmalinowski Apr 25, 2025
d96afd7
Update ApplyUpdates API to account for no-effect changes (#78220)
tmat Apr 26, 2025
0a6e36a
Start moving workspace events to fire on background threads (#78134)
ToddGrun Apr 26, 2025
6abc1a7
Allow Razor logs to be directed to the right output window in VS Code
davidwengier Apr 27, 2025
aa2eca4
Update dependencies from https://github.com/dotnet/arcade build 20250…
dotnet-maestro[bot] Apr 27, 2025
aafb3c3
Do not offer 'remove unnecessary parens' when it would change a colle…
CyrusNajmabadi Apr 27, 2025
73f70f4
Extensions: honor OverloadResolutionPriority attribute (#78219)
jcouv Apr 28, 2025
c195a1f
For IsAtDotDotToken, ensure the current token is a DotToken before pa…
ToddGrun Apr 28, 2025
b01529a
Refactor/cleanup usages of MakeCallWithNoExplicitArgument helper (#78…
AlekseyTs Apr 28, 2025
866ed54
Simplify tests
CyrusNajmabadi Apr 28, 2025
8f36433
Allow batch updating of ProjectUpdateState's RemovedMetadataReference…
ToddGrun Apr 28, 2025
d6866c2
Simplify tests
CyrusNajmabadi Apr 28, 2025
65cc369
Implement SeparatedSyntaxList.Count(Func<T, bool>) (#78348)
ToddGrun Apr 28, 2025
ddf06da
More cases
CyrusNajmabadi Apr 28, 2025
0d43d3d
Raw strings
CyrusNajmabadi Apr 28, 2025
4404682
Simplify
CyrusNajmabadi Apr 28, 2025
7d72685
Simplify
CyrusNajmabadi Apr 28, 2025
e7c2a32
[main] Update dependencies from dotnet/arcade (#78335)
dibarbet Apr 28, 2025
4d2b61e
Reenable source indexing
dibarbet Apr 28, 2025
62c3671
Reenable source indexing (#78352)
dibarbet Apr 28, 2025
c964227
Fix
CyrusNajmabadi Apr 28, 2025
0ec9acf
ReferenceEqualityComparer (#78350)
tmat Apr 28, 2025
afb3565
Do not use nint / nuint in IL baselines (#78246)
jaredpar Apr 28, 2025
278cf3d
Make IDiagAnalyzerService into a workspace service
CyrusNajmabadi Apr 28, 2025
0068020
Remove unnecessary dependency in LSP handlers
CyrusNajmabadi Apr 28, 2025
668d57e
Downstream
CyrusNajmabadi Apr 28, 2025
34b0171
Merge branch 'analyzerCleanup' into analyzerWorkspaceService
CyrusNajmabadi Apr 28, 2025
4e46fdd
Remove more dependencies
CyrusNajmabadi Apr 28, 2025
f7bbe5d
Simplify Impl interface tests (#78351)
CyrusNajmabadi Apr 28, 2025
163e9f6
Remove more dependencies
CyrusNajmabadi Apr 28, 2025
04189c4
Remove more dependencies
CyrusNajmabadi Apr 28, 2025
19444fd
Remove more dependencies
CyrusNajmabadi Apr 28, 2025
d1982ae
Remove more dependencies
CyrusNajmabadi Apr 28, 2025
c4dec8f
Remove more dependencies
CyrusNajmabadi Apr 28, 2025
36d0b6f
Remove more dependencies
CyrusNajmabadi Apr 28, 2025
8ff17fd
Remove more dependencies
CyrusNajmabadi Apr 28, 2025
4f218fd
Update tests
CyrusNajmabadi Apr 28, 2025
f76c90e
Update tests
CyrusNajmabadi Apr 28, 2025
7e84747
Remove more dependencies
CyrusNajmabadi Apr 28, 2025
65e0b6f
Update tests
CyrusNajmabadi Apr 28, 2025
2eee0c2
remove more
CyrusNajmabadi Apr 28, 2025
ad0f003
Simplify furhter
CyrusNajmabadi Apr 28, 2025
3be97e6
Remove unnecessary dependency in LSP handlers (#78356)
CyrusNajmabadi Apr 28, 2025
bf59590
Make optional
CyrusNajmabadi Apr 28, 2025
61aca92
Merge remote-tracking branch 'upstream/main' into analyzerWorkspaceSe…
CyrusNajmabadi Apr 28, 2025
1d505a0
Remove dependency
CyrusNajmabadi Apr 28, 2025
5631a0e
Allow Razor logs to be directed to the right output window in VS Code…
davidwengier Apr 28, 2025
bfa4780
Add dump reporting for https://github.com/dotnet/roslyn/issues/76225 …
ToddGrun Apr 28, 2025
c9ef0c7
Do not offer use-expr-body for properties with initializers
CyrusNajmabadi Apr 28, 2025
e70ac77
Fix tests
CyrusNajmabadi Apr 28, 2025
02a8b35
Add BuildHost APIs for loading an in-memory project (#78303)
RikkiGibson Apr 28, 2025
b411efa
Make IDiagnosticAnalyzerService into an IWorkspaceService (#78359)
CyrusNajmabadi Apr 28, 2025
710e9a8
Fix
CyrusNajmabadi Apr 28, 2025
f18f6e2
Do not offer use-expr-body for properties with initializers (#78360)
CyrusNajmabadi Apr 29, 2025
9168a12
minor cleanup (no functional change)
maryamariyan Apr 29, 2025
b5ba5cc
minor cleanup (no functional change) (#78363)
JoeRobich Apr 29, 2025
624361d
Do not offer 'remove unnecessary parens' when it would change a colle…
CyrusNajmabadi Apr 29, 2025
9233fa3
Insert missing space in XML documentation (#78361)
alexwiese Apr 29, 2025
748b0e6
Fix async hoisted type substituted local (#78231)
bernd5 Apr 29, 2025
eb89850
Move remaining legacy workspace event listeners over to new APIs. (#7…
ToddGrun Apr 29, 2025
54481df
Update Language Feature Status.md (#78358)
jcouv Apr 29, 2025
1e3b7e0
Merge remote-tracking branch 'main' into 'extensions'
AlekseyTs Apr 29, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 2 additions & 2 deletions docs/Language Feature Status.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,8 @@ efforts behind them.

| Feature | Branch | State | Developer | Reviewer | IDE Buddy | LDM Champ |
| ------- | ------ | ----- | --------- | -------- | --------- | --------- |
| [User Defined Compound Assignment Operators](https://github.com/dotnet/csharplang/issues/9101) | [UserDefinedCompoundAssignment](https://github.com/dotnet/roslyn/tree/features/UserDefinedCompoundAssignment) | [In Progress](https://github.com/dotnet/roslyn/issues/76934) | [AlekseyTs](https://github.com/AlekseyTs) | [333fred](https://github.com/333fred), [cston](https://github.com/cston) | TBD | [AlekseyTs](https://github.com/AlekseyTs) |
| [User Defined Compound Assignment Operators](https://github.com/dotnet/csharplang/issues/9101) | [UserDefinedCompoundAssignment](https://github.com/dotnet/roslyn/tree/features/UserDefinedCompoundAssignment) | [In Progress](https://github.com/dotnet/roslyn/issues/76934) | [AlekseyTs](https://github.com/AlekseyTs) | [333fred](https://github.com/333fred), [cston](https://github.com/cston) | [CyrusNajmabadi](https://github.com/CyrusNajmabadi) | [AlekseyTs](https://github.com/AlekseyTs) |
| Runtime Async | [runtime-async](https://github.com/dotnet/roslyn/tree/features/runtime-async) | [In Progress](https://github.com/dotnet/roslyn/issues/75960) | [333fred](https://github.com/333fred) | [jcouv](https://github.com/jcouv), [RikkiGibson](https://github.com/RikkiGibson) | | |
| [Dictionary expressions](https://github.com/dotnet/csharplang/issues/8659) | [dictionary-expressions](https://github.com/dotnet/roslyn/tree/features/dictionary-expressions) | [In Progress](https://github.com/dotnet/roslyn/issues/76310) | [cston](https://github.com/cston), [CyrusNajmabadi](https://github.com/CyrusNajmabadi) | [333fred](https://github.com/333fred), [jcouv](https://github.com/jcouv) | [CyrusNajmabadi](https://github.com/CyrusNajmabadi) | [CyrusNajmabadi](https://github.com/CyrusNajmabadi) |
| [`field` keyword in properties](https://github.com/dotnet/csharplang/issues/140) | [field-keyword](https://github.com/dotnet/roslyn/tree/features/field-keyword) | [Merged into 17.12p3](https://github.com/dotnet/roslyn/issues/57012) | [Youssef1313](https://github.com/Youssef1313), [cston](https://github.com/cston) | [333fred](https://github.com/333fred), [RikkiGibson](https://github.com/RikkiGibson) | [CyrusNajmabadi](https://github.com/CyrusNajmabadi) | [CyrusNajmabadi](https://github.com/CyrusNajmabadi) |
| [First-class Span Types](https://github.com/dotnet/csharplang/issues/7905) | [FirstClassSpan](https://github.com/dotnet/roslyn/tree/features/FirstClassSpan) | [Merged into 17.13p1](https://github.com/dotnet/roslyn/issues/73445) | [jjonescz](https://github.com/jjonescz) | [cston](https://github.com/cston), [333fred](https://github.com/333fred) | | [333fred](https://github.com/333fred), [stephentoub](https://github.com/stephentoub) |
| [Unbound generic types in `nameof`](https://github.com/dotnet/csharplang/issues/8480) | [PR](https://github.com/dotnet/roslyn/pull/75368) | [Merged into 17.13p2](https://github.com/dotnet/roslyn/pull/75368) | [CyrusNajmabadi](https://github.com/CyrusNajmabadi) | [jcouv](https://github.com/jcouv), [AlekseyTs](https://github.com/AlekseyTs) | [CyrusNajmabadi](https://github.com/CyrusNajmabadi) | [CyrusNajmabadi](https://github.com/CyrusNajmabadi) |
Expand All @@ -22,6 +21,7 @@ efforts behind them.
| [Extensions](https://github.com/dotnet/csharplang/issues/8697) | [extensions](https://github.com/dotnet/roslyn/tree/features/extensions) | [Preview merged into 17.14p3](https://github.com/dotnet/roslyn/issues/76130) | [jcouv](https://github.com/jcouv), [AlekseyTs](https://github.com/AlekseyTs) | [jjonescz](https://github.com/jjonescz), TBD | [CyrusNajmabadi](https://github.com/CyrusNajmabadi) | [MadsTorgersen](https://github.com/MadsTorgersen) |
| [Null-conditional assignment](https://github.com/dotnet/csharplang/issues/6045) | [null-conditional-assignment](https://github.com/dotnet/roslyn/tree/features/null-conditional-assignment) | [Merged into 17.14p3](https://github.com/dotnet/roslyn/issues/75554) | [RikkiGibson](https://github.com/RikkiGibson) | [cston](https://github.com/cston), [jjonescz](https://github.com/jjonescz) | [CyrusNajmabadi](https://github.com/CyrusNajmabadi) | [RikkiGibson](https://github.com/RikkiGibson) |
| [Ignored directives](https://github.com/dotnet/csharplang/issues/8617) | [PR](https://github.com/dotnet/roslyn/pull/77696) | Merged into 17.14p3 | [jjonescz](https://github.com/jjonescz) | [RikkiGibson](https://github.com/RikkiGibson), [jaredpar](https://github.com/jaredpar) | [CyrusNajmabadi](https://github.com/CyrusNajmabadi) | [jaredpar](https://github.com/jaredpar) |
| [Dictionary expressions](https://github.com/dotnet/csharplang/issues/8659) | [dictionary-expressions](https://github.com/dotnet/roslyn/tree/features/dictionary-expressions) | [Preview merged into 17.14p3](https://github.com/dotnet/roslyn/issues/76310) | [cston](https://github.com/cston), [CyrusNajmabadi](https://github.com/CyrusNajmabadi) | [333fred](https://github.com/333fred), [jcouv](https://github.com/jcouv) | [CyrusNajmabadi](https://github.com/CyrusNajmabadi) | [CyrusNajmabadi](https://github.com/CyrusNajmabadi) |

# Working Set VB

Expand Down
38 changes: 38 additions & 0 deletions docs/compilers/CSharp/Compiler Breaking Changes - DotNet 10.md
Original file line number Diff line number Diff line change
Expand Up @@ -364,3 +364,41 @@ class extension { } // type may not be named "extension"
class C<extension> { } // type parameter may not be named "extension"
```

## Partial properties and events are now implicitly virtual and public

***Introduced in Visual Studio 2022 version 17.15***

We have fixed [an inconsistency](https://github.com/dotnet/roslyn/issues/77346)
where partial interface properties and events would not be implicitly `virtual` and `public` unlike their non-partial equivalents.
This inconsistency is however [preserved](./Deviations%20from%20Standard.md#interface-partial-methods) for partial interface methods to avoid a larger breaking change.
Note that Visual Basic and other languages not supporting default interface members will start requiring to implement implicitly virtual `partial` interface members.

To keep the previous behavior, explicitly mark `partial` interface members as `private` (if they don't have any accessibility modifiers)
and `sealed` (if they don't have the `private` modifier which implies `sealed`, and they don't already have modifier `virtual` or `sealed`).

```cs
System.Console.Write(((I)new C()).P); // wrote 1 previously, writes 2 now

partial interface I
{
public partial int P { get; }
public partial int P => 1; // implicitly virtual now
}

class C : I
{
public int P => 2; // implements I.P
}
```

```cs
System.Console.Write(((I)new C()).P); // inaccessible previously, writes 1 now

partial interface I
{
partial int P { get; } // implicitly public now
partial int P => 1;
}

class C : I;
```
7 changes: 7 additions & 0 deletions docs/compilers/CSharp/Deviations from Standard.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,10 @@ The compiler is free to make assumptions about the shape and behavior of well-kn
It may not check for unexpected constraints, `Obsolete` attribute, or `UnmanagedCallersOnly` attribute.
It may perform some optimizations based on expectations that the types/members are well-behaved.
Note: the compiler should remain resilient to missing well-known types/members.

# Interface partial methods

Interface partial methods are implicitly non-virtual,
unlike non-partial interface methods and other interface partial member kinds,
see [a related breaking change](./Compiler%20Breaking%20Changes%20-%20DotNet%2010.md#partial-properties-and-events-are-now-implicitly-virtual-and-public)
and [LDM 2025-04-07](https://github.com/dotnet/csharplang/blob/main/meetings/2025/LDM-2025-04-07.md#breaking-change-discussion-making-partial-members-in-interfaces-virtual-andor-public).
3 changes: 1 addition & 2 deletions eng/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,6 @@
<PackageVersion Include="NuGet.ProjectModel" Version="6.8.0-rc.112" />
<PackageVersion Include="Microsoft.TestPlatform.TranslationLayer" Version="$(MicrosoftNETTestSdkVersion)" />
<PackageVersion Include="Microsoft.TestPlatform.ObjectModel" Version="$(MicrosoftNETTestSdkVersion)" />
<PackageVersion Include="Microsoft.AspNetCore.Razor.ExternalAccess.RoslynWorkspace" Version="9.0.0-preview.25064.4" />

<!--
Analyzers
Expand Down Expand Up @@ -231,7 +230,7 @@
<PackageVersion Include="SQLitePCLRaw.provider.e_sqlite3.net45" Version="$(SqliteVersion)" />

<PackageVersion Include="Humanizer.Core" Version="$(HumanizerVersion)" />
<PackageVersion Include="ICSharpCode.Decompiler" Version="8.2.0.7535" />
<PackageVersion Include="ICSharpCode.Decompiler" Version="9.1.0.7988" />
<PackageVersion Include="Microsoft.CodeAnalysis.Elfie" Version="1.0.0" />

<!--
Expand Down
13 changes: 8 additions & 5 deletions eng/Publishing.props
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<Project>
<PropertyGroup>
<PublishingVersion>3</PublishingVersion>
</PropertyGroup>

<PropertyGroup>
<PublishDependsOnTargets>_ResolvePublishRoslynNuGetPackages;$(PublishDependsOnTargets)</PublishDependsOnTargets>
</PropertyGroup>

<!-- Update Artifacts with Kind=Package to have additional metadata item Category="ToolingPackage".
Depending on channel configuration, this means that these assets could be pushed to a different feed. -->
<ItemGroup>
<Artifact Update="@(Artifact->WithMetadataValue('Kind', 'Package'))" Category="ToolingPackage" />
</ItemGroup>

<!--
During PR Validation we only need to publish symbols with Arcade,
since our packages are published separately to the CoreXT feed.
Expand All @@ -32,4 +34,5 @@
<ItemsToPushToBlobFeed Include="@(_SymbolPackagesToPush)" />
</ItemGroup>
</Target>
</Project>

</Project>
21 changes: 11 additions & 10 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Dependencies>
<Source Uri="https://github.com/dotnet/dotnet" Mapping="roslyn" Sha="58950550c5c2c7a2431595699b38fd0360fd63e9" BarId="265646" />
<ProductDependencies>
<!-- RoslynAnalyzers reference older builds of Roslyn and this is necessary for SourceBuild. -->
<Dependency Name="Microsoft.CodeAnalysis" Version="3.11.0">
Expand All @@ -13,9 +14,9 @@
<SourceBuild RepoName="source-build-externals" ManagedOnly="true" />
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="10.0.621601">
<Dependency Name="Microsoft.SourceBuild.Intermediate.source-build-reference-packages" Version="9.0.0-alpha.1.25223.3">
<Uri>https://github.com/dotnet/source-build-reference-packages</Uri>
<Sha>4b566314cf9602b77f25538a88b9c8175231c106</Sha>
<Sha>19eb5ea4e5f9c4e5256843a92805c8c9e942207d</Sha>
<SourceBuild RepoName="source-build-reference-packages" ManagedOnly="true" />
</Dependency>
<Dependency Name="System.CommandLine" Version="2.0.0-beta5.25210.1">
Expand Down Expand Up @@ -127,19 +128,19 @@
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.25204.5">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.25225.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>97cbc7361ff28b2948c8182720c166a744049f55</Sha>
<Sha>bfbc858ba868b60fffaf7b2150f1d2165b01e786</Sha>
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="9.0.0-beta.25204.5">
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="9.0.0-beta.25225.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>97cbc7361ff28b2948c8182720c166a744049f55</Sha>
<Sha>bfbc858ba868b60fffaf7b2150f1d2165b01e786</Sha>
<SourceBuild RepoName="arcade" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="9.0.0-beta.25204.5">
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="9.0.0-beta.25225.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>97cbc7361ff28b2948c8182720c166a744049f55</Sha>
<Sha>bfbc858ba868b60fffaf7b2150f1d2165b01e786</Sha>
</Dependency>
<Dependency Name="Microsoft.DiaSymReader" Version="2.0.0">
<Uri>https://github.com/dotnet/symreader</Uri>
Expand All @@ -155,9 +156,9 @@
<Uri>https://github.com/dotnet/roslyn</Uri>
<Sha>5d10d428050c0d6afef30a072c4ae68776621877</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="9.0.0-beta.25204.5">
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="9.0.0-beta.25225.6">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>97cbc7361ff28b2948c8182720c166a744049f55</Sha>
<Sha>bfbc858ba868b60fffaf7b2150f1d2165b01e786</Sha>
</Dependency>
<Dependency Name="Microsoft.CodeAnalysis.NetAnalyzers" Version="8.0.0-preview.23468.1">
<Uri>https://github.com/dotnet/roslyn-analyzers</Uri>
Expand Down
2 changes: 2 additions & 0 deletions eng/common/core-templates/job/source-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ parameters:
# Specifies the build script to invoke to perform the build in the repo. The default
# './build.sh' should work for typical Arcade repositories, but this is customizable for
# difficult situations.
# buildArguments: ''
# Specifies additional build arguments to pass to the build script.
# jobProperties: {}
# A list of job properties to inject at the top level, for potential extensibility beyond
# container and pool.
Expand Down
4 changes: 2 additions & 2 deletions eng/common/core-templates/job/source-index-stage1.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
parameters:
runAsPublic: false
sourceIndexUploadPackageVersion: 2.0.0-20240522.1
sourceIndexProcessBinlogPackageVersion: 1.0.1-20240522.1
sourceIndexUploadPackageVersion: 2.0.0-20250425.2
sourceIndexProcessBinlogPackageVersion: 1.0.1-20250425.2
sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json
sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci"
preSteps: []
Expand Down
1 change: 1 addition & 0 deletions eng/common/core-templates/steps/source-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ steps:
${{ coalesce(parameters.platform.buildScript, './build.sh') }} --ci \
--configuration $buildConfig \
--restore --build --pack $publishArgs -bl \
${{ parameters.platform.buildArguments }} \
$officialBuildArgs \
$internalRuntimeDownloadArgs \
$internalRestoreArgs \
Expand Down
2 changes: 2 additions & 0 deletions eng/targets/Services.props
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
<ServiceHubService Include="Microsoft.VisualStudio.LanguageServices.CodeLensReferences" ClassName="Microsoft.CodeAnalysis.Remote.RemoteCodeLensReferencesService+Factory" />
<ServiceHubService Include="Microsoft.VisualStudio.LanguageServices.CompilationAvailable" ClassName="Microsoft.CodeAnalysis.Remote.RemoteCompilationAvailableService+Factory" />
<ServiceHubService Include="Microsoft.VisualStudio.LanguageServices.ConvertTupleToStructCodeRefactoring" ClassName="Microsoft.CodeAnalysis.Remote.RemoteConvertTupleToStructCodeRefactoringService+Factory" />
<ServiceHubService Include="Microsoft.VisualStudio.LanguageServices.CopilotChangeAnalysis" ClassName="Microsoft.CodeAnalysis.Remote.RemoteCopilotChangeAnalysisService+Factory" />
<ServiceHubService Include="Microsoft.VisualStudio.LanguageServices.DependentTypeFinder" ClassName="Microsoft.CodeAnalysis.Remote.RemoteDependentTypeFinderService+Factory" />
<ServiceHubService Include="Microsoft.VisualStudio.LanguageServices.DesignerAttributeDiscovery" ClassName="Microsoft.CodeAnalysis.Remote.RemoteDesignerAttributeDiscoveryService+Factory" />
<ServiceHubService Include="Microsoft.VisualStudio.LanguageServices.DiagnosticAnalyzer" ClassName="Microsoft.CodeAnalysis.Remote.RemoteDiagnosticAnalyzerService+Factory" />
Expand All @@ -33,6 +34,7 @@
<ServiceHubService Include="Microsoft.VisualStudio.LanguageServices.MissingImportDiscovery" ClassName="Microsoft.CodeAnalysis.Remote.RemoteMissingImportDiscoveryService+Factory" />
<ServiceHubService Include="Microsoft.VisualStudio.LanguageServices.NavigateToSearch" ClassName="Microsoft.CodeAnalysis.Remote.RemoteNavigateToSearchService+Factory" />
<ServiceHubService Include="Microsoft.VisualStudio.LanguageServices.NavigationBarItem" ClassName="Microsoft.CodeAnalysis.Remote.RemoteNavigationBarItemService+Factory" />
<ServiceHubService Include="Microsoft.VisualStudio.LanguageServices.Initialization" ClassName="Microsoft.CodeAnalysis.Remote.RemoteInitializationService+Factory" />
<ServiceHubService Include="Microsoft.VisualStudio.LanguageServices.ProcessTelemetry" ClassName="Microsoft.CodeAnalysis.Remote.RemoteProcessTelemetryService+Factory" />
<ServiceHubService Include="Microsoft.VisualStudio.LanguageServices.ProjectTelemetry" ClassName="Microsoft.CodeAnalysis.Remote.RemoteProjectTelemetryService+Factory" />
<ServiceHubService Include="Microsoft.VisualStudio.LanguageServices.RelatedDocuments" ClassName="Microsoft.CodeAnalysis.Remote.RemoteRelatedDocumentsService+Factory" />
Expand Down
8 changes: 4 additions & 4 deletions global.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
{
"sdk": {
"version": "9.0.104",
"version": "9.0.105",
"allowPrerelease": false,
"rollForward": "patch"
},
"tools": {
"dotnet": "9.0.104",
"dotnet": "9.0.105",
"vs": {
"version": "17.8.0"
}
},
"msbuild-sdks": {
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25204.5",
"Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.25204.5",
"Microsoft.DotNet.Arcade.Sdk": "9.0.0-beta.25225.6",
"Microsoft.DotNet.Helix.Sdk": "9.0.0-beta.25225.6",
"Microsoft.Build.Traversal": "3.4.0"
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -153,10 +153,15 @@ protected bool TryConvertToExpressionBodyForBaseProperty(
[NotNullWhen(true)] out ArrowExpressionClauseSyntax? arrowExpression,
out SyntaxToken semicolonToken)
{
arrowExpression = null;
semicolonToken = default;

// If we have `X Prop { ... } = ...;` we can't convert this as expr-bodied properties can't have initializers.
if (declaration is PropertyDeclarationSyntax { Initializer: not null })
return false;

if (TryConvertToExpressionBodyWorker(declaration, conversionPreference, cancellationToken, out arrowExpression, out semicolonToken))
{
return true;
}

var getAccessor = GetSingleGetAccessor(declaration.AccessorList);
if (getAccessor?.ExpressionBody != null &&
Expand Down
Loading
Loading