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

Update partial properties feature branch from main #73522

Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
501 commits
Select commit Hold shift + click to select a range
18614bc
Continue visiting bad named argument if not target-typed in NullableW…
jjonescz May 10, 2024
e754fb9
Switch to immutable array
CyrusNajmabadi May 10, 2024
f876667
Switch to line changes
CyrusNajmabadi May 10, 2024
9b3fe96
Switch to list
CyrusNajmabadi May 10, 2024
33b9685
Switch to list
CyrusNajmabadi May 10, 2024
f9ac16b
Simplify
CyrusNajmabadi May 10, 2024
8569d9d
Use array
CyrusNajmabadi May 10, 2024
7ece11a
Stronger type
CyrusNajmabadi May 10, 2024
6365421
builder
CyrusNajmabadi May 10, 2024
3219183
Get off ienumerables
CyrusNajmabadi May 10, 2024
5c58359
Downstream
CyrusNajmabadi May 10, 2024
138049f
Fix accessibility
CyrusNajmabadi May 10, 2024
f754a6c
Avoid LOH allocation in text synchronizatin
CyrusNajmabadi May 10, 2024
ddad624
Add back length check
CyrusNajmabadi May 10, 2024
6a4e3a8
Merge branch 'synchronizeLOH' into diffMergeLOH
CyrusNajmabadi May 10, 2024
7c563f6
Update src/Workspaces/Core/Portable/LinkedFileDiffMerging/LinkedFileD…
CyrusNajmabadi May 10, 2024
6244809
nrt
CyrusNajmabadi May 10, 2024
594cd94
Merge branch 'diffMergeLOH' of https://github.com/CyrusNajmabadi/rosl…
CyrusNajmabadi May 10, 2024
6f8a46b
Fixup encapsulate field
CyrusNajmabadi May 10, 2024
2e191c8
Cleanup
CyrusNajmabadi May 10, 2024
450e0a9
Cleanup
CyrusNajmabadi May 10, 2024
940ce0f
Test fixes
CyrusNajmabadi May 10, 2024
30674f4
Test fixes
CyrusNajmabadi May 10, 2024
d446cb8
Cleanup
CyrusNajmabadi May 10, 2024
531a9d5
Make readonly
CyrusNajmabadi May 10, 2024
b977b81
Do less work computing diffs
CyrusNajmabadi May 10, 2024
c16b370
use GetOrAdd helper
CyrusNajmabadi May 10, 2024
e56e938
prefilter
CyrusNajmabadi May 10, 2024
278890b
Correct capacity
CyrusNajmabadi May 10, 2024
4a11fe5
fix
CyrusNajmabadi May 10, 2024
9ff8cf9
Pooling
CyrusNajmabadi May 10, 2024
9105478
arrays
CyrusNajmabadi May 10, 2024
dd1929d
Simplify
CyrusNajmabadi May 10, 2024
5f50d40
Optimize
CyrusNajmabadi May 10, 2024
bfd0287
more immutable'
CyrusNajmabadi May 10, 2024
bb7da34
optimize
CyrusNajmabadi May 10, 2024
03dc969
free pooled stuff
CyrusNajmabadi May 10, 2024
5cfd5dc
Remove unreported telemetry
CyrusNajmabadi May 10, 2024
dc069e0
Cleanup
CyrusNajmabadi May 10, 2024
acfa57a
implement
CyrusNajmabadi May 10, 2024
2bf8bc6
Cleanup
CyrusNajmabadi May 10, 2024
545729c
rename
CyrusNajmabadi May 10, 2024
7dd6ad3
Simplify
CyrusNajmabadi May 10, 2024
f30cd90
Readonly
CyrusNajmabadi May 10, 2024
6f6f62a
struct
CyrusNajmabadi May 10, 2024
22cd422
struct
CyrusNajmabadi May 10, 2024
b38278a
struct
CyrusNajmabadi May 10, 2024
5fadd38
comment
CyrusNajmabadi May 10, 2024
74044a8
simplify
CyrusNajmabadi May 10, 2024
e959eb8
comment
CyrusNajmabadi May 10, 2024
4bbcd1d
Revert "Move AsyncBatchingWorkQueue usage in telemetry to TelemetryLo…
arkalyanms May 10, 2024
324e078
Merge pull request #73432 from dotnet/revert-73287-TelemetryFlushUsin…
arkalyanms May 10, 2024
f764085
Make placement of raw string guide line independent of the space char…
DoctorKrolic May 11, 2024
63b6d15
Merge branch 'dotnet:main' into raw-string-guide-line-placement
DoctorKrolic May 12, 2024
8bdd497
Port C# "Invert if" refactoring tests to `VerifyCS`
DoctorKrolic May 12, 2024
6449f1e
Port VB
DoctorKrolic May 12, 2024
99f2c59
Port VB
DoctorKrolic May 12, 2024
e5f023c
Small tweaks to speed up ctrl-click
CyrusNajmabadi May 13, 2024
0dc5ade
move location
CyrusNajmabadi May 13, 2024
9c06d9b
REvert
CyrusNajmabadi May 13, 2024
fac6cd6
Simplify
CyrusNajmabadi May 13, 2024
c2338d6
Merge pull request #73425 from CyrusNajmabadi/synchronizeLOH
CyrusNajmabadi May 13, 2024
de0af4d
Merge pull request #73424 from CyrusNajmabadi/diffMergeLOH
CyrusNajmabadi May 13, 2024
f52d2f0
Merge pull request #73430 from CyrusNajmabadi/lessWork
CyrusNajmabadi May 13, 2024
b6ab47d
Merge pull request #73442 from CyrusNajmabadi/speedupCtrlClick
CyrusNajmabadi May 13, 2024
1e0edc4
Merge pull request #73440 from DoctorKrolic/verify-invert-if
CyrusNajmabadi May 13, 2024
ccf960d
Merge pull request #73435 from DoctorKrolic/raw-string-guide-line-pla…
CyrusNajmabadi May 13, 2024
d3ea419
Add dynamic registration for razor and cshtml files (#73369)
ryzngard May 13, 2024
57d67af
Improve memory allocs in interval trees
CyrusNajmabadi May 13, 2024
0b537d5
Share code
CyrusNajmabadi May 13, 2024
1003a4e
Share code
CyrusNajmabadi May 13, 2024
8d0ca6c
Simplify
CyrusNajmabadi May 13, 2024
43bf60d
Simplify
CyrusNajmabadi May 13, 2024
54f589b
PRoduce less string allocs while formatting documents
CyrusNajmabadi May 13, 2024
a7e17c1
Update src/Workspaces/SharedUtilitiesAndExtensions/Compiler/Core/Coll…
CyrusNajmabadi May 13, 2024
f906b4e
Optimize suppress operations
CyrusNajmabadi May 13, 2024
731a302
Downstream
CyrusNajmabadi May 13, 2024
cad6075
Downstream
CyrusNajmabadi May 13, 2024
bdf5fff
Remove array allocations
CyrusNajmabadi May 13, 2024
4c054c5
more arrays
CyrusNajmabadi May 13, 2024
f02b7de
more arrays
CyrusNajmabadi May 13, 2024
b10e83b
more arrays
CyrusNajmabadi May 13, 2024
61a050d
more arrays
CyrusNajmabadi May 13, 2024
e2c91b3
more arrays
CyrusNajmabadi May 13, 2024
2f2e3ee
more arrays
CyrusNajmabadi May 13, 2024
b35b481
more arrays
CyrusNajmabadi May 13, 2024
ff47eec
more arrays
CyrusNajmabadi May 13, 2024
8b5d1a2
more arrays
CyrusNajmabadi May 13, 2024
0c06c31
Merge pull request #73451 from CyrusNajmabadi/memAllocs2
CyrusNajmabadi May 13, 2024
664395b
Cache
CyrusNajmabadi May 13, 2024
3e45d72
Merge pull request #73452 from CyrusNajmabadi/formattingStrings
CyrusNajmabadi May 13, 2024
5617542
Formatting
CyrusNajmabadi May 13, 2024
1b62670
Merge remote-tracking branch 'upstream/main' into arrayAllocs
CyrusNajmabadi May 13, 2024
4c97927
Arrays
CyrusNajmabadi May 13, 2024
7c5115d
inline
CyrusNajmabadi May 13, 2024
49422b8
inline
CyrusNajmabadi May 13, 2024
960f7ad
inline
CyrusNajmabadi May 13, 2024
981b6aa
inline
CyrusNajmabadi May 13, 2024
be76b21
Docs
CyrusNajmabadi May 13, 2024
74093fd
Merge pull request #73456 from CyrusNajmabadi/suppressionOperations
CyrusNajmabadi May 13, 2024
db8efa8
Simplify
CyrusNajmabadi May 13, 2024
e97fcbe
switch to tuple
CyrusNajmabadi May 13, 2024
773d222
Fix
CyrusNajmabadi May 13, 2024
f087e25
Fix
CyrusNajmabadi May 13, 2024
0782259
Fix lint
CyrusNajmabadi May 14, 2024
9b6dd87
Merge pull request #73458 from CyrusNajmabadi/arrayAllocs
CyrusNajmabadi May 14, 2024
60cc971
Properly dispose the SymbolSearchEngine
CyrusNajmabadi May 14, 2024
3738d09
Remove unused parts of RemoteHostClient
CyrusNajmabadi May 14, 2024
cc82c05
Test local functions with goto out of scope (#73402)
jjonescz May 14, 2024
0396154
Add "First-class Span Types" feature status (#73446)
jjonescz May 14, 2024
874a204
Stop overbuilding SemanticSearch.ReferenceAssemblies (#73468)
ViktorHofer May 14, 2024
b3d9ff7
Merge pull request #73466 from CyrusNajmabadi/cleanupClient
CyrusNajmabadi May 14, 2024
c1e2051
Switch to cleaner patterns than explicit Task.Run
CyrusNajmabadi May 14, 2024
97798ed
Switch to cleaner patterns than explicit Task.Run
CyrusNajmabadi May 14, 2024
b35cea5
Switch to producer/consumer
CyrusNajmabadi May 14, 2024
f6ac611
Cleanup
CyrusNajmabadi May 14, 2024
9d4f015
Switch to cleaner patterns than explicit Task.Run
CyrusNajmabadi May 14, 2024
1313b36
Switch to cleaner patterns than explicit Task.Run
CyrusNajmabadi May 14, 2024
db635f3
Switch to cleaner patterns than explicit Task.Run
CyrusNajmabadi May 14, 2024
093fb96
Switch to cleaner patterns than explicit Task.Run
CyrusNajmabadi May 14, 2024
adfac45
Switch to cleaner patterns than explicit Task.Run
CyrusNajmabadi May 14, 2024
25318ba
Switch to cleaner patterns than explicit Task.Run
CyrusNajmabadi May 14, 2024
ae306f1
Switch to producer/consumer
CyrusNajmabadi May 14, 2024
50fd48a
move to roslynparallel
CyrusNajmabadi May 14, 2024
23c6a2d
Simplify
CyrusNajmabadi May 14, 2024
858a25d
Add back
CyrusNajmabadi May 14, 2024
1a2f73f
Move off UI thread
CyrusNajmabadi May 14, 2024
d99e593
remove unread local
CyrusNajmabadi May 14, 2024
2b2eb57
Move off UI thread
CyrusNajmabadi May 14, 2024
0ee5ff4
Switch to explicit parallel
CyrusNajmabadi May 14, 2024
cf5b7ff
Switch to explicit parallel
CyrusNajmabadi May 14, 2024
7c4a99a
move off of task.run
CyrusNajmabadi May 14, 2024
20fccbc
Switch to explicit parallel
CyrusNajmabadi May 14, 2024
65ce70b
move off of task.run
CyrusNajmabadi May 14, 2024
26db6c5
Fix logic
CyrusNajmabadi May 14, 2024
6494491
Switch to producer consumer
CyrusNajmabadi May 14, 2024
f85f1b2
Remove virtual from 'SourceMethodSymbolWithAttributes.SyntaxNode' (#…
RikkiGibson May 14, 2024
a944cf8
Switch to callback style
CyrusNajmabadi May 14, 2024
6ce65bc
Fix comment
CyrusNajmabadi May 14, 2024
b303702
swithc how we yield
CyrusNajmabadi May 14, 2024
4c609b3
revert
CyrusNajmabadi May 14, 2024
5e5e448
Switch to producer consumer
CyrusNajmabadi May 14, 2024
4dbbe08
Add comment
CyrusNajmabadi May 14, 2024
1564065
Make private
CyrusNajmabadi May 14, 2024
f0950dd
Add back
CyrusNajmabadi May 14, 2024
f74d018
Simplify state
CyrusNajmabadi May 14, 2024
04dcd37
Remove ct
CyrusNajmabadi May 14, 2024
5f6d8d2
Avoid hashset
CyrusNajmabadi May 14, 2024
b42c857
One distinct call
CyrusNajmabadi May 14, 2024
51378df
Merge remote-tracking branch 'upstream/main' into taskRun
CyrusNajmabadi May 14, 2024
5a5da6f
primary constructors
CyrusNajmabadi May 14, 2024
0fcf786
Avoid unnecessary full tree walks in the simplifier system
CyrusNajmabadi May 14, 2024
2577230
Update local deployment instructions (#73417)
jcouv May 14, 2024
3e78bf6
remove semantic model
CyrusNajmabadi May 14, 2024
75004a9
Remove unnecessary node walk
CyrusNajmabadi May 14, 2024
cd8d28f
Merge pull request #73464 from CyrusNajmabadi/properDispose
CyrusNajmabadi May 14, 2024
ae3ecd2
Avoid enumeration allocation in formatter
CyrusNajmabadi May 14, 2024
ab0e8fc
Docs
CyrusNajmabadi May 14, 2024
fe5edeb
Merge pull request #73471 from CyrusNajmabadi/taskRun
CyrusNajmabadi May 14, 2024
0915b6a
Merge branch 'main' into importsWalk
CyrusNajmabadi May 14, 2024
a6ec110
Simplify
CyrusNajmabadi May 14, 2024
0a0da2d
Net9 Reference Assemblies (#73423)
jaredpar May 14, 2024
2934ad3
Clean up
CyrusNajmabadi May 14, 2024
ec7ab6c
Apply algorithm
CyrusNajmabadi May 15, 2024
a26bed7
Merge pull request #73473 from CyrusNajmabadi/importsWalk
CyrusNajmabadi May 15, 2024
0d9baa9
Merge branch 'main' into formatTesting2
CyrusNajmabadi May 15, 2024
c1fd7b3
Merge branch 'main' into lsp_stj
dibarbet May 15, 2024
256ed5b
Merge pull request #73475 from CyrusNajmabadi/formatTesting2
CyrusNajmabadi May 15, 2024
86099b1
Use TextDocumentChangeRegistrationOptions for didChange registration …
ryzngard May 15, 2024
6f815fb
Update bug-report.md (#73481)
RikkiGibson May 15, 2024
43e4475
Remove unused Language field
CyrusNajmabadi May 15, 2024
f336f31
Relax option type
CyrusNajmabadi May 15, 2024
e15024b
Cache whitespace values
CyrusNajmabadi May 15, 2024
1ac8978
Cache whitespace values
CyrusNajmabadi May 15, 2024
e1cb7bc
Docs
CyrusNajmabadi May 15, 2024
b582909
Add more "ref in async" tests (#73444)
jjonescz May 15, 2024
80c8b00
Merge branch 'main' into features/RefInAsync
jjonescz May 15, 2024
07d80d7
Merge pull request #73487 from CyrusNajmabadi/formattingPerf
CyrusNajmabadi May 15, 2024
fd9a371
Merge "ref in async" feature into main (#73488)
jjonescz May 15, 2024
fbb2d44
in progress
CyrusNajmabadi May 15, 2024
87b3c8b
Add helper
CyrusNajmabadi May 15, 2024
e5d344a
Merge pull request #73207 from dibarbet/lsp_stj
dibarbet May 15, 2024
56e4d13
in progress
CyrusNajmabadi May 15, 2024
8c247f4
Cache values in dependent project finder
CyrusNajmabadi May 15, 2024
4344326
Pooling
CyrusNajmabadi May 15, 2024
149d936
Cache more
CyrusNajmabadi May 15, 2024
44ff6de
Formatting
CyrusNajmabadi May 15, 2024
2209de9
Update src/Workspaces/Core/Portable/FindSymbols/FindReferences/Depend…
CyrusNajmabadi May 15, 2024
e69f831
parity
CyrusNajmabadi May 15, 2024
931115f
Merge branch 'dependentProjectsFinder' of https://github.com/CyrusNaj…
CyrusNajmabadi May 15, 2024
e20069f
Update src/Workspaces/Core/Portable/FindSymbols/FindReferences/Depend…
CyrusNajmabadi May 15, 2024
aeb242d
Fix loops
CyrusNajmabadi May 15, 2024
4c52251
Add no matter what
CyrusNajmabadi May 15, 2024
49a6bfd
Merge branch 'dependentProjectsFinder' of https://github.com/CyrusNaj…
CyrusNajmabadi May 15, 2024
a446a87
Add no matter what
CyrusNajmabadi May 15, 2024
babfc3a
Docs
CyrusNajmabadi May 15, 2024
026ebed
Simplify
CyrusNajmabadi May 15, 2024
8384a7f
in progress
CyrusNajmabadi May 15, 2024
65b3b71
Cleanup
CyrusNajmabadi May 15, 2024
dcdd431
Add factories
CyrusNajmabadi May 15, 2024
29033d0
Update dependencies from https://github.com/dotnet/arcade build 20240…
dotnet-maestro[bot] May 15, 2024
502b651
rename
CyrusNajmabadi May 15, 2024
b46e963
revert
CyrusNajmabadi May 15, 2024
09db6ea
Simplify
CyrusNajmabadi May 15, 2024
c2c2c8e
Fixup
CyrusNajmabadi May 15, 2024
6c8d03a
Double dispose
CyrusNajmabadi May 15, 2024
e873caa
Switch ot LargeText
CyrusNajmabadi May 15, 2024
1fd8b14
REvert
CyrusNajmabadi May 15, 2024
40ba159
REvert
CyrusNajmabadi May 15, 2024
9502336
REvert
CyrusNajmabadi May 15, 2024
6ab93f2
Update src/Workspaces/CSharp/Portable/Workspace/LanguageServices/CSha…
CyrusNajmabadi May 15, 2024
75354ef
Update src/Workspaces/VisualBasic/Portable/Workspace/LanguageServices…
CyrusNajmabadi May 15, 2024
45c2f71
Docs
CyrusNajmabadi May 15, 2024
6e25f22
Merge branch 'nodeToText' of https://github.com/CyrusNajmabadi/roslyn…
CyrusNajmabadi May 15, 2024
f84f8b7
Primary constructor
CyrusNajmabadi May 15, 2024
df2d662
Working on the build
jaredpar May 15, 2024
3b59475
Simplify
CyrusNajmabadi May 15, 2024
7307033
Fix null initial name
CyrusNajmabadi May 15, 2024
e85832f
Update attributes for STJ (#73495)
ryzngard May 15, 2024
a2eb513
Make into auto props
CyrusNajmabadi May 15, 2024
1f23973
Increase size and doc properly
CyrusNajmabadi May 15, 2024
6d1245f
Merge pull request #73493 from CyrusNajmabadi/dependentProjectsFinder
CyrusNajmabadi May 16, 2024
f3dccaa
Merge pull request #73494 from CyrusNajmabadi/nodeToText
CyrusNajmabadi May 16, 2024
a3481f4
Switch to a sorted map to ensure that we produce the same value regar…
CyrusNajmabadi May 16, 2024
ee81fbf
IComparable
CyrusNajmabadi May 16, 2024
501ad52
Add test
CyrusNajmabadi May 16, 2024
9f693e9
Cleanup
CyrusNajmabadi May 16, 2024
9023312
Make the impl of SyntaxNode.GetText more efficient
CyrusNajmabadi May 16, 2024
fd68dc1
Remove IDE side
CyrusNajmabadi May 16, 2024
178600c
Remove IDE side
CyrusNajmabadi May 16, 2024
e708e41
Reduce lines of code by 25%
CyrusNajmabadi May 16, 2024
ddca33c
Switch to cleaner task yielding pattern
CyrusNajmabadi May 16, 2024
4a88942
Add required references to the devkit component output directory
dibarbet May 14, 2024
c26ac42
Two more places
CyrusNajmabadi May 16, 2024
5d09253
Update dependencies from https://github.com/dotnet/arcade build 20240…
dotnet-maestro[bot] May 16, 2024
da3e165
Update dependencies from https://github.com/dotnet/arcade build 20240…
dotnet-maestro[bot] May 16, 2024
9f9f5a6
Merge pull request #73511 from CyrusNajmabadi/mapOrdering
CyrusNajmabadi May 16, 2024
95b3302
Cleaning up the .NET 9 SDK issues
jaredpar May 16, 2024
20a93e1
Merge pull request #73512 from CyrusNajmabadi/nodeToText2
CyrusNajmabadi May 16, 2024
091c012
Improve intense CPU hotspot in FAR
CyrusNajmabadi May 16, 2024
a3f341e
Avoid service lookup in FAR
CyrusNajmabadi May 16, 2024
bab2bcc
Update docs/contributing/Target Framework Strategy.md
jaredpar May 16, 2024
d0f01aa
Use rawkind
CyrusNajmabadi May 16, 2024
22c5933
pr fixup
jaredpar May 16, 2024
d48e4f5
Fix ambiguity
CyrusNajmabadi May 16, 2024
5a1a475
Merge pull request #73461 from dibarbet/add_runtime_deps_build_output
dibarbet May 16, 2024
50f7484
Merge pull request #73518 from CyrusNajmabadi/farPerf2
CyrusNajmabadi May 16, 2024
f086d7c
Merge pull request #73408 from dotnet/darc-main-2d23f62f-5696-4b5e-91…
jaredpar May 16, 2024
799727e
Merge pull request #73514 from CyrusNajmabadi/yieldPattern
CyrusNajmabadi May 16, 2024
6216958
Merge remote-tracking branch 'upstream/main' into partial-properties-…
RikkiGibson May 16, 2024
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
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug-report.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ A minimal repro, with source-code provided, is ideal. Using [sharplab](https://

**Diagnostic Id**:

If this is a report about a bug in an analyzer, please include the diagnostic if possible (e.g. `"IDE0030"`).
If this is a report about a bug in an analyzer, please include the diagnostic ID and message if possible (e.g. `"IDE0030: Use coalesce expression"`).

**Expected Behavior**:

Expand Down
1 change: 1 addition & 0 deletions azure-pipelines-official.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ variables:
- name: ArtifactServices.Drop.PAT
value: $(dn-bot-devdiv-drop-rw-code-rw)
- group: DotNet-Roslyn-Insertion-Variables
- group: AzureDevOps-Artifact-Feeds-Pats

- name: BuildConfiguration
value: release
Expand Down
1 change: 1 addition & 0 deletions docs/Language Feature Status.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ efforts behind them.

| Feature | Branch | State | Developer | Reviewer | IDE Buddy | LDM Champ |
| ------- | ------ | ----- | --------- | -------- | --------- | --------- |
| [First-class Span Types](https://github.com/dotnet/csharplang/issues/7905) | [FirstClassSpan](https://github.com/dotnet/roslyn/tree/features/FirstClassSpan) | [In Progress](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) |
| [Partial properties](https://github.com/dotnet/csharplang/issues/6420) | [partial-properties](https://github.com/dotnet/roslyn/tree/features/partial-properties) | [In Progress](https://github.com/dotnet/roslyn/issues/73090) | [RikkiGibson](https://github.com/RikkiGibson) | [jcouv](https://github.com/jcouv), [333fred](https://github.com/333fred) | [Cosifne](https://github.com/Cosifne) | [333fred](https://github.com/333fred), [RikkiGibson](https://github.com/RikkiGibson) |
| Ref/unsafe in iterators/async | [RefInAsync](https://github.com/dotnet/roslyn/tree/features/RefInAsync) | [In Progress](https://github.com/dotnet/roslyn/issues/72662) | [jjonescz](https://github.com/jjonescz) | [AlekseyTs](https://github.com/AlekseyTs), [cston](https://github.com/cston) | (no IDE impact) | |
| [Ref Struct Interfaces](https://github.com/dotnet/csharplang/issues/7608) | [RefStructInterfaces](https://github.com/dotnet/roslyn/tree/features/RefStructInterfaces) | [In Progress](https://github.com/dotnet/roslyn/issues/72124) | [AlekseyTs](https://github.com/AlekseyTs) | [cston](https://github.com/cston), [jjonescz](https://github.com/jjonescz) | [ToddGrun](https://github.com/ToddGrun) | [agocke](https://github.com/agocke), [jaredpar](https://github.com/jaredpar) |
Expand Down
27 changes: 27 additions & 0 deletions docs/compilers/CSharp/Compiler Breaking Changes - DotNet 9.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# This document lists known breaking changes in Roslyn after .NET 8 all the way to .NET 9.

## Iterators introduce safe context in C# 13 and newer

***Introduced in Visual Studio 2022 version 17.11***

Although the language spec states that iterators introduce a safe context, Roslyn does not implement that in C# 12 and lower.
This will change in C# 13 as part of [a feature which allows unsafe code in iterators](https://github.com/dotnet/roslyn/issues/72662).
The change does not break normal scenarios as it was disallowed to use unsafe constructs directly in iterators anyway.
However, it can break scenarios where an unsafe context was previously inherited into nested local functions, for example:

```cs
unsafe class C // unsafe context
{
System.Collections.Generic.IEnumerable<int> M() // an iterator
{
yield return 1;
local();
void local()
{
int* p = null; // allowed in C# 12; error in C# 13
}
}
}
```

You can work around the break simply by adding the `unsafe` modifier to the local function.
8 changes: 8 additions & 0 deletions docs/compilers/CSharp/Warnversion Warning Waves.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,14 @@ In a typical project, this setting is controlled by the `AnalysisLevel` property
which determines the `WarningLevel` property (passed to the `Csc` task).
For more information on `AnalysisLevel`, see https://devblogs.microsoft.com/dotnet/automatically-find-latent-bugs-in-your-code-with-net-5/

## Warning level 9

The compiler shipped with .NET 9 (the C# 13 compiler) contains the following warnings which are reported only under `/warn:9` or higher.

| Warning ID | Description |
|------------|-------------|
| CS9237 | ['yield return' should not be used in the body of a lock statement](https://github.com/dotnet/roslyn/issues/72443) |

## Warning level 8

The compiler shipped with .NET 8 (the C# 12 compiler) contains the following warnings which are reported only under `/warn:8` or higher.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ give it a try.
### Deploying with command-line (recommended method)

You can build and deploy with the following command:
`.\Build.cmd -Configuration Release -deployExtensions -launch`.
`.\Build.cmd -Restore -Configuration Release -deployExtensions -launch`.

Then you can launch the `RoslynDev` hive with `devenv /rootSuffix RoslynDev`.

Expand Down
10 changes: 9 additions & 1 deletion docs/contributing/Target Framework Strategy.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ Projects in our repository should include the following values in `<TargetFramew
5. `$(NetRoslyn)`: code that needs to execute on .NET but does not have any specific product deployment requirements. For example utilities that are used by our infra, compiler unit tests, etc ... This property also controls which of the frameworks the compiler builds against are shipped in the toolset packages. This value will potentially change in source builds.
6. `$(NetRoslynAll)`: code, generally test utilities, that need to build for all .NET runtimes that we support.
7. `$(NetRoslynBuildHostNetCoreVersion)`: the target used for the .NET Core BuildHost process used by MSBuildWorkspace.
8. `$(NetRoslynNext)`: code that needs to run on the next .NET Core version. This is used during the transition to a new .NET Core version where we need to move forward but don't want to hard code a .NET Core TFM into the build files.

This properties `$(NetCurrent)`, `$(NetPrevious)` and `$(NetMinimum)` are not used in our project files because they change in ways that make it hard for us to maintain corect product deployments. Our product ships on VS and VS Code which are not captured by arcade `$(Net...)` macros. Further as the arcade properties change it's very easy for us to end up with duplicate entries in a `<TargetFarmeworks>` setting. Instead our repo uses the above values and when inside source build or VMR our properties are initialized with arcade properties.

Expand Down Expand Up @@ -58,7 +59,7 @@ This problem primarily comes from our use of polyfill APIs. To avoid this we emp

This comes up in two forms:

### Pattern for types
### Pattern for types

When creating a polyfill for a type use the `#if !NET...` to declare the type and in the `#else` use a `TypeForwardedTo` for the actual type.

Expand Down Expand Up @@ -99,6 +100,13 @@ When creating a polyfill for an extension use the `#if NET...` to declare the ex
#endif
```

## Transitioning to new .NET SDK

As the .NET team approaches releasing a new .NET SDK the Roslyn team will begin using preview versions of that SDK in our build. This will often lead to test failures in our CI system due to underlying behavior changes in the runtime. These failures will often not show up when running in Visual Studio due to the way the runtime for the test runner is chosen.

To ensure we have a simple developer environment such project should be moved to to the `$(NetRoslynNext)` target framework. That ensures the new runtime is loaded when running tests locally.

When the .NET SDK RTMs and Roslyn adopts it all occurrences of `$(NetRoslynNext)` will be moved to simply `$(NetRoslyn)`.

**DO NOT** include both `$(NetRoslyn)` and `$(NetRoslynNext)` in the same project unless there is a very specific reason that both tests are adding value. The most common case is that the runtime has changed behavior and we simply need to update our baselines to match it. Adding extra TFMs for this just increases test time for very little gain.

21 changes: 21 additions & 0 deletions docs/wiki/EnC-Supported-Edits.md
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,24 @@ This document captures the current state. Potential future improvements in this
| Edit a member referencing an embedded interop type | - |
| Edit a member with On Error or Resume statements | Specific to Visual Basic |
| Edit a member containing an Aggregate, Group By, Simple Join, or Group Join LINQ query clause | Specific to Visual Basic |
| Edit in a solution containing projects that specify `*` in `AssemblyVersionAttribute`, e.g. `[assembly: AssemblyVersion("1.0.*")`]. | See [workaround](#projects-with-variable-assembly-versions) below. |

### Projects with variable assembly versions

Hot Reload and Edit & Continue are not compatible with using `*` in `AssemblyVersionAttribute` value. Presence of `*` in the version means that the compiler generates a new version
every build based on the current time. The build then produces non-reproducible, non-deterministic outputs (see [Reproducible Builds](https://reproducible-builds.org)).

It is thus highly recommended to use alternative versioning methods, such as [Nerdbank.GitVersioning](https://github.com/dotnet/Nerdbank.GitVersioning), that derive the assembly version
from the HEAD commit SHA (for git repositories).

> To enable generating commit SHA based assembly versions using `Nerdbank.GitVersioning` package, specify `{ "assemblyVersion" : {"precision": "revision"} }` setting in `version.json`.

If you prefer to keep using `*` in `AssemblyVersionAttribute` it is recommended to use conditional compilation directive to only apply such version to Release builds like so:

```C#
#if DEBUG
[assembly: AssemblyVersion("1.0.0.0")]
#else
[assembly: AssemblyVersion("1.0.*")]
#endif
```
22 changes: 12 additions & 10 deletions eng/Directory.Packages.props
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
<MicrosoftCodeAnalysisNetAnalyzersVersion>8.0.0-preview.23468.1</MicrosoftCodeAnalysisNetAnalyzersVersion>
<MicrosoftCodeAnalysisTestingVersion>1.1.2-beta1.24121.1</MicrosoftCodeAnalysisTestingVersion>
<MicrosoftVisualStudioExtensibilityTestingVersion>0.1.187-beta</MicrosoftVisualStudioExtensibilityTestingVersion>
<_BasicReferenceAssembliesVersion>1.7.2</_BasicReferenceAssembliesVersion>
<!-- CodeStyleAnalyzerVersion should we updated together with version of dotnet-format in dotnet-tools.json -->
<CodeStyleAnalyzerVersion>4.8.0-3.final</CodeStyleAnalyzerVersion>
<VisualStudioEditorPackagesVersion>17.10.72-preview</VisualStudioEditorPackagesVersion>
Expand Down Expand Up @@ -56,7 +57,7 @@
Visual Studio
-->
<PackageVersion Include="Microsoft.VisualStudio.SDK" Version="17.10.234-preview.1" />
<PackageVersion Include="Microsoft.Internal.VisualStudio.Shell.Framework" Version="17.9.35796-preview.1" />
<PackageVersion Include="Microsoft.Internal.VisualStudio.Shell.Framework" Version="17.9.36524" />
<PackageVersion Include="Microsoft.ServiceHub.Client" Version="4.2.1017" />
<PackageVersion Include="Microsoft.VisualStudio.Extensibility" Version="$(MicrosoftVisualStudioExtensibilityVersion)" />
<PackageVersion Include="Microsoft.VisualStudio.Extensibility.Sdk" Version="$(MicrosoftVisualStudioExtensibilityVersion)" />
Expand Down Expand Up @@ -99,7 +100,7 @@
<PackageVersion Include="Microsoft.VisualStudio.Language" Version="$(MicrosoftVisualStudioCoreVersion)" />
<PackageVersion Include="Microsoft.VisualStudio.Language.NavigateTo.Interfaces" Version="$(MicrosoftVisualStudioCoreVersion)" />
<PackageVersion Include="Microsoft.VisualStudio.Language.StandardClassification" Version="$(MicrosoftVisualStudioCoreVersion)" />
<PackageVersion Include="Microsoft.VisualStudio.LanguageServer.Client" Version="17.10.11-preview" />
<PackageVersion Include="Microsoft.VisualStudio.LanguageServer.Client" Version="17.10.72-preview" />
<PackageVersion Include="Microsoft.VisualStudio.RemoteControl" Version="16.3.52" />
<PackageVersion Include="Microsoft.VisualStudio.RpcContracts" Version="17.10.3-preview" />
<PackageVersion Include="Microsoft.VisualStudio.Shell.15.0" Version="17.10.234-preview.1" />
Expand Down Expand Up @@ -138,7 +139,7 @@
<!--
Language Server
-->
<PackageVersion Include="Microsoft.VisualStudio.LanguageServer.Client.Implementation" Version="17.9.25-preview" />
<PackageVersion Include="Microsoft.VisualStudio.LanguageServer.Client.Implementation" Version="17.10.72-preview" />
<PackageVersion Include="NuGet.ProjectModel" Version="6.8.0-rc.112" />
<PackageVersion Include="Microsoft.TestPlatform.TranslationLayer" Version="$(MicrosoftTestPlatformVersion)" />
<PackageVersion Include="Microsoft.TestPlatform.ObjectModel" Version="$(MicrosoftTestPlatformVersion)" />
Expand Down Expand Up @@ -293,13 +294,14 @@
<PackageVersion Include="runtime.linux-x64.Microsoft.NETCore.ILAsm" Version="$(ILAsmPackageVersion)" />
<PackageVersion Include="runtime.osx-x64.Microsoft.NETCore.ILAsm" Version="$(ILAsmPackageVersion)" />
<PackageVersion Include="Basic.CompilerLog.Util" Version="0.6.1" />
<PackageVersion Include="Basic.Reference.Assemblies.NetStandard20" Version="1.6.0" />
<PackageVersion Include="Basic.Reference.Assemblies.Net50" Version="1.6.0" />
<PackageVersion Include="Basic.Reference.Assemblies.Net60" Version="1.6.0" />
<PackageVersion Include="Basic.Reference.Assemblies.Net70" Version="1.6.0" />
<PackageVersion Include="Basic.Reference.Assemblies.Net80" Version="1.4.5" />
<PackageVersion Include="Basic.Reference.Assemblies.Net461" Version="1.6.0" />
<PackageVersion Include="Basic.Reference.Assemblies.NetStandard13" Version="1.6.0" />
<PackageVersion Include="Basic.Reference.Assemblies.NetStandard20" Version="$(_BasicReferenceAssembliesVersion)" />
<PackageVersion Include="Basic.Reference.Assemblies.Net50" Version="$(_BasicReferenceAssembliesVersion)" />
<PackageVersion Include="Basic.Reference.Assemblies.Net60" Version="$(_BasicReferenceAssembliesVersion)" />
<PackageVersion Include="Basic.Reference.Assemblies.Net70" Version="$(_BasicReferenceAssembliesVersion)" />
<PackageVersion Include="Basic.Reference.Assemblies.Net80" Version="$(_BasicReferenceAssembliesVersion)" />
<PackageVersion Include="Basic.Reference.Assemblies.Net461" Version="$(_BasicReferenceAssembliesVersion)" />
<PackageVersion Include="Basic.Reference.Assemblies.NetStandard13" Version="$(_BasicReferenceAssembliesVersion)" />
<PackageVersion Include="Basic.Reference.Assemblies.Net90" Version="$(_BasicReferenceAssembliesVersion)" />
<PackageVersion Include="Microsoft.TeamFoundationServer.Client" Version="19.232.0-preview" />
<!--
Microsoft.TeamFoundationServer.Client is referencing System.Data.SqlClient causing CG alert
Expand Down
6 changes: 4 additions & 2 deletions eng/SourceBuildPrebuiltBaseline.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,15 @@
<UsagePattern IdentityGlob="Microsoft.CodeAnalysis.VisualBasic.CodeStyle/*" />
<UsagePattern IdentityGlob="Microsoft.Net.Compilers.Toolset/*" />

<!-- Roslyn's source-build CI builds both NetPrevious and NetCurrent. This 7.0 ref pack shows up as
<!-- Roslyn's source-build CI builds both NetPrevious and NetCurrent. This 7.0 / 8.0 ref pack shows up as
prebuilt only for the repo CI build but not full source-build. -->
<UsagePattern IdentityGlob="Microsoft.AspNetCore.App.Ref/7.0*" />
<UsagePattern IdentityGlob="Microsoft.AspNetCore.App.Ref/8.0*" />

<!-- Roslyn's source-build CI builds both NetPrevious and NetCurrent. This 7.0 ref pack shows up as
<!-- Roslyn's source-build CI builds both NetPrevious and NetCurrent. This 7.0 / 8.0 ref pack shows up as
prebuilt only for the repo CI build but not full source-build. -->
<UsagePattern IdentityGlob="Microsoft.NETCore.App.Ref/7.0*" />
<UsagePattern IdentityGlob="Microsoft.NETCore.App.Ref/8.0*" />

<!-- This is upgraded to latest version in full source-build and can be baselined for repo build -->
<UsagePattern IdentityGlob="Microsoft.Extensions.Configuration*/8.0*" />
Expand Down
12 changes: 6 additions & 6 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -110,14 +110,14 @@
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.24204.3">
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="9.0.0-beta.24265.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>188340e12c0a372b1681ad6a5e72c608021efdba</Sha>
<Sha>15eea424d3b2dd25a5c0b10e8adc8aeed50129a1</Sha>
</Dependency>
<!-- Intermediate is necessary for source build. -->
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="8.0.0-beta.24204.3">
<Dependency Name="Microsoft.SourceBuild.Intermediate.arcade" Version="9.0.0-beta.24265.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>188340e12c0a372b1681ad6a5e72c608021efdba</Sha>
<Sha>15eea424d3b2dd25a5c0b10e8adc8aeed50129a1</Sha>
<SourceBuild RepoName="arcade" ManagedOnly="true" />
</Dependency>
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="1.0.0-beta.23475.1" CoherentParentDependency="Microsoft.DotNet.Arcade.Sdk">
Expand All @@ -144,9 +144,9 @@
<Uri>https://github.com/dotnet/roslyn</Uri>
<Sha>5d10d428050c0d6afef30a072c4ae68776621877</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="8.0.0-beta.24204.3">
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="9.0.0-beta.24265.1">
<Uri>https://github.com/dotnet/arcade</Uri>
<Sha>188340e12c0a372b1681ad6a5e72c608021efdba</Sha>
<Sha>15eea424d3b2dd25a5c0b10e8adc8aeed50129a1</Sha>
</Dependency>
<Dependency Name="Microsoft.CodeAnalysis.NetAnalyzers" Version="8.0.0-preview.23468.1">
<Uri>https://github.com/dotnet/roslyn-analyzers</Uri>
Expand Down
3 changes: 3 additions & 0 deletions eng/common/build.cmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@echo off
powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0build.ps1""" %*"
exit /b %ErrorLevel%
3 changes: 3 additions & 0 deletions eng/common/build.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ Param(
[switch] $pack,
[switch] $publish,
[switch] $clean,
[switch][Alias('pb')]$productBuild,
[switch][Alias('bl')]$binaryLog,
[switch][Alias('nobl')]$excludeCIBinarylog,
[switch] $ci,
Expand Down Expand Up @@ -58,6 +59,7 @@ function Print-Usage() {
Write-Host " -sign Sign build outputs"
Write-Host " -publish Publish artifacts (e.g. symbols)"
Write-Host " -clean Clean the solution"
Write-Host " -productBuild Build the solution in the way it will be built in the full .NET product (VMR) build (short: -pb)"
Write-Host ""

Write-Host "Advanced settings:"
Expand Down Expand Up @@ -120,6 +122,7 @@ function Build {
/p:Deploy=$deploy `
/p:Test=$test `
/p:Pack=$pack `
/p:DotNetBuildRepo=$productBuild `
/p:IntegrationTest=$integrationTest `
/p:PerformanceTest=$performanceTest `
/p:Sign=$sign `
Expand Down
15 changes: 14 additions & 1 deletion eng/common/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ usage()
echo " --sourceBuild Source-build the solution (short: -sb)"
echo " Will additionally trigger the following actions: --restore, --build, --pack"
echo " If --configuration is not set explicitly, will also set it to 'Release'"
echo " --productBuild Build the solution in the way it will be built in the full .NET product (VMR) build (short: -pb)"
echo " Will additionally trigger the following actions: --restore, --build, --pack"
echo " If --configuration is not set explicitly, will also set it to 'Release'"
echo " --rebuild Rebuild solution"
echo " --test Run all unit tests in the solution (short: -t)"
echo " --integrationTest Run all integration tests in the solution"
Expand Down Expand Up @@ -59,6 +62,7 @@ scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
restore=false
build=false
source_build=false
product_build=false
rebuild=false
test=false
integration_test=false
Expand Down Expand Up @@ -105,7 +109,7 @@ while [[ $# > 0 ]]; do
-binarylog|-bl)
binary_log=true
;;
-excludeCIBinarylog|-nobl)
-excludecibinarylog|-nobl)
exclude_ci_binary_log=true
;;
-pipelineslog|-pl)
Expand All @@ -126,6 +130,13 @@ while [[ $# > 0 ]]; do
-sourcebuild|-sb)
build=true
source_build=true
product_build=true
restore=true
pack=true
;;
-productBuild|-pb)
build=true
product_build=true
restore=true
pack=true
;;
Expand Down Expand Up @@ -219,7 +230,9 @@ function Build {
/p:RepoRoot="$repo_root" \
/p:Restore=$restore \
/p:Build=$build \
/p:DotNetBuildRepo=$product_build \
/p:ArcadeBuildFromSource=$source_build \
/p:DotNetBuildSourceOnly=$source_build \
/p:Rebuild=$rebuild \
/p:Test=$test \
/p:Pack=$pack \
Expand Down
Loading
Loading