diff options
Diffstat (limited to 'linker')
4 files changed, 24 insertions, 2 deletions
diff --git a/linker/Mono.Linker.Steps/ResolveFromXmlStep.cs b/linker/Mono.Linker.Steps/ResolveFromXmlStep.cs index 1f4cc89c6..3942adbf7 100644 --- a/linker/Mono.Linker.Steps/ResolveFromXmlStep.cs +++ b/linker/Mono.Linker.Steps/ResolveFromXmlStep.cs @@ -69,11 +69,10 @@ namespace Mono.Linker.Steps { protected override void Process () { XPathNavigator nav = _document.CreateNavigator (); - nav.MoveToFirstChild (); // This step can be created with XML files that aren't necessarily // linker descriptor files. So bail if we don't have a <linker> element. - if (nav.LocalName != "linker") + if (!nav.MoveToChild("linker", _ns)) return; try { diff --git a/linker/Tests/Mono.Linker.Tests.Cases/LinkXml/UnusedTypePreservedByLinkXmlWithCommentIsKept.cs b/linker/Tests/Mono.Linker.Tests.Cases/LinkXml/UnusedTypePreservedByLinkXmlWithCommentIsKept.cs new file mode 100644 index 000000000..fe077d530 --- /dev/null +++ b/linker/Tests/Mono.Linker.Tests.Cases/LinkXml/UnusedTypePreservedByLinkXmlWithCommentIsKept.cs @@ -0,0 +1,15 @@ +using Mono.Linker.Tests.Cases.Expectations.Assertions; + +namespace Mono.Linker.Tests.Cases.LinkXml { + class UnusedTypePreservedByLinkXmlWithCommentIsKept { + public static void Main () + { + } + } + + [Kept] + [KeptMember (".ctor()")] + class UnusedTypePreservedByLinkXmlWithCommentIsKeptUnusedType + { + } +}
\ No newline at end of file diff --git a/linker/Tests/Mono.Linker.Tests.Cases/LinkXml/UnusedTypePreservedByLinkXmlWithCommentIsKept.xml b/linker/Tests/Mono.Linker.Tests.Cases/LinkXml/UnusedTypePreservedByLinkXmlWithCommentIsKept.xml new file mode 100644 index 000000000..a6e5643a2 --- /dev/null +++ b/linker/Tests/Mono.Linker.Tests.Cases/LinkXml/UnusedTypePreservedByLinkXmlWithCommentIsKept.xml @@ -0,0 +1,6 @@ +<!-- this is a comment --> +<linker> + <assembly fullname="test, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null"> + <type fullname="Mono.Linker.Tests.Cases.LinkXml.UnusedTypePreservedByLinkXmlWithCommentIsKeptUnusedType" /> + </assembly> +</linker>
\ No newline at end of file diff --git a/linker/Tests/Mono.Linker.Tests.Cases/Mono.Linker.Tests.Cases.csproj b/linker/Tests/Mono.Linker.Tests.Cases/Mono.Linker.Tests.Cases.csproj index b293bb5fb..3349b8607 100644 --- a/linker/Tests/Mono.Linker.Tests.Cases/Mono.Linker.Tests.Cases.csproj +++ b/linker/Tests/Mono.Linker.Tests.Cases/Mono.Linker.Tests.Cases.csproj @@ -59,6 +59,7 @@ <Compile Include="Basic\UsedStructIsKept.cs" /> <Compile Include="LinkXml\UnusedAssemblyWithNoDefinedPreserveHasAllTypesPreserved.cs" /> <Compile Include="LinkXml\UnusedEventPreservedByLinkXmlIsKept.cs" /> + <Compile Include="LinkXml\UnusedTypePreservedByLinkXmlWithCommentIsKept.cs" /> <Compile Include="LinkXml\UnusedTypeWithNoDefinedPreserveHasAllMembersPreserved.cs" /> <Compile Include="TestFramework\CanCompileILAssembly.cs" /> <Compile Include="TestFramework\VerifyDefineAttributeBehavior.cs" /> @@ -151,6 +152,7 @@ <Content Include="LinkXml\UnusedPropertyPreservedByLinkXmlIsKept.xml" /> <Content Include="LinkXml\UnusedTypeIsPresservedWhenEntireAssemblyIsPreserved.xml" /> <Content Include="LinkXml\UnusedTypePreservedByLinkXmlIsKept.xml" /> + <Content Include="LinkXml\UnusedTypePreservedByLinkXmlWithCommentIsKept.xml" /> <Content Include="LinkXml\UnusedTypeWithNoDefinedPreserveHasAllMembersPreserved.xml" /> <Content Include="LinkXml\UnusedTypeWithPreserveAllHasAllMembersPreserved.xml" /> <Content Include="LinkXml\UnusedTypeWithPreserveFieldsHasMethodsRemoved.xml" /> |