Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
934 commits
Select commit Hold shift + click to select a range
b2eb108
Simplify code
CyrusNajmabadi Jun 28, 2025
5a9b565
Simplify code
CyrusNajmabadi Jun 28, 2025
6b34e40
Ensure server is loaded and unloaded with the solution
davidwengier Jun 28, 2025
f04d418
Check that a resulting ternary operator conversion is implicit before…
DoctorKrolic Jun 28, 2025
2d9f760
Fix remove cast in ternary (#79186)
CyrusNajmabadi Jun 28, 2025
26b72b3
Extract method for handling source generated documents
davidwengier Jun 30, 2025
c2d7e2e
Revert "Remove the 'intent' subsystem from roslyn (#79179)"
CyrusNajmabadi Jun 30, 2025
cd13257
Remove legacy intents that are no longer hooked up
CyrusNajmabadi Jun 30, 2025
3ced06e
Revert "Remove the 'intent' subsystem from roslyn (#79179)" (#79198)
333fred Jun 30, 2025
79d42be
Merge branch 'main' into removeIntents
CyrusNajmabadi Jun 30, 2025
2fe961a
Remove unnecessary folder in project file
CyrusNajmabadi Jun 30, 2025
5c5d96a
More cases
CyrusNajmabadi Jun 30, 2025
324a959
More cases
CyrusNajmabadi Jun 30, 2025
a8efe73
remove tests
CyrusNajmabadi Jun 30, 2025
9eec48b
Reduce allocations of BoundBinaryOperator.UncommonData (#79200)
AlekseyTs Jun 30, 2025
5642b2b
Remove duplicate method
CyrusNajmabadi Jun 30, 2025
8f3fb8d
Extensions: adjust SpecialName on implementation methods (#79068)
jcouv Jul 1, 2025
f3ee17b
Update 'hide base' fixer to use modern fix all pattern. (#79174)
CyrusNajmabadi Jul 1, 2025
96d6f48
Simplify matching code (#79181)
CyrusNajmabadi Jul 1, 2025
7abfdf9
Remove duplicate method (#79209)
CyrusNajmabadi Jul 1, 2025
24ebc89
Remove legacy intents that are no longer hooked up (#79199)
CyrusNajmabadi Jul 1, 2025
05d8254
Remove unnecessary folder in project file (#79202)
CyrusNajmabadi Jul 1, 2025
a3d9132
Update azure-pipelines-integration-dartlab.yml (#79206)
akhera99 Jul 1, 2025
9374b7a
Merge branch 'main' into actuallyUseAutoProps
CyrusNajmabadi Jul 1, 2025
7617d3a
Merge branch 'main' into revertRevert3
CyrusNajmabadi Jul 1, 2025
6a4b478
Merge branch 'main' into revertRevert
CyrusNajmabadi Jul 1, 2025
051971b
Merge branch 'main' into revertRevert2
CyrusNajmabadi Jul 1, 2025
e9aa064
Rename
davidwengier Jul 1, 2025
47fd221
Remove obsolete code
davidwengier Jul 1, 2025
f10909a
Extract common lexer code into helpers (#79214)
CyrusNajmabadi Jul 1, 2025
fda66cf
[REDO] Ensure the LSP server is loaded after a solution is closed (#7…
davidwengier Jul 2, 2025
0b01deb
Remove obsolete code from Razor EA (#79220)
davidwengier Jul 2, 2025
8601024
Improve diagnostic for ambiguous predefined type (#79196)
jjonescz Jul 2, 2025
ad0a3e5
Add a source package that can be used to connect to the roslyn build …
jjonescz Jul 2, 2025
73de482
Address some known functionality gaps for extension operators (#79167)
AlekseyTs Jul 2, 2025
9256667
Use spans in low level lexer char array handling code
CyrusNajmabadi Jul 2, 2025
900c83a
Use spans in low level lexer char array handling code
CyrusNajmabadi Jul 2, 2025
7b4f2e6
VB tests
CyrusNajmabadi Jul 2, 2025
04f25de
Remove duplicate code for processing arrays vs strings
CyrusNajmabadi Jul 2, 2025
0bc7247
Revert
CyrusNajmabadi Jul 2, 2025
928490f
Fix test
CyrusNajmabadi Jul 2, 2025
2c2f613
Add internal APIs for prototyping
genlu Jul 2, 2025
7ee4ca0
Merge branch 'useSpan' into shareStringSpanCode
CyrusNajmabadi Jul 2, 2025
b43655e
Share more code
CyrusNajmabadi Jul 2, 2025
ef4563a
Remove unused function
CyrusNajmabadi Jul 2, 2025
fb38d6b
Use spans in low level lexer char array handling code (#79232)
CyrusNajmabadi Jul 2, 2025
2714d92
Remove unused functions (#79234)
CyrusNajmabadi Jul 2, 2025
a271448
Merge branch 'main' into shareStringSpanCode
CyrusNajmabadi Jul 2, 2025
ad4e5c5
Update src/Compilers/Core/Portable/InternalUtilities/StringTable.cs
CyrusNajmabadi Jul 2, 2025
054b38c
Remove using
CyrusNajmabadi Jul 2, 2025
749ed47
update
CyrusNajmabadi Jul 2, 2025
a5ff3f7
Rename FileBasedProgramsProjectFactory to MiscellaneousFilesWorkspace…
jasonmalinowski Jul 2, 2025
d290451
Allow LanguageServerProjectSystems to load into more than one workspa…
jasonmalinowski Jul 3, 2025
7e5146b
Don't double register for document sync
davidwengier Jul 3, 2025
061470a
Don't check configuration if the client doesn't support it (ie, tests)
davidwengier Jul 3, 2025
17f8201
Razor: Don't double register for document sync (#79241)
davidwengier Jul 3, 2025
051ad4f
Add internal APIs for prototyping (#79235)
genlu Jul 3, 2025
03f9b70
Extensions: adjust logic related to primary ctor parameter (#79056)
jcouv Jul 3, 2025
2d04c55
Address another set of functionality gaps for extension operators (#7…
AlekseyTs Jul 3, 2025
bdc869e
Revert "Use spans in low level lexer char array handling code (#79232…
333fred Jul 3, 2025
5ff6dc1
Use spans in low level lexer char array handling code (part 2) (#79250)
CyrusNajmabadi Jul 3, 2025
2ef177d
Merge branch 'main' into shareStringSpanCode
CyrusNajmabadi Jul 3, 2025
8a098a4
Allow the Razor extension to report telemetry (and initialize)
davidwengier Jul 3, 2025
6052ca3
Make the new Workspace.Register*Handler methods public
jasonmalinowski Jul 3, 2025
be807aa
Do not use a constructed method symbol in a BoundMethodDefIndex (#79211)
RikkiGibson Jul 4, 2025
2b7ef41
Make the new Workspace.Register*Handler methods public (#79238)
jasonmalinowski Jul 4, 2025
15d2c56
Simplify
CyrusNajmabadi Jul 5, 2025
ddc83e5
Address follow-up comments for extension operators (#79249)
AlekseyTs Jul 7, 2025
16e0c6e
Merge branch 'main' into shareStringSpanCode
CyrusNajmabadi Jul 7, 2025
ccdbc08
Use collection expression
CyrusNajmabadi Jul 7, 2025
169ede5
Docs
CyrusNajmabadi Jul 7, 2025
f686152
ordering
CyrusNajmabadi Jul 7, 2025
f046dc3
Initial support for adding obsolete attributes to primary constructors
CyrusNajmabadi Jul 7, 2025
c6e086f
Flesh out
CyrusNajmabadi Jul 7, 2025
f7d88a6
Use raw strings
CyrusNajmabadi Jul 7, 2025
b16e28f
File scoped namespaces
CyrusNajmabadi Jul 7, 2025
18692a4
Simplify tests
CyrusNajmabadi Jul 7, 2025
2ed4559
in progress
CyrusNajmabadi Jul 7, 2025
8a1d574
Simpler approach
CyrusNajmabadi Jul 7, 2025
ff177ab
Revert
CyrusNajmabadi Jul 7, 2025
b884cd0
Simplify tests
CyrusNajmabadi Jul 7, 2025
6dae61c
Working
CyrusNajmabadi Jul 7, 2025
c0938f4
Delete file
CyrusNajmabadi Jul 7, 2025
4966cef
Remove file
CyrusNajmabadi Jul 7, 2025
5fe96ab
Use the miscellaneous files project name for rich misc projects (#79267)
RikkiGibson Jul 7, 2025
23b9dfa
Update tests
CyrusNajmabadi Jul 7, 2025
fa44857
Use same location for 'use implicit object' as we do for 'use collect…
CyrusNajmabadi Jul 7, 2025
91b0326
Inline strings in test code
CyrusNajmabadi Jul 7, 2025
10a34cc
Allow the Razor extension to report telemetry (and initialize) (#79254)
davidwengier Jul 7, 2025
c0736fd
Make tests non-async
CyrusNajmabadi Jul 7, 2025
4cf31cc
Inline strings in test code (#79274)
CyrusNajmabadi Jul 7, 2025
243fad2
Add the "experimental feature" string back
jasonmalinowski Jul 8, 2025
3abddfe
Move telemetry initialization out of our UI-thread bound helper
jasonmalinowski Jul 8, 2025
9222d90
Update global.json
RikkiGibson Jun 11, 2025
49ba1f9
Update nuget.config
JoeRobich Jun 11, 2025
143c045
Update Arcade
JoeRobich Jun 11, 2025
edc2014
Use .NET 10 Preview 5 SDK
JoeRobich Jun 11, 2025
eb2e2eb
Add back dotnet9 feed
JoeRobich Jun 11, 2025
743eaaf
Add back additional feeds
JoeRobich Jun 11, 2025
eab736d
Add back dotnet6 feed
JoeRobich Jun 11, 2025
64c5e4c
The Unix CI build does not need to pack or publish
JoeRobich Jun 11, 2025
198b48b
Downgrade arcade
JoeRobich Jun 12, 2025
1e5af11
Reapply "Move to .NET 10 Preview 5 (#78906)"
JoeRobich Jul 8, 2025
4fa17b1
Use scouting queue for integration tests
JoeRobich Jun 24, 2025
011ffa7
Initial support for adding obsolete attributes to primary constructor…
CyrusNajmabadi Jul 8, 2025
7a79358
Revert: Use scouting queue for integration tests
JoeRobich Jul 8, 2025
401f018
Fix Rename adornment positioning after scrolling
olegtk Jul 8, 2025
334d4c7
Fix debugging of build tasks (#78271)
jjonescz Jul 8, 2025
e67216c
Fix up tests
JoeRobich Jul 8, 2025
d8d0028
Tweak 'add required parens' to recognize a common C# idiom
CyrusNajmabadi Jul 8, 2025
ab3f38c
Merge remote-tracking branch 'upstream/main' into removeAsyncTests
CyrusNajmabadi Jul 7, 2025
1721a25
Lint
CyrusNajmabadi Jul 8, 2025
c0ea481
Revert compiler change (#79288)
CyrusNajmabadi Jul 8, 2025
c6f7671
Extensions: extension grouping type names (#79217)
jcouv Jul 8, 2025
d6f726a
Fix ref safety of user-defined increment operators (#79034)
jjonescz Jul 8, 2025
aae13ec
Add the "experimental feature" string back (#79280)
jasonmalinowski Jul 8, 2025
c410bf5
Inline test code
CyrusNajmabadi Jul 8, 2025
fc7751d
Merge branch 'inlineCode' into removeAsyncTests
CyrusNajmabadi Jul 8, 2025
9acf982
Merge branch 'inlineCode' into removeAsyncTests
CyrusNajmabadi Jul 8, 2025
542bfda
Make tests synchronous
CyrusNajmabadi Jul 8, 2025
1b70452
Merge branch 'removeAsyncTests' of https://github.com/CyrusNajmabadi/…
CyrusNajmabadi Jul 8, 2025
c9787f3
Remove unnecessary await
CyrusNajmabadi Jul 8, 2025
1abc96c
Enable C# classification in more tests
CyrusNajmabadi Jul 8, 2025
3340e4d
Fix unit tests
jasonmalinowski Jul 8, 2025
5cfde68
Use collection expressions
CyrusNajmabadi Jul 8, 2025
ba81203
Tweak 'add required parens' to recognize a common C# idiom (#79287)
CyrusNajmabadi Jul 8, 2025
8131710
Explicitly document that ITaggerEventSource.Changed can be on any thread
jasonmalinowski May 30, 2025
578c6a3
Document that LspSolutionChanged may happen on any thread
jasonmalinowski May 30, 2025
291e1e7
Remove subscription from WorkspaceChanged in the StackTraceExplorer
jasonmalinowski May 30, 2025
92ec31e
Avoid checking the CanonicalName each time for the analyzer
jasonmalinowski May 30, 2025
c6c55d5
Remove thread requirement from CodeAnalysisDiagnosticAnalyzerService
jasonmalinowski May 31, 2025
080d4df
Reduce probability of stack overflow during exception handling in Mod…
ToddGrun Jul 8, 2025
6607763
Remove synchronous rename (#78839)
akhera99 Jul 8, 2025
83124eb
Remove unnecessary await (#79294)
CyrusNajmabadi Jul 8, 2025
f2649bb
Allow rename to (optionally) process source generated documents (#78984)
davidwengier Jul 8, 2025
5cd038c
Merge remote-tracking branch 'upstream/main' into removeAsyncTests
CyrusNajmabadi Jul 8, 2025
3dcefad
Update
CyrusNajmabadi Jul 8, 2025
f6d4d97
Add test demonstrating issue
dibarbet Jul 8, 2025
9af5f43
Use collection expressions (#79296)
CyrusNajmabadi Jul 8, 2025
7698b4e
Merge remote-tracking branch 'upstream/main' into removeAsyncTests
CyrusNajmabadi Jul 8, 2025
c31bf78
inline
CyrusNajmabadi Jul 8, 2025
2241278
Merge remote-tracking branch 'upstream/main' into testClassification
CyrusNajmabadi Jul 8, 2025
42ba8b9
Fix Rename adornment positioning after scrolling (#79284)
jasonmalinowski Jul 8, 2025
7e36f8d
Move telemetry initialization out of our UI-thread bound helper (#79282)
jasonmalinowski Jul 8, 2025
805447c
fix casing mismatch when using non-unc file paths
dibarbet Jul 8, 2025
f8b9e1f
Merge remote-tracking branch 'origin/main' into dev/jorobich/cleanup-…
JoeRobich Jul 9, 2025
7283fc6
Enable C# classification in more tests (#79295)
CyrusNajmabadi Jul 9, 2025
c426853
Collection expressions
CyrusNajmabadi Jul 8, 2025
c669171
Skip failing tests
JoeRobich Jul 9, 2025
aafd6eb
Add cookbook section for avoiding inheritance (#79276)
333fred Jul 9, 2025
67cce50
Remove most remaining uses of WorkspaceChanged off the UI thread (#78…
jasonmalinowski Jul 9, 2025
41d1330
Make tests non-async (#79278)
CyrusNajmabadi Jul 9, 2025
39d173c
Make 'convert to raw string' a syntax-only refactoring
CyrusNajmabadi Jul 9, 2025
1261952
Fix issue with use-raw-string and fix-all
CyrusNajmabadi Jul 9, 2025
2b5ae45
Fix bad merge
JoeRobich Jul 9, 2025
7ef7c59
Make 'convert to raw string' a syntax-only refactoring (#79304)
CyrusNajmabadi Jul 9, 2025
f265dce
Use raw strings in tests
CyrusNajmabadi Jul 9, 2025
701cb07
[main] Source code updates from dotnet/dotnet (#79313)
dotnet-maestro[bot] Jul 9, 2025
3635db8
Fix document diagnostics document open check (#79298)
dibarbet Jul 9, 2025
1f1ecdb
Remove duplicate code for processing arrays vs strings (#79233)
CyrusNajmabadi Jul 9, 2025
5cbd302
Fix argument indentation
CyrusNajmabadi Jul 9, 2025
cc1869f
REvert
CyrusNajmabadi Jul 9, 2025
a4ec594
Merge branch 'main' into testRawStrings
CyrusNajmabadi Jul 9, 2025
31b74cd
Merge branch 'main' into revertRevert
CyrusNajmabadi Jul 9, 2025
ad2eb92
Merge remote-tracking branch 'origin/indentation' into testRawStrings
CyrusNajmabadi Jul 9, 2025
5622568
Move to .NET 10 P5 SDK and Arcade 10 SDK (#78925)
JoeRobich Jul 9, 2025
2193401
Simplify initialization of OpenFileTracker
jasonmalinowski Jul 8, 2025
69b7d22
Revert
CyrusNajmabadi Jul 9, 2025
db98c69
Fix argument indentation (#79316)
CyrusNajmabadi Jul 9, 2025
5cc083a
Merge branch 'main' into revertRevert2
CyrusNajmabadi Jul 10, 2025
086dab6
Merge branch 'revertRevert2' of https://github.com/CyrusNajmabadi/ros…
CyrusNajmabadi Jul 10, 2025
147011a
Merge remote-tracking branch 'upstream/main' into revertRevert3
CyrusNajmabadi Jul 10, 2025
431f5b8
Merge branch 'main' into actuallyUseAutoProps
CyrusNajmabadi Jul 10, 2025
1c3b871
Merge remote-tracking branch 'upstream/main' into testRawStrings
CyrusNajmabadi Jul 9, 2025
61f9028
Simplify initialization of OpenFileTracker (#79281)
jasonmalinowski Jul 10, 2025
7143256
Reapply "Update to using unbound nameof(X<>) expressions (#78731)" (#…
CyrusNajmabadi Jul 10, 2025
24e1752
revise
CyrusNajmabadi Jul 10, 2025
e9787bc
Reapply "Update to using simple untyped lambdas (#78941)
CyrusNajmabadi Jul 10, 2025
01e9518
Use raw strings in tests (#79305)
CyrusNajmabadi Jul 10, 2025
bfc6299
NRT
CyrusNajmabadi Jul 10, 2025
62147ce
Auto prop
CyrusNajmabadi Jul 10, 2025
0024c42
nrt
CyrusNajmabadi Jul 10, 2025
982151e
Fix
CyrusNajmabadi Jul 10, 2025
4c6cc87
Update src/Compilers/Core/Portable/AdditionalTextFile.cs
CyrusNajmabadi Jul 10, 2025
b9cc05a
better fix
CyrusNajmabadi Jul 10, 2025
c0e084c
Merge branch 'actuallyUseAutoProps' of https://github.com/CyrusNajmab…
CyrusNajmabadi Jul 10, 2025
c12f205
better fix
CyrusNajmabadi Jul 10, 2025
688c9e1
better fix
CyrusNajmabadi Jul 10, 2025
d3a88ce
Switch to using field+auto-prop (#76906)
CyrusNajmabadi Jul 10, 2025
f71444b
Set DeployExtension for all the extensions we expect to deploy
jasonmalinowski Jul 11, 2025
be0277d
Set RoslynCompilerType=Custom in all toolset package flavors (#79327)
jjonescz Jul 11, 2025
604c176
Set DeployExtension for all the extensions we expect to deploy (#79334)
jasonmalinowski Jul 11, 2025
b02cec8
Fix code gen for some increment/compound assignment scenarios involvi…
AlekseyTs Jul 11, 2025
b0d2365
In progress
CyrusNajmabadi Jul 11, 2025
06bdcd7
In progress
CyrusNajmabadi Jul 11, 2025
2daaf62
Hook up
CyrusNajmabadi Jul 11, 2025
2da3470
Add work item
CyrusNajmabadi Jul 11, 2025
2d241b7
Cleanup
CyrusNajmabadi Jul 11, 2025
0ff19de
Simplify
CyrusNajmabadi Jul 11, 2025
f9b16de
Update to xunit.runner.visualstudio 3.1.1
333fred Jul 11, 2025
d3571ef
Fix crash in use-null-prop fixer (#79340)
CyrusNajmabadi Jul 11, 2025
32388fc
Temporarily increase timeout of helix items to see if it resolves tim…
dibarbet Jul 11, 2025
9332058
Update resx generator test resources to assert new behavior, and fix …
dibarbet Jul 11, 2025
4cb5252
Revert broken raw string changes in PropertySetAnalysisTests
dibarbet Jul 11, 2025
b264377
Fix 'use var' with spans
CyrusNajmabadi Jul 12, 2025
041d768
Skip tests affected by https://github.com/dotnet/runtime/issues/117566.
333fred Jul 12, 2025
c0dfb06
Disable tests for https://github.com/dotnet/roslyn/issues/79351
333fred Jul 12, 2025
6157747
Disable tests for https://github.com/dotnet/roslyn/issues/79352.
333fred Jul 12, 2025
00ecf98
Make tests more consistent
CyrusNajmabadi Jul 12, 2025
367800a
Fix issue offering to remove nullable cast in a ternary expression
CyrusNajmabadi Jul 13, 2025
e8f489e
Fix not offering to remove unnecessary nullable pragmas
CyrusNajmabadi Jul 13, 2025
642bbb7
Fix issue with remove unnecessary parens in vb
CyrusNajmabadi Jul 13, 2025
20e09ec
Fix crash in replace property with methods
CyrusNajmabadi Jul 13, 2025
a435db3
Merge branch 'main' into revertRevert
CyrusNajmabadi Jul 14, 2025
c2a8957
Fix not offering to remove unnecessary nullable pragmas (#79356)
CyrusNajmabadi Jul 14, 2025
985e376
Fix 'use var' with spans (#79348)
CyrusNajmabadi Jul 14, 2025
3746ae5
Fix issue offering to remove nullable cast in a ternary expression (#…
CyrusNajmabadi Jul 14, 2025
af07f75
Fix
CyrusNajmabadi Jul 14, 2025
b141c57
Merge remote-tracking branch 'upstream/main' into revertRevert
CyrusNajmabadi Jul 14, 2025
5f69814
Fix issue with remove unnecessary parens in vb (#79357)
CyrusNajmabadi Jul 14, 2025
bbd4558
Track assembly names, not counts
333fred Jul 14, 2025
4467291
Disable more tests for https://github.com/dotnet/roslyn/issues/79352
333fred Jul 14, 2025
10d5edf
Make tests more consistent (#79353)
CyrusNajmabadi Jul 14, 2025
4a90b62
Fix crash in replace property with methods (#79358)
CyrusNajmabadi Jul 14, 2025
301ab55
Add test
CyrusNajmabadi Jul 14, 2025
dad51bf
Add test showing issue no longer reproes
CyrusNajmabadi Jul 14, 2025
b08ec30
Reapply "Update code to use null propagation (#78733)" (#78930)
CyrusNajmabadi Jul 14, 2025
5b6cdb1
Fix issue where typeof/sizeof weren't classified properly in FindRefs
CyrusNajmabadi Jul 14, 2025
50038ad
Add test showing issue no longer repros. (#79367)
CyrusNajmabadi Jul 14, 2025
2d85833
Allow user to still create a new field/prop when offering to initiali…
CyrusNajmabadi Jul 14, 2025
3e2cadf
Add test showing issue no longer reproes (#79368)
CyrusNajmabadi Jul 14, 2025
84d0d4b
Merge remote-tracking branch 'upstream/main' into initializeFieldOrProp
CyrusNajmabadi Jul 14, 2025
0ecb736
Ensure generated types come after top level statements
CyrusNajmabadi Jul 14, 2025
881be8f
Null tolerance
CyrusNajmabadi Jul 14, 2025
432586c
Ensure we collect dumps on hangs/crashes
dibarbet Jul 14, 2025
8cec0d0
Allow user to still create a new field/prop when offering to initiali…
CyrusNajmabadi Jul 14, 2025
4060745
nrt
CyrusNajmabadi Jul 14, 2025
f935ca8
Fix issue where typeof/sizeof weren't classified properly in FindRefs…
CyrusNajmabadi Jul 14, 2025
23dd322
Update configs for snap
dibarbet Jul 14, 2025
c1794aa
Ensure generated types come after top level statements (#79378)
CyrusNajmabadi Jul 14, 2025
6783c14
Update configs for snap (#79383)
dibarbet Jul 14, 2025
5451e96
*** DO NOT MERGE: Revert "Remove most remaining uses of WorkspaceChan…
dibarbet Jul 14, 2025
4f87c40
Disable Assert that is causing hangs
jaredpar Jul 15, 2025
ed75393
Add console logger to ensure helix console log has detailed info
dibarbet Jul 15, 2025
359a762
Replace Assert.False call
jaredpar Jul 15, 2025
11eed0e
Fix helix timeout
dibarbet Jul 15, 2025
40956b5
Use new dll name for hooking xunit dispose
dibarbet Jul 16, 2025
7461ad2
Update to xunit.runner.visualstudio 3.1.1 (#79343)
dibarbet Jul 16, 2025
edc6c7b
Put revert in main too (#79390)
dibarbet Jul 16, 2025
0f7d644
Merge remote-tracking branch 'upstream/main' into merge-main
333fred Jul 16, 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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ about: Report a bug in Roslyn
2.
3.

A minimal repro, with source-code provided, is ideal. Most compiler/language issues can be distilled into a snippet that can be pasted into [sharplab](https://sharplab.io/).
A minimal repro, with source-code provided, is ideal. Most compiler/language issues can be distilled into a snippet that can be pasted into [.NET Lab](https://lab.razor.fyi/#csharp).

**Diagnostic Id**:

Expand Down
1 change: 1 addition & 0 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,7 @@
"command": "dotnet",
"args": [
"build",
"-p:InnerTargets=CopyFilesForDebugging",
"-p:GenerateFullPaths=true",
"${workspaceFolder}/src/NuGet/Microsoft.Net.Compilers.Toolset/AnyCpu/Microsoft.Net.Compilers.Toolset.Package.csproj"
],
Expand Down
1 change: 1 addition & 0 deletions Compilers.slnf
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@
"src\\ExpressionEvaluator\\Core\\Source\\ExpressionCompiler\\Microsoft.CodeAnalysis.ExpressionCompiler.csproj",
"src\\ExpressionEvaluator\\VisualBasic\\Source\\ExpressionCompiler\\Microsoft.CodeAnalysis.VisualBasic.ExpressionCompiler.vbproj",
"src\\Interactive\\csi\\csi.csproj",
"src\\NuGet\\Microsoft.CodeAnalysis.BuildClient.Package\\Microsoft.CodeAnalysis.BuildClient.Package.csproj",
"src\\NuGet\\Microsoft.CodeAnalysis.Compilers.Package\\Microsoft.CodeAnalysis.Compilers.Package.csproj",
"src\\NuGet\\Microsoft.CodeAnalysis.Package\\Microsoft.CodeAnalysis.Package.csproj",
"src\\NuGet\\Microsoft.Net.Compilers.Toolset\\AnyCpu\\Microsoft.Net.Compilers.Toolset.Package.csproj",
Expand Down
9 changes: 6 additions & 3 deletions NuGet.config
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,16 @@
<clear />
<add key="dotnet-eng" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-eng/nuget/v3/index.json" />
<add key="dotnet-tools" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json" />
<!-- We need dotnet6 because BuildValidator depends on runtime.{platform}.Microsoft.NETCore.ILDAsm (>= 6.0.0-rtm.21518.12) -->
<add key="dotnet6" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet6/nuget/v3/index.json" />
<add key="dotnet7" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7/nuget/v3/index.json" />
<!-- We need dotnet7-transport because we depend on Microsoft.CodeAnalysis.PerformanceSensitiveAnalyzers (>= 3.3.4-beta1.22504.1) -->
<add key="dotnet7-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet7-transport/nuget/v3/index.json" />
<!-- We need dotnet8 because we depend on Microsoft.CodeAnalysis.NetAnalyzers (>= 8.0.0-preview.23468.1) -->
<add key="dotnet8" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8/nuget/v3/index.json" />
<add key="dotnet8-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet8-transport/nuget/v3/index.json" />
<!-- We need dotnet9 because we depend on Roslyn.Diagnostics.Analyzers (>= 3.11.0-beta1.24081.1)-->
<add key="dotnet9" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9/nuget/v3/index.json" />
<add key="dotnet9-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9-transport/nuget/v3/index.json" />
<add key="dotnet10" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet10/nuget/v3/index.json" />
<add key="dotnet10-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet10-transport/nuget/v3/index.json" />
<add key="dotnet-public" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-public/nuget/v3/index.json" />
<add key="dotnet-libraries" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-libraries/nuget/v3/index.json" />
<add key="dotnet-libraries-transport" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-libraries-transport/nuget/v3/index.json" />
Expand Down
119 changes: 93 additions & 26 deletions Roslyn.sln

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions azure-pipelines-integration-dartlab.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ resources:
name: internal/dotnet-roslyn
ref: $(Build.SourceBranch)
trigger:
- main
- main-vs-deps

parameters:
- name: prNumber
Expand Down Expand Up @@ -122,4 +122,4 @@ stages:
gitHubConnection: 'dotnet-comment-bot-service-connection'
repositoryName: '$(Build.Repository.Name)'
id: ${{ parameters.prNumber }}
comment: 'DartLab pipeline [run]($(System.TeamFoundationCollectionUri)$(System.TeamProject)/_build/results?buildId=$(Build.BuildId)) did not complete successfully for ${{ parameters.sha }}'
comment: 'DartLab pipeline [run]($(System.TeamFoundationCollectionUri)$(System.TeamProject)/_build/results?buildId=$(Build.BuildId)) did not complete successfully for ${{ parameters.sha }}'
2 changes: 1 addition & 1 deletion azure-pipelines-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ parameters:
- name: queueName
displayName: Queue Name
type: string
default: windows.vs2022preview.amd64.open
default: windows.vs2022preview.scout.amd64.open
values:
- windows.vs2022.amd64.open
- windows.vs2022.scout.amd64.open
Expand Down
2 changes: 1 addition & 1 deletion docs/contributing/Compiler Test Plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ This document provides guidance for thinking about language interactions and tes
- Readonly members on structs (methods, property/indexer accessors, custom event accessors)
- SkipLocalsInit
- Method override or explicit implementation with `where T : { class, struct, default }`
- `extension` blocks
- `extension` blocks (emitted with content-based names)

# Code
- Operators (see Eric's list below)
Expand Down
23 changes: 23 additions & 0 deletions docs/features/incremental-generators.cookbook.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ of scope in the final design of the shipping feature.
- [Pipeline model design](#pipeline-model-design)
- [Use `ForAttributeWithMetadataName`](#use-forattributewithmetadataname)
- [Use an indented text writer, not `SyntaxNode`s, for generation](#use-an-indented-text-writer-not-syntaxnodes-for-generation)
- [Put `Microsoft.CodeAnalysis.EmbeddedAttribute` on generated marker types](#put-microsoftcodeanalysisembeddedattribute-on-generated-marker-types)
- [Do not scan for types that indirectly implement interfaces, indirectly inherit from types, or are indirectly marked by an attribute from an interface or base type](#do-not-scan-for-types-that-indirectly-implement-interfaces-indirectly-inherit-from-types-or-are-indirectly-marked-by-an-attribute-from-an-interface-or-base-type)
- [Designs](#designs)
- [Generated class](#generated-class)
- [Additional file transformation](#additional-file-transformation)
Expand Down Expand Up @@ -135,6 +137,27 @@ project, it will not include that type in lookup results. To ensure that `Micros
Another option is to provide an assembly in your nuget package that defines your marker attributes, but this can be more difficult to author. We recommend the
`EmbeddedAttribute` approach, unless you need to support versions of Roslyn lower than 4.14.

### Do not scan for types that indirectly implement interfaces, indirectly inherit from types, or are indirectly marked by an attribute from an interface or base type

Using an interface/base type marker can be a very tempting and natural fit for generators. However, scanning for these types of markers is _very_ expensive, and cannot
be done incrementally. Doing so can have an outsized impact on IDE and command-line performance, even for fairly small consuming users. These scenarios are:

* A user implements an interface on `BaseModelType`, and then the generator looks all derived types from `BaseModelType`. Because the generator cannot know ahead of time
what `BaseModelType` actually is, it means that the generator has to fetch `AllInterfaces` on every single type in the compilation so it can scan for the marker
interface. This will end up occurring either on every keystroke or every file save, depending on what mode the user is running generators in; either one is disastrous
for IDE performance, even when trying to optimize by scoping down the scanning to only types with a base list.
* A user inherits from a generator-defined `BaseSerializerType`, and the generator looks for anything that inherits from that type, either directly or indirectly. Similar
to the above scenario, the generator will need to scan all types with a base type in the entire compilation for the inherited `BaseSerializerType`, which will heavily
impact IDE performance.
* A generator looks among all base types/implemented interfaces for a type that is attributed with a generator's marker attribute. This is effectively either scenario 1
or 2, just with a different search criteria.
* A generator leaves its marker attribute unsealed, and expects users to be able to derive their own attributes from that marker, as a source of parameter customization.
This has a couple of problems: first, every attributed type needs to be checked to see if the attribute inherits from the marker attribute. While not as performance
impacting as the first three scenarios, this isn't great for performance. Second, and more importantly, there is no good way to retrieve any customizations from the
inherited attribute. These attributes are not instantiated by the source generator, so any parameters passed to the `base()` constructor call or values that are assigned
to any properties of the base attribute are not visible to the generator. Prefer using FAWMN-driven development here, and using an analyzer to inform the user if they
need to inherit from some base class for your generator to work correctly.

## Designs

This section is broken down by user scenarios, with general solutions listed first, and more specific examples later on.
Expand Down
20 changes: 10 additions & 10 deletions eng/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@
<PackageVersion Include="System.Runtime.CompilerServices.Unsafe" Version="$(SystemRuntimeCompilerServicesUnsafeVersion)" />
<PackageVersion Include="System.Security.Cryptography.ProtectedData" Version="$(SystemSecurityCryptographyProtectedDataVersion)" />
<PackageVersion Include="System.Security.Permissions" Version="$(SystemSecurityPermissionsVersion)" />
<PackageVersion Include="System.Text.Encoding.CodePages" Version="7.0.0" />
<PackageVersion Include="System.Text.Encoding.CodePages" Version="8.0.0" />
<PackageVersion Include="System.Threading.Tasks.Dataflow" Version="$(SystemThreadingTasksDataflowVersion)" />
<PackageVersion Include="System.Threading.Tasks.Extensions" Version="$(SystemThreadingTasksExtensionsVersion)" />
<PackageVersion Include="System.ValueTuple" Version="$(SystemValueTupleVersion)" />
Expand All @@ -215,7 +215,7 @@
<PackageVersion Include="System.Text.Encodings.Web" Version="$(SystemTextEncodingsWebVersion)" />
<!-- Note: When updating SystemTextJsonVersion ensure that the version is no higher than what is used by MSBuild. -->
<PackageVersion Include="System.Text.Json" Version="$(SystemTextJsonVersion)" />
<PackageVersion Include="System.Threading.Channels" Version="7.0.0" />
<PackageVersion Include="System.Threading.Channels" Version="8.0.0" />

<PackageVersion Include="Microsoft.IO.Redist" Version="$(MicrosoftIORedistVersion)" />

Expand Down Expand Up @@ -273,7 +273,7 @@
<PackageVersion Include="xunit.core" Version="$(_xunitVersion)" />
<PackageVersion Include="Xunit.Combinatorial" Version="1.6.24" />
<PackageVersion Include="xunit.extensibility.core" Version="$(_xunitVersion)" />
<PackageVersion Include="xunit.runner.visualstudio" Version="2.4.5 " />
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.1" />
<PackageVersion Include="xunit.runner.utility" Version="$(_xunitVersion)" />
<PackageVersion Include="xunit.abstractions" Version="2.0.3" />
<PackageVersion Include="xunit.extensibility.execution" Version="$(_xunitVersion)" />
Expand Down Expand Up @@ -319,16 +319,16 @@
but not higher than our minimum dogfoodable Visual Studio version, or else
the generators we build would load on the command line but not load in IDEs.
-->
<PackageVersion Include="Microsoft.CodeAnalysis.Common" Version="4.1.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.Common" Version="4.12.0" />
<!--
The version of Roslyn used in the RoslynAnalyzers varies. These are defaults that
will be overridden in the RoslynAnalyzer project files.
-->
<!--<PackageVersion Include="Microsoft.CodeAnalysis" Version="4.1.0" /> -->
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.1.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.1.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.VisualBasic" Version="4.1.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces" Version="4.1.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="4.1.0" />
<!--<PackageVersion Include="Microsoft.CodeAnalysis" Version="4.12.0" /> -->
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.12.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.12.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.VisualBasic" Version="4.12.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.VisualBasic.Workspaces" Version="4.12.0" />
<PackageVersion Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="4.12.0" />
</ItemGroup>
</Project>
5 changes: 3 additions & 2 deletions eng/Publishing.props
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,9 @@
</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>
Depending on channel configuration, this means that these assets could be pushed to a different feed.
Do not include these for source-only builds since these files aren't intended to be published in that mode. -->
<ItemGroup Condition="'$(DotNetBuildSourceOnly)' != 'true'">
<Artifact Update="@(Artifact->WithMetadataValue('Kind', 'Package'))" Category="ToolingPackage" />

<FilesToPublishToSymbolServer Include="$(ArtifactsBinDir)**/Microsoft.Build.Tasks.CodeAnalysis.pdb" />
Expand Down
14 changes: 7 additions & 7 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<Dependencies>
<Source Uri="https://github.com/dotnet/dotnet" Mapping="roslyn" Sha="25bec1af21db71468c5c2c3a588dd54d0e058e9d" BarId="271417" />
<Source Uri="https://github.com/dotnet/dotnet" Mapping="roslyn" Sha="f451e5d3036a4f140a989e0a7f3f1ae432420e71" BarId="274568" />
<ProductDependencies>
<!-- RoslynAnalyzers reference older builds of Roslyn and this is necessary for SourceBuild. -->
<Dependency Name="Microsoft.CodeAnalysis" Version="3.11.0">
Expand Down Expand Up @@ -110,13 +110,13 @@
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.25271.1">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.25259.2">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>086a1771875b63404b4a710d27250fe384dc2810</Sha>
<Sha>80c4e4d26cb85c86f7e1be77d2d9eceeef0f3493</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="9.0.0-beta.25271.1">
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="10.0.0-beta.25259.2">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>086a1771875b63404b4a710d27250fe384dc2810</Sha>
<Sha>80c4e4d26cb85c86f7e1be77d2d9eceeef0f3493</Sha>
</Dependency>
<Dependency Name="Microsoft.DiaSymReader" Version="2.0.0">
<Uri>https://github.com/dotnet/symreader</Uri>
Expand All @@ -126,9 +126,9 @@
<Uri>https://github.com/dotnet/roslyn</Uri>
<Sha>5d10d428050c0d6afef30a072c4ae68776621877</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="9.0.0-beta.25271.1">
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="10.0.0-beta.25259.2">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>086a1771875b63404b4a710d27250fe384dc2810</Sha>
<Sha>80c4e4d26cb85c86f7e1be77d2d9eceeef0f3493</Sha>
</Dependency>
<Dependency Name="Microsoft.CodeAnalysis.NetAnalyzers" Version="8.0.0-preview.23468.1">
<Uri>https://github.com/dotnet/roslyn-analyzers</Uri>
Expand Down
Loading
Loading