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

Linker into runtime2 #78077

Merged
merged 2,571 commits into from
Nov 16, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2571 commits
Select commit Hold shift + click to select a range
0191b0a
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Feb 28, 2022
af93dbb
Fix behavior of intrinsics with empty inputs (dotnet/linker#2652)
sbomer Feb 28, 2022
2b08bd5
Remove mention of PreserveDependencyAttribute from docs (dotnet/linke…
sbomer Mar 1, 2022
a9cc5e8
Share intrinsics for Expression.Property and Field (dotnet/linker#2671)
vitek-karas Mar 1, 2022
f9f184f
Remove special logic for TypeConverterAttribute (dotnet/linker#2659)
jtschuster Mar 1, 2022
d03f17d
Don't dispose of linked assembly in VerifyLinkingOfOtherAssemblies (d…
mrvoorhe Mar 2, 2022
39f46f9
Add testcase for intrinsic with override (dotnet/linker#2674)
sbomer Mar 2, 2022
3dc0bd0
Update dependencies from https://github.com/dotnet/arcade build 20220…
dotnet-maestro[bot] Mar 7, 2022
c4e8e97
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Mar 7, 2022
501ebec
Remove fixing-warnings.md and link to dotnet/docs (dotnet/linker#2645)
jtschuster Mar 8, 2022
62d06f3
Expose GetTypePreserve (dotnet/linker#2679)
mrvoorhe Mar 10, 2022
9a8964f
Use attributes on lambdas in tests (dotnet/linker#2682)
sbomer Mar 11, 2022
b6a4a1c
Share Type.Base intrinsic (dotnet/linker#2681)
vitek-karas Mar 11, 2022
611a613
Warn on DAM mismatch between overrides (dotnet/linker#2656)
jtschuster Mar 11, 2022
9198978
Update dependencies from https://github.com/dotnet/arcade build 20220…
dotnet-maestro[bot] Mar 14, 2022
3e8ae0b
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Mar 14, 2022
96cd7ce
Remove SuppressionContextMember (dotnet/linker#2691)
sbomer Mar 18, 2022
bd9f220
Propagate DynamicallyAccessedMemberTypes through Nullable<T> to T (do…
jtschuster Mar 18, 2022
40f5127
Create shared WellKnownTypes enum (dotnet/linker#2692)
jtschuster Mar 18, 2022
d4a383e
Fix empty/null handling for Type.BaseType intrinsic (dotnet/linker#2694)
sbomer Mar 18, 2022
56212d6
Add tests for analyzer null references in byte array COM interop (dot…
jtschuster Mar 18, 2022
c3e533f
Add test get interfaces (dotnet/linker#2696)
sbomer Mar 18, 2022
93b34e3
Update dependencies from https://github.com/dotnet/arcade build 20220…
dotnet-maestro[bot] Mar 21, 2022
1bc28d5
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Mar 21, 2022
301d7bf
Avoid running GetDisplayNameTests in parallel (dotnet/linker#2701)
tlakollo Mar 21, 2022
80c6c04
Update array data flow test (dotnet/linker#2704)
jtschuster Mar 23, 2022
c948f43
Don't let RUC on cctor silence warnings (dotnet/linker#2705)
sbomer Mar 24, 2022
599bc37
Update dependencies from https://github.com/dotnet/arcade build 20220…
dotnet-maestro[bot] Mar 28, 2022
6240ad3
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Mar 28, 2022
fb7860a
Lambda and local function suppressions (dotnet/linker#2689)
sbomer Mar 30, 2022
f87c7a4
Files in linker repository now have the same license header at the be…
tlakollo Mar 31, 2022
e909767
Break up ValueNode.cs so each Value has it's own file (dotnet/linker#…
jtschuster Apr 1, 2022
a99cef5
Fix headers in new files (dotnet/linker#2716)
sbomer Apr 1, 2022
463cb63
Fix IndexOutOfRangeException (dotnet/linker#2717)
sbomer Apr 1, 2022
8dc6cd7
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Apr 4, 2022
be62552
Fix local function called from method and state machine (dotnet/linke…
sbomer Apr 5, 2022
c36ebff
Don't throw on write to get-only property (dotnet/linker#2728)
sbomer Apr 6, 2022
485c0d8
Share GetConstructor intrinsic a lot of small fixes (dotnet/linker#2725)
vitek-karas Apr 6, 2022
d2f47dd
Add constant propagation through methods with parameters or complex b…
marek-safar Apr 7, 2022
b754c6e
Avoid analyzing cref for generic parameters (dotnet/linker#2732)
tlakollo Apr 8, 2022
9de9ddf
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Apr 11, 2022
022d272
Don't remove unused interfaces in library mode (dotnet/linker#2711)
jtschuster Apr 12, 2022
9cf9e28
Aot analyzer class support (dotnet/linker#2738)
tlakollo Apr 13, 2022
b1cc49a
Condition out the BannedApiAnalyzers usage in source-build (dotnet/li…
MichaelSimons Apr 14, 2022
c25f8fc
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Apr 18, 2022
4759c41
Handle multiple values for an array node (dotnet/linker#2744)
tlakollo Apr 19, 2022
4edd407
Move parameter annotation checks to shared code for analyzer (dotnet/…
jtschuster Apr 19, 2022
f799a21
Add support for Debug output in Analyzer (dotnet/linker#2750)
tlakollo Apr 19, 2022
8d5c169
Support assignment to flow capture references (dotnet/linker#2730)
sbomer Apr 20, 2022
6dbb1d4
Fix array dataflow tests (dotnet/linker#2752)
sbomer Apr 20, 2022
a2d3b56
Trim static interfaces (dotnet/linker#2741)
jtschuster Apr 20, 2022
c0fced8
Don't throw on NoneOperation (dotnet/linker#2753)
sbomer Apr 20, 2022
e6599c8
Share method handle related intrinsics (dotnet/linker#2754)
vitek-karas Apr 21, 2022
f4cf0f1
Use WellKnownType in more places and add mapping to MetadataType (dot…
jtschuster Apr 21, 2022
88b8be6
Remove AnalysisContext and ScopeStack from method body scanner (dotne…
sbomer Apr 21, 2022
ff13443
Fix handling of special intrinsics in analyzer (dotnet/linker#2756)
vitek-karas Apr 22, 2022
f6ecbe5
Share MakeGeneric.. and Expression.Call (dotnet/linker#2758)
vitek-karas Apr 25, 2022
0f89804
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Apr 25, 2022
1f5c3df
Move shared dataflow value creation helpers out of HandleCallAction (…
sbomer Apr 25, 2022
05c4d2f
Add a test for RUC on type with override method (dotnet/linker#2764)
vitek-karas Apr 26, 2022
54201fe
Factor ReflectionMethodBodyScanner to be more similar to analyzer (do…
sbomer Apr 26, 2022
b75c674
Fix various issues in tlens that prevented running it against a Xamar…
akoeplinger Apr 26, 2022
51ccd2e
Change requires on type checking for mismatch (dotnet/linker#2766)
tlakollo Apr 26, 2022
2990e94
Make FlowAnnotations and ReflectionAccessAnalyzer structs (dotnet/lin…
sbomer Apr 27, 2022
bb5362d
Don't throw on InstanceReference assignment (dotnet/linker#2772)
sbomer Apr 29, 2022
da7660c
Share Type.GetType and similar intrinsics (dotnet/linker#2773)
vitek-karas Apr 29, 2022
41ca39d
Don't remove MethodImpl if overridden method is not in a link assembl…
jtschuster Apr 29, 2022
fd5acbf
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] May 2, 2022
383abe0
Add ability for the analyzer to recognize const fields (dotnet/linker…
vitek-karas May 2, 2022
81e8783
Adds support for recognizing more integer types as consts (dotnet/lin…
vitek-karas May 3, 2022
82911d9
Don't depend on marking order in DAM type hierarchy (dotnet/linker#2777)
sbomer May 3, 2022
d27bfb0
Fix warning about duplicate attributes (dotnet/linker#2780)
sbomer May 3, 2022
8f15717
Fix NullReferenceException when sweeping unused static interface (dot…
vitek-karas May 5, 2022
f014162
Revert static interface trimming (dotnet/linker#2784)
jtschuster May 6, 2022
587ff1c
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] May 9, 2022
528bb85
Match analyzer and linker requires methods (dotnet/linker#2788)
tlakollo May 10, 2022
12f3e8d
[main] Update dependencies from dotnet/arcade (dotnet/linker#2719)
dotnet-maestro[bot] May 11, 2022
d064871
Record trim analysis patterns in scanner (dotnet/linker#2782)
sbomer May 12, 2022
05a21b5
Add sanity check for overrides (dotnet/linker#2793)
jtschuster May 13, 2022
53e012f
Retarget product binaries to .NET 6 (dotnet/linker#2794)
vitek-karas May 15, 2022
0be99ed
Update dependencies from https://github.com/dotnet/arcade build 20220…
dotnet-maestro[bot] May 16, 2022
9dc5be5
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] May 16, 2022
f2bbe5e
Split up ReflectionMethodBodyScanner (dotnet/linker#2796)
sbomer May 19, 2022
4841f20
Consider side effects when evaluating manually substituted methods (d…
marek-safar May 19, 2022
c730758
Add retargeting switch labels to ILProcessor (dotnet/linker#2801)
marek-safar May 20, 2022
4afc9a0
Update dependencies from https://github.com/dotnet/arcade build 20220…
dotnet-maestro[bot] May 23, 2022
a02502f
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] May 23, 2022
5b05bc3
Track attributes through Roslyn-generated types (dotnet/linker#2786)
agocke May 24, 2022
6decdf4
Better tests for attribute dataflow (dotnet/linker#2804)
vitek-karas May 24, 2022
94f97b7
Warn on mismatch for ref params (dotnet/linker#2769)
jtschuster May 25, 2022
6addb9f
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] May 30, 2022
7512738
Update dependencies from https://github.com/dotnet/arcade build 20220…
dotnet-maestro[bot] May 30, 2022
392be67
Warn on unhandled store in reference case instead of throwing (dotnet…
jtschuster May 31, 2022
558afe8
Don't crash analyzer for ref-return assignment (dotnet/linker#2810)
sbomer May 31, 2022
e74de4c
Add two specific tests for type hierarchy marking (dotnet/linker#2814)
vitek-karas Jun 1, 2022
96f24ea
Changes to make sharing code with Native AOT easier (dotnet/linker#2818)
vitek-karas Jun 3, 2022
8d0a7c4
Don't warn on enum switch if named values are exhaustive (dotnet/link…
jtschuster Jun 3, 2022
00ccb56
Update dependencies from https://github.com/dotnet/arcade build 20220…
dotnet-maestro[bot] Jun 6, 2022
ee557d8
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Jun 6, 2022
247ba0e
Scan compiler-generated methods as a group (dotnet/linker#2792)
sbomer Jun 7, 2022
df23c74
Add test for https://github.com/dotnet/linker/issues/2819 (dotnet/lin…
vitek-karas Jun 7, 2022
93fee5a
Fix linker crash in generated type analysis (dotnet/linker#2827)
agocke Jun 8, 2022
cdd10c1
Add a test for IReflect which simulates usage from winforms (dotnet/l…
vitek-karas Jun 10, 2022
d5e82cc
Fix access to derived properties (dotnet/linker#2829)
sbomer Jun 10, 2022
640aa79
Update dependencies from https://github.com/dotnet/arcade build 20220…
dotnet-maestro[bot] Jun 13, 2022
d6ea4ea
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Jun 13, 2022
4ac08c5
Fix analyzer issues related to visiting assignment targets (dotnet/li…
sbomer Jun 13, 2022
d18d6ce
Mark all type forwarders used during string->Type resolution (dotnet/…
vitek-karas Jun 13, 2022
327d17d
Don't catch all exceptions; propagate unexpected errors to trigger Wa…
jtschuster Jun 13, 2022
1568464
Re-add static interface trimming with more testing (dotnet/linker#2791)
jtschuster Jun 14, 2022
3b737ed
Move the ILLink targets from the SDK repo to the linker repo (dotnet/…
agocke Jun 14, 2022
5b74b63
Adjust ref param kind check for IL offset (dotnet/linker#2838)
jtschuster Jun 15, 2022
80e8eb6
Analyze implicit indexer reference operations (dotnet/linker#2839)
sbomer Jun 15, 2022
99912f6
Revert "Re-add static interface trimming with more testing (dotnet/li…
jtschuster Jun 16, 2022
5df808e
Include targets in ILLink.Tasks package (dotnet/linker#2844)
sbomer Jun 16, 2022
82d909e
Disable invalid assert and add a test to repro the problem (dotnet/li…
vitek-karas Jun 20, 2022
d094c41
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Jun 20, 2022
46a7441
Update dependencies from https://github.com/dotnet/arcade build 20220…
dotnet-maestro[bot] Jun 20, 2022
2c73c11
Fix package props for older SDKs (dotnet/linker#2848)
sbomer Jun 20, 2022
1282ea8
Seal classes to silence warnings in Preview 5 (dotnet/linker#2852)
jtschuster Jun 20, 2022
cec5877
Update Cecil to pick up PDB fix https://github.com/mono/cecil/pull/34…
vitek-karas Jun 23, 2022
6be43bb
Update ref package used by analyzer tests to Preview 5 (dotnet/linker…
vitek-karas Jun 23, 2022
a38b993
Keep unresolved interface impl (dotnet/linker#2858)
jtschuster Jun 24, 2022
a1854e2
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Jun 27, 2022
706e650
Update dependencies from https://github.com/dotnet/arcade build 20220…
dotnet-maestro[bot] Jun 27, 2022
04b4e8a
Implement .dgml writing capabilities (dotnet/linker#2854)
iserrato Jun 28, 2022
e5880f1
Fix assignment to captured invalid operation (dotnet/linker#2869)
sbomer Jun 29, 2022
eaecc92
Add compiler-generated code dataflow analysis (dotnet/linker#2842)
sbomer Jun 29, 2022
9351288
Small updates to help with linker->aot port (dotnet/linker#2873)
vitek-karas Jul 1, 2022
f644bfd
Update dependencies from https://github.com/dotnet/arcade build 20220…
dotnet-maestro[bot] Jul 4, 2022
b460e68
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Jul 4, 2022
35e35d5
Fixed AddSuppresionsBeforeAttributeRemoval test (dotnet/linker#2882)
jkurdek Jul 7, 2022
6528d6a
Add more trimming options to TrimMode and change defaults (dotnet/lin…
agocke Jul 7, 2022
16fd228
Refactorings to help with linker->AOT integration (dotnet/linker#2883)
vitek-karas Jul 9, 2022
337abdd
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Jul 11, 2022
4965387
Add a test for unsupported branch instruction crash (dotnet/linker#2887)
vitek-karas Jul 12, 2022
e89f9b1
Intentionally skip switch instructions during branch removal as the c…
vitek-karas Jul 12, 2022
aa256b6
Preserve all interfaces in library mode (dotnet/linker#2886)
jtschuster Jul 12, 2022
4ca31f3
Fix a bug with null value passed to annotated parameter on attribute …
vitek-karas Jul 14, 2022
3ec8769
Analyze nested functions in Roslyn analyzer (dotnet/linker#2892)
sbomer Jul 15, 2022
77b57c2
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Jul 18, 2022
e84d2e8
Update Cecil to pick up PDB fix (dotnet/linker#2901)
vitek-karas Jul 19, 2022
7a2e848
Fix syntax node scope and nullable warnings (dotnet/linker#2900)
agocke Jul 20, 2022
77d9c1b
Add a test for stack overflow when marking lambda which indirectly ma…
vitek-karas Jul 20, 2022
00d68a0
Redundant warning suppressions detection (dotnet/linker#2891)
jkurdek Jul 21, 2022
b3d2f51
Fix re-entrancy when marking nested functions (dotnet/linker#2907)
sbomer Jul 21, 2022
82612b6
Avoid dataflow analysis for generic parameters (dotnet/linker#2908)
sbomer Jul 21, 2022
7e00d0f
Make StaticCs work in source build (dotnet/linker#2909)
agocke Jul 21, 2022
3640bf5
DynamicallyAccessedMembers CodeFix (dotnet/linker#2890)
iserrato Jul 25, 2022
f966446
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Jul 25, 2022
5173c95
Map type parameters for static closures (dotnet/linker#2899)
sbomer Jul 26, 2022
a85dbf5
Synchronize file type between analyzer and linker (dotnet/linker#2917)
iserrato Jul 26, 2022
76a13b6
Add more tests for parameter dataflow (dotnet/linker#2918)
sbomer Jul 26, 2022
669412b
Update to .NET 7.0 TFM (dotnet/linker#2919)
lbussell Jul 27, 2022
9f87212
[main] Update dependencies from dotnet/arcade (dotnet/linker#2884)
dotnet-maestro[bot] Jul 28, 2022
28c5d6f
Added support for suppressions on properties (dotnet/linker#2925)
jkurdek Jul 29, 2022
aa64a4a
Add an interesting test case for compiler generated code marking (dot…
vitek-karas Jul 29, 2022
710f003
Make serialization discovery opt-in (dotnet/linker#2929)
sbomer Aug 1, 2022
4472462
Update DAMCodeFixProvider.cs (dotnet/linker#2932)
Youssef1313 Aug 1, 2022
5859f35
Add another local function branch removal test (dotnet/linker#2931)
sbomer Aug 1, 2022
6a2922a
Sync test changes from AOT (dotnet/linker#2912)
vitek-karas Aug 1, 2022
60e5911
Redundant suppressions detection (dotnet/linker#2922)
jkurdek Aug 2, 2022
9dea13c
Redundant suppressions support for suppressions on events and propert…
jkurdek Aug 2, 2022
c4c3a35
Separate interface method trimming logic and update for static interf…
jtschuster Aug 3, 2022
0e402c8
New constraint on a generic argument involved in MakeGenericType/Meth…
vitek-karas Aug 4, 2022
833d2ea
Adds a test with two annotated out params for the same method. (dotne…
vitek-karas Aug 4, 2022
611ac05
Improve tests and docs (dotnet/linker#2941)
mrvoorhe Aug 4, 2022
1bf75ce
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Aug 4, 2022
094fead
Update dependencies from https://github.com/dotnet/arcade build 20220…
dotnet-maestro[bot] Aug 4, 2022
3d9fe5b
Update MSBuild version to fix official build (dotnet/linker#2945)
sbomer Aug 4, 2022
732fcdc
Include all warnings under suppression setting (dotnet/linker#2930)
sbomer Aug 4, 2022
2b2e993
Use preview 5 framework version in runtimeconfig (dotnet/linker#2948)
sbomer Aug 5, 2022
623097a
[analyzer tool] Avoid exceptions when loading dependencies (dotnet/li…
vitek-karas Aug 8, 2022
10b6cc4
Aot to linker sync (dotnet/linker#2944)
vitek-karas Aug 8, 2022
2294bc8
Fixed IL2121 single warn issue (dotnet/linker#2953)
jkurdek Aug 9, 2022
712c32e
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Aug 9, 2022
ba3070d
Build with preview5 SDK (dotnet/linker#2954)
sbomer Aug 9, 2022
055598b
Test that basic ref field operations don't crash linker (dotnet/linke…
jtschuster Aug 9, 2022
23e8346
Pin compiler version to fix build (dotnet/linker#2958)
sbomer Aug 9, 2022
f2d4113
Fix missing parenthesis (dotnet/linker#2956)
sbomer Aug 9, 2022
1bbf7ef
Process static interface methods as virtual methods (dotnet/linker#2926)
jtschuster Aug 11, 2022
6d0527a
Revert analyzer to lower CodeAnalysis version (dotnet/linker#2968)
jtschuster Aug 12, 2022
2fb87ed
Added IL2121 to error-codes.md (dotnet/linker#2964)
jkurdek Aug 12, 2022
2ebc965
Fix il corruption (dotnet/linker#2966)
sbomer Aug 12, 2022
3ac1d1b
Dataflow support for ref fields (dotnet/linker#2947)
jtschuster Aug 12, 2022
a12cc87
Fix exception when generating warning for method definition (dotnet/l…
vitek-karas Aug 12, 2022
20f0100
Add MakeGenericMethod tests for static interface methods (dotnet/link…
jtschuster Aug 15, 2022
07c9ace
Add IL Verification to tests (dotnet/linker#2960)
jtschuster Aug 15, 2022
f30a633
Suppress warning in instance fields if the instance constructors are …
tlakollo Aug 15, 2022
341829d
Use HashSet instead of List for _virtual_methods (dotnet/linker#2976)
jtschuster Aug 16, 2022
c109a32
Add test for dotnet/runtimedotnet/linker#73048 (dotnet/linker#2977)
MichalStrehovsky Aug 17, 2022
96da9a7
Don't track current field of state machines (dotnet/linker#2979)
sbomer Aug 17, 2022
5b058e3
CodeFix Support for Additional DAM IDs (dotnet/linker#2939)
iserrato Aug 18, 2022
2f31ca2
IL2121 warnings point to XML files correctly (dotnet/linker#2965)
jkurdek Aug 18, 2022
0f83386
Generate attribute in Code Fix (dotnet/linker#2985)
iserrato Aug 19, 2022
887f22a
Add documentation (dotnet/linker#2989)
iserrato Aug 23, 2022
647ae93
Check variable type in ValidateNoReferencesToReferences instead of da…
jtschuster Aug 23, 2022
68ae6fb
Add support for generic attributes (dotnet/linker#2980)
sbomer Aug 23, 2022
e9b8c91
Add generated test (dotnet/linker#2995)
jtschuster Aug 23, 2022
367f766
CodeFixer enhancements (dotnet/linker#2994)
tlakollo Aug 23, 2022
6e79042
Do not report redundant suppressions on trimmed members (dotnet/linke…
jkurdek Aug 25, 2022
6650a8a
Suppress warnings in 6.0 framework (dotnet/linker#3000)
sbomer Aug 25, 2022
9f43585
Don't suppress all warnings with SuppressTrimAnalysisWarnings (dotnet…
sbomer Aug 25, 2022
245f5c8
[main] Update dependencies from dotnet/arcade (dotnet/linker#2950)
dotnet-maestro[bot] Aug 26, 2022
0fb8211
Use enum for method parameter indexing (dotnet/linker#2993)
jtschuster Aug 29, 2022
5e88d1e
Annotated TestSystemTypeBase (dotnet/linker#3008)
jkurdek Aug 29, 2022
704a2ea
Update dependencies from https://github.com/dotnet/arcade build 20220…
dotnet-maestro[bot] Aug 30, 2022
f25bdb0
Verify if COM dangerous during call site check (dotnet/linker#3009)
jkurdek Aug 31, 2022
d12a582
[main] Update dependencies from dotnet/runtime (dotnet/linker#2974)
dotnet-maestro[bot] Sep 1, 2022
f3b6115
Update public pool names (dotnet/linker#3013)
alexperovich Sep 1, 2022
175327c
Fixes a null ref which happens when an XML comment cref contains gene…
vitek-karas Sep 1, 2022
cb0c2ac
Allow codefixer to annotate accessor declarations as methods (dotnet/…
tlakollo Sep 1, 2022
7e9ab18
Sync AOT tests with linker (dotnet/linker#3026)
tlakollo Sep 6, 2022
155e216
Fix lint command (dotnet/linker#3027)
tlakollo Sep 8, 2022
75157f0
Fix how keeping something due to DynamicDependency is traced (dotnet/…
vitek-karas Sep 15, 2022
3263463
Better warning message for DynamicDependency problem (dotnet/linker#3…
vitek-karas Sep 16, 2022
1a2238b
[main] Update dependencies from dotnet/arcade (dotnet/linker#3023)
dotnet-maestro[bot] Sep 19, 2022
909cc9b
[main] Update dependencies from dotnet/runtime (dotnet/linker#3024)
dotnet-maestro[bot] Sep 19, 2022
8fe3354
Remove --keep-facades option (dotnet/linker#3036)
sbomer Sep 19, 2022
79f0444
Cleanup tests for cases which use different warnings codes that the t…
vitek-karas Sep 21, 2022
79e31e7
Add event source tracing (dotnet/linker#3043)
jtschuster Sep 21, 2022
5b352fa
Update dependencies from https://github.com/dotnet/arcade build 20220…
dotnet-maestro[bot] Sep 22, 2022
cdf1f55
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Sep 22, 2022
6fc8701
Update dependencies from https://github.com/dotnet/arcade build 20220…
dotnet-maestro[bot] Sep 26, 2022
bf03d96
Update dependencies from https://github.com/dotnet/runtime build 2022…
dotnet-maestro[bot] Sep 26, 2022
38a8e57
Check for nulls in IsInterfaceImplementationNeededByTypeDueToInterfac…
jtschuster Sep 27, 2022
7f8bc52
Use new build images (dotnet/linker#3051)
sbomer Sep 27, 2022
656111e
Update docker to the latest tagging schema (dotnet/linker#3057)
dkurepa Oct 4, 2022
ff7fc92
Remove redundant checks in IntrinsicId switch statements (dotnet/link…
jtschuster Oct 7, 2022
6f9ed1a
Add Doc comments for IntrinsicIds (dotnet/linker#3063)
jtschuster Oct 14, 2022
5de641c
[main] Update dependencies from dotnet/arcade (dotnet/linker#3054)
dotnet-maestro[bot] Oct 18, 2022
dc20241
[main] Update dependencies from dotnet/runtime (dotnet/linker#3055)
dotnet-maestro[bot] Oct 18, 2022
27c6a21
Use LinkContext caching when resolving ExportedTypes (dotnet/linker#3…
jtschuster Oct 20, 2022
3e9bcd8
Update dependencies from https://github.com/dotnet/arcade build 20221…
dotnet-maestro[bot] Oct 24, 2022
9b6e3dd
Change analyzer versions such that the repo can be built with .NET 7 …
vitek-karas Oct 25, 2022
ecc82cb
Update linker and analyzer to handle DAM on indexable property parame…
jtschuster Oct 25, 2022
0f48f62
Create `ParameterProxy` to wrap logic surrounding parameters and use …
jtschuster Oct 27, 2022
78112fa
Update CI status in readme (dotnet/linker#3086)
jtschuster Oct 27, 2022
a70bb92
Check for marking virtual method due to base only when state changes …
jtschuster Oct 27, 2022
ba8a8f6
Update ILLink.RoslynAnalyzer.csproj Microsoft.CodeAnalysis.CSharp ver…
MichaelSimons Oct 31, 2022
c1688e0
Update dependencies from https://github.com/dotnet/arcade build 20221…
dotnet-maestro[bot] Oct 31, 2022
7b603fa
Fix branch removal in compiler generated code (dotnet/linker#3088)
vitek-karas Nov 1, 2022
8c5cfa6
Don't mark override of abstract base if the override's declaring type…
jtschuster Nov 2, 2022
f71130e
Enable CodeQL with TSA
mdh1418 Nov 3, 2022
d67748d
Update dependencies from https://github.com/dotnet/arcade build 20221…
dotnet-maestro[bot] Nov 7, 2022
381f14b
Add KeptByAttribute to validate an item was kept due to a specific de…
jtschuster Nov 7, 2022
da842ae
FIx area path
mdh1418 Nov 8, 2022
85f4bb0
Merge pull request dotnet/linker#3099 from dotnet/enable_codeql
mdh1418 Nov 8, 2022
75cba8a
Merge branch 'main' of /home/tlakollo/Consolidation/linker
dotnet-bot Nov 8, 2022
1f2c6cc
Linker into runtime diff2 (#78049)
tlakollo Nov 9, 2022
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
  •  
  •  
  •  
8 changes: 8 additions & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,14 @@

/eng/pipelines/**/*wasm* @radical

# ILLink codeowners
/src/tools/illink/ @marek-safar
/src/tools/illink/src/analyzer/ @radekdoulik
/src/tools/illink/src/ILLink.Tasks/ @sbomer
/src/tools/illink/src/ILLink.RoslynAnalyzer/ @sbomer
/src/tools/illink/src/linker/ @marek-safar @mrvoorhe
Copy link
Member

Choose a reason for hiding this comment

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

GH says that this file contains errors because "mrvoorhe" isn't a known user.

Copy link
Member

Choose a reason for hiding this comment

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

Is that a problem or is it more of a warning we can ignore? The CODEOWNERS file in main also has errors. https://github.com/dotnet/runtime/blob/main/.github/CODEOWNERS

/src/tools/illink/test/ @marek-safar @mrvoorhe

# Obsoletions / Custom Diagnostics

/docs/project/list-of-diagnostics.md @jeffhandley
Expand Down
1 change: 1 addition & 0 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@
<MonoProjectRoot>$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'src', 'mono'))</MonoProjectRoot>
<InstallerProjectRoot>$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'src', 'installer'))</InstallerProjectRoot>
<WorkloadsProjectRoot>$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'src', 'workloads'))</WorkloadsProjectRoot>
<ToolsProjectRoot>$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'src', 'tools'))</ToolsProjectRoot>
<SharedNativeRoot>$([MSBuild]::NormalizeDirectory('$(RepoRoot)', 'src', 'native'))</SharedNativeRoot>
<RepoToolsLocalDir>$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'tools-local'))</RepoToolsLocalDir>
<RepoTasksDir>$([MSBuild]::NormalizeDirectory('$(MSBuildThisFileDirectory)', 'src', 'tasks'))</RepoTasksDir>
Expand Down
23 changes: 23 additions & 0 deletions THIRD-PARTY-NOTICES.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -1177,6 +1177,29 @@ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

License for Jb Evain
---------------------

Copyright (c) 2006 Jb Evain ([email protected])

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

--- Optional exception to the license ---

As an exception, if, as a result of your compiling your source code, portions
Expand Down
27 changes: 27 additions & 0 deletions eng/Subsets.props
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,8 @@
<SubsetName Include="Clr.NativeCoreLib" Description="Run crossgen on System.Private.CoreLib library for CoreCLR." />
<SubsetName Include="Clr.Tools" Description="Managed tools that support CoreCLR development and testing." />
<SubsetName Include="Clr.ToolsTests" OnDemand="true" Description="Unit tests for the clr.tools subset." />
<SubsetName Include="Tools.ILLink" Description="The projects that produce illink and analyzer tools for trimming." />
<SubsetName Include="Tools.ILLinkTests" OnDemand="true" Description="Unit tests for the tools.illink subset." />
<SubsetName Include="Clr.Packages" Description="The projects that produce NuGet packages for the CoreCLR runtime, crossgen, and IL tools." />
<SubsetName Include="LinuxDac" Condition="$([MSBuild]::IsOsPlatform(Windows))" Description="The cross-OS Windows->libc-based Linux DAC. Skipped on x86." />
<SubsetName Include="AlpineDac" Condition="$([MSBuild]::IsOsPlatform(Windows))" OnDemand="true" Description="The cross-OS Windows->musl-libc-based Linux DAC. Skipped on x86" />
Expand Down Expand Up @@ -326,6 +328,31 @@
Test="true" Category="clr" Condition="'$(DotNetBuildFromSource)' != 'true' and '$(NativeAotSupported)' == 'true'"/>
</ItemGroup>

<ItemGroup Condition="$(_subset.Contains('+tools.illink+'))">
<ProjectToBuild Include="$(ToolsProjectRoot)illink\src\linker\Mono.Linker.csproj" Category="tools" />
<ProjectToBuild Include="$(ToolsProjectRoot)illink\src\ILLink.Tasks\ILLink.Tasks.csproj" Category="tools" />
<ProjectToBuild Include="$(ToolsProjectRoot)illink\src\analyzer\analyzer.csproj" Category="tools" />
<ProjectToBuild Include="$(ToolsProjectRoot)illink\src\ILLink.RoslynAnalyzer\ILLink.RoslynAnalyzer.csproj" Category="tools" />
<ProjectToBuild Include="$(ToolsProjectRoot)illink\src\linker\ref\Mono.Linker.csproj" Category="tools" />
<ProjectToBuild Include="$(ToolsProjectRoot)illink\src\tlens\tlens.csproj" Category="tools" />
<ProjectToBuild Include="$(ToolsProjectRoot)illink\src\ILLink.CodeFix\ILLink.CodeFixProvider.csproj" Category="tools" />
</ItemGroup>

<ItemGroup Condition="$(_subset.Contains('+tools.illinktests+'))">
<ProjectToBuild Include="$(ToolsProjectRoot)illink\test\Mono.Linker.Tests\Mono.Linker.Tests.csproj"
Test="true" Category="tools"/>
<ProjectToBuild Include="$(ToolsProjectRoot)illink\test\Mono.Linker.Tests.Cases\Mono.Linker.Tests.Cases.csproj"
Test="true" Category="tools"/>
<ProjectToBuild Include="$(ToolsProjectRoot)illink\test\Mono.Linker.Tests.Cases.Expectations\Mono.Linker.Tests.Cases.Expectations.csproj"
Test="true" Category="tools"/>
<ProjectToBuild Include="$(ToolsProjectRoot)illink\test\ILLink.Tasks.Tests\ILLink.Tasks.Tests.csproj"
Test="true" Category="tools"/>
<ProjectToBuild Include="$(ToolsProjectRoot)illink\test\ILLink.RoslynAnalyzer.Tests\ILLink.RoslynAnalyzer.Tests.csproj"
Test="true" Category="tools"/>
<ProjectToBuild Include="$(ToolsProjectRoot)illink\test\ILLink.RoslynAnalyzer.Tests.Generator\ILLink.RoslynAnalyzer.Tests.Generator.csproj"
Test="true" Category="tools"/>
</ItemGroup>

<ItemGroup Condition="$(_subset.Contains('+clr.nativecorelib+'))">
<!-- Build crossgen2 that will be used to compile System.Private.CoreLib library for CoreCLR -->
<ProjectToBuild Condition="'$(TargetArchitecture)' != 'x64' and '$(BuildArchitecture)' == 'x64'" Include="$(CoreClrProjectRoot)tools\aot\crossgen2\crossgen2_crossarch.csproj" Category="clr" />
Expand Down
8 changes: 8 additions & 0 deletions eng/Version.Details.xml
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,14 @@
<Uri>https://github.com/dotnet/command-line-api</Uri>
<Sha>5618b2d243ccdeb5c7e50a298b33b13036b4351b</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Cecil" Version="0.11.4-alpha.22524.1">
<Uri>https://github.com/dotnet/cecil</Uri>
<Sha>4a51257b6ac207cb7b0a51b34bfb3eab5d0dfae8</Sha>
</Dependency>
<Dependency Name="Microsoft.DotNet.Cecil.Pdb" Version="0.11.4-alpha.22524.1">
<Uri>https://github.com/dotnet/cecil</Uri>
<Sha>4a51257b6ac207cb7b0a51b34bfb3eab5d0dfae8</Sha>
</Dependency>
</ProductDependencies>
<ToolsetDependencies>
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.22554.2">
Expand Down
9 changes: 9 additions & 0 deletions eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,9 @@
-->
<MicrosoftCodeAnalysisVersion_LatestVS>4.4.0-2.22423.18</MicrosoftCodeAnalysisVersion_LatestVS>
<MicrosoftCodeAnalysisVersion_LatestVS Condition="'$(DotNetBuildFromSource)' == 'true'">$(MicrosoftCodeAnalysisVersion)</MicrosoftCodeAnalysisVersion_LatestVS>
<!-- Some of the analyzer dependencies used by ILLink project -->
<MicrosoftCodeAnalysisCSharpAnalyzerTestingXunitVersion>1.0.1-beta1.21265.1</MicrosoftCodeAnalysisCSharpAnalyzerTestingXunitVersion>
<MicrosoftCodeAnalysisBannedApiAnalyzersVersion>3.3.2</MicrosoftCodeAnalysisBannedApiAnalyzersVersion>
</PropertyGroup>
<!--
These packages affect the design-time experience in VS, so we update them at the same cadance as the MicrosoftCodeAnalysisVersion_LatestVS version.
Expand Down Expand Up @@ -207,6 +210,12 @@
<!-- ILLink -->
<MicrosoftNETILLinkTasksVersion>7.0.100-1.22552.1</MicrosoftNETILLinkTasksVersion>
<MicrosoftNETILLinkAnalyzerPackageVersion>$(MicrosoftNETILLinkTasksVersion)</MicrosoftNETILLinkAnalyzerPackageVersion>
<!-- Mono Cecil -->
<MicrosoftDotNetCecilVersion>0.11.4-alpha.22524.1</MicrosoftDotNetCecilVersion>
<MicrosoftDotNetCecilPdbVersion>$(MicrosoftDotNetCecilVersion)</MicrosoftDotNetCecilPdbVersion>
<!-- ILLink dependencies -->
<MicrosoftBuildFrameworkVersion>17.0.0-preview-21267-01</MicrosoftBuildFrameworkVersion>
<MicrosoftBuildUtilitiesCoreVersion>17.0.0-preview-21267-01</MicrosoftBuildUtilitiesCoreVersion>
Comment on lines +217 to +218
Copy link
Member

Choose a reason for hiding this comment

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

Can you please group these two next to the MicrosoftBuildVersion and set there version to $(MicrosoftBuildVersion)? That makes sure that we have a consistent msbuild version.

<!-- ICU -->
<MicrosoftNETCoreRuntimeICUTransportVersion>8.0.0-alpha.1.22553.1</MicrosoftNETCoreRuntimeICUTransportVersion>
<!-- MsQuic -->
Expand Down
8 changes: 8 additions & 0 deletions eng/pipelines/common/evaluate-default-paths.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ jobs:
- src/libraries/*
- src/native/libs/*
- src/tests/*
- src/tools/*
- eng/pipelines/installer/*
- eng/pipelines/mono/*
- eng/pipelines/libraries/*
Expand Down Expand Up @@ -80,6 +81,7 @@ jobs:
- src/libraries/*
- src/native/libs/*
- src/tests/*
- src/tools/*
- eng/pipelines/installer/*
- eng/pipelines/coreclr/*
- eng/pipelines/libraries/*
Expand All @@ -96,6 +98,7 @@ jobs:
- src/mono/*
- src/coreclr/*
- src/tests/*
- src/tools/*
- src/native/eventpipe/*
- eng/pipelines/coreclr/*
- eng/pipelines/mono/*
Expand All @@ -107,6 +110,10 @@ jobs:
include:
- src/tests/*

- subset: tools_illink
include:
- src/tools/illink/*

- subset: non_runtimetests
exclude:
- src/tests/*
Expand All @@ -127,6 +134,7 @@ jobs:
- src/mono/*
- src/libraries/*
- src/tests/*
- src/tools/*
- src/native/eventpipe/*
- eng/pipelines/coreclr/*
- eng/pipelines/mono/*
Expand Down
23 changes: 22 additions & 1 deletion eng/pipelines/runtime-linker-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,28 @@ extends:
- template: /eng/pipelines/common/evaluate-default-paths.yml

#
# Build Release config vertical for Windows, Linux, Linux musl and OSX
# Build and Test ILLink in Release config vertical for Windows, Linux and OSX
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
jobTemplate: /eng/pipelines/common/global-build-job.yml
buildConfig: release
platforms:
- windows_x64
- OSX_x64
- Linux_x64
jobParameters:
testGroup: innerloop
timeoutInMinutes: 120
nameSuffix: ILLink_Runtime_Testing
condition:
or(
eq(dependencies.evaluate_paths.outputs['SetPathVars_tools_illink.containsChange'], true),
eq(variables['isRollingBuild'], true))
buildArgs: -s tools.illinktests -test -c $(_BuildConfig)

#
# Build Release config vertical for Windows, Linux, and OSX
#
- template: /eng/pipelines/common/platform-matrix.yml
parameters:
Expand Down
10 changes: 10 additions & 0 deletions src/tools/illink/.config/tsaoptions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"instanceUrl": "https://devdiv.visualstudio.com/",
"template": "TFSDEVDIV",
"projectName": "DEVDIV",
"areaPath": "DevDiv\\NET Runtime\\Managed Linker",
"iterationPath": "DevDiv",
"notificationAliases": [ "[email protected]" ],
"repositoryName": "linker",
"codebaseName": "linker"
}
160 changes: 160 additions & 0 deletions src/tools/illink/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,160 @@
[*.cs]
indent_style = tab
indent_size = 4
csharp_new_line_before_open_brace = types,methods
csharp_new_line_before_else = false
csharp_new_line_before_catch = false
csharp_new_line_before_finally = false
csharp_new_line_before_members_in_object_initializers = true
csharp_new_line_before_members_in_anonymous_types = true
csharp_new_line_between_query_expression_clauses = true

csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_between_method_declaration_name_and_open_parenthesis = true
csharp_space_between_method_call_name_and_opening_parenthesis = true
csharp_space_before_open_square_brackets = false
csharp_space_after_cast = true

csharp_indent_switch_labels = false

# Sort using and Import directives with System.* appearing first
dotnet_sort_system_directives_first = true

# Prefer property-like constructs to have an expression-body
csharp_style_expression_bodied_properties = true:none
csharp_style_expression_bodied_indexers = true:none
csharp_style_expression_bodied_accessors = true:none

# Suggest more modern language features when available
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
csharp_style_inlined_variable_declaration = true:suggestion
csharp_style_throw_expression = true:suggestion
csharp_style_conditional_delegate_call = true:suggestion

# Avoid redundant accessibility modifiers when they're default
dotnet_style_require_accessibility_modifiers = omit_if_default:suggestion

### Code Style Analyzers

# IDE0004: Remove unnecessary cast
dotnet_diagnostic.IDE0004.severity = warning

# IDE0005: Remove unnecessary usings/imports
dotnet_diagnostic.IDE0005.severity = warning

# IDE0019: Use pattern matching
dotnet_diagnostic.IDE0019.severity = warning

# IDE0020: Use pattern matching
dotnet_diagnostic.IDE0020.severity = warning

# IDE0029: Null check can be simplified
dotnet_diagnostic.IDE0029.severity = warning

# IDE0031: Null check can be simplified
dotnet_diagnostic.IDE0031.severity = warning

# IDE0035: Remove unreachable code
dotnet_diagnostic.IDE0035.severity = warning

# IDE0036: Order modifiers
dotnet_diagnostic.IDE0036.severity = warning

# IDE0039: Prefer local functions over anonymous functions
dotnet_diagnostic.IDE0039.severity = warning

# IDE0041: Null check can be simplified
dotnet_diagnostic.IDE0041.severity = warning

# IDE0043: Format string contains invalid placeholder
dotnet_diagnostic.IDE0043.severity = warning

# IDE0044: Make field readonly
dotnet_diagnostic.IDE0044.severity = warning

# IDE0047: Parentheses can be removed
dotnet_diagnostic.IDE0047.severity = warning

# IDE0051: Remove unused private members (no reads or writes)
dotnet_diagnostic.IDE0051.severity = warning

# IDE0052: Remove unread private member
dotnet_diagnostic.IDE0052.severity = warning

# IDE0053: Prefer expression bodies for lambdas
dotnet_diagnostic.IDE0053.severity = warning

# IDE0054: Use compound assignment
dotnet_diagnostic.IDE0054.severity = warning

# IDE0059: Unnecessary assignment to a value
dotnet_diagnostic.IDE0059.severity = warning

# IDE0060: Remove unused parameter
dotnet_diagnostic.IDE0060.severity = warning

# IDE0065: Using directives to be placed outside the namespace
dotnet_diagnostic.IDE0065.severity = warning

# IDE0073: File header
dotnet_diagnostic.IDE0073.severity = warning
file_header_template = Copyright (c) .NET Foundation and contributors. All rights reserved.\nLicensed under the MIT license. See LICENSE file in the project root for full license information.

# IDE0074: Use compound assignment
dotnet_diagnostic.IDE0074.severity = warning

# IDE0082: Convert typeof to nameof
dotnet_diagnostic.IDE0082.severity = warning

# IDE0083: Use is not pattern matching
#dotnet_diagnostic.IDE0083.severity = warning // requires new C# for Mono

# IDE0110: Remove unnecessary discard
dotnet_diagnostic.IDE0110.severity = warning

## CA analyzer rules
dotnet_analyzer_diagnostic.category-performance.severity = warning
dotnet_analyzer_diagnostic.category-maintainability.severity = warning
dotnet_analyzer_diagnostic.category-reliability.severity = warning
dotnet_analyzer_diagnostic.category-usage.severity = warning
#dotnet_analyzer_diagnostic.category-style.severity = warning

# call GC.SuppressFinalize(object)
dotnet_diagnostic.CA1816.severity = none

# CA1834: Use 'StringBuilder.Append(char)'
dotnet_diagnostic.CA1834.severity = none

# RS2008 Ignore analyzer release tracking
dotnet_diagnostic.RS2008.severity = none

# Exception type is not sufficiently specific
dotnet_diagnostic.CA2201.severity = none

# xUnit1004: Test methods should not be skipped
dotnet_diagnostic.xUnit1004.severity = none

# CA1805: Member is explicitly initialized to it's default value
dotnet_diagnostic.CA1805.severity = none

[src/linker/ref/**/*.cs]

# CA1822: Mark members as static
dotnet_diagnostic.CA1822.severity = none

# IDE0060: Remove unused parameter
dotnet_diagnostic.IDE0060.severity = none

[test/**/*.cs]
dotnet_diagnostic.IDE0060.severity = none

[test/Mono.Linker.Tests/TestCases/Dependencies/WarningSuppressionExpectations*.cs]
dotnet_diagnostic.IDE0073.severity = none

[external**]
dotnet_diagnostic.IDE0073.severity = none

[external**]
dotnet_analyzer_diagnostic.severity = none
generated_code = true
Loading