Fix ILLink warnings for removed attributes when Debugger.IsSupported is false (#40048)
authorEric Erhardt <eric.erhardt@microsoft.com>
Sun, 2 Aug 2020 18:00:21 +0000 (13:00 -0500)
committerGitHub <noreply@github.com>
Sun, 2 Aug 2020 18:00:21 +0000 (13:00 -0500)
commitce80850a32f2ea1f8285c7682ab44c2bc3732056
tree21104ea5bbe48b6c8151d998e8c4c8a846a97c0c
parent4d41f13e03091bb4251448944936de5740a4dcd4
Fix ILLink warnings for removed attributes when Debugger.IsSupported is false (#40048)

When Debugger.IsSupported feature switch is false, we trim unnecessary attributes in the code - specifically attributes like CompilerGeneratedAttribute and StackTraceHiddenAttribute. However, we still have code accessing these attributes, which causes the ILLinker to warn that it is removing the attributes, but code still uses them.

To fix this, remove these attributes from being trimmed when Debugger.IsSupported is false. Instead these attributes will be preserved always so things like "is anonymous type" checks and stack trace tostring will behave correctly.

Fix #39707
src/libraries/System.Private.CoreLib/src/ILLink/ILLink.LinkAttributes.Shared.xml