Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/linker.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSven Boemer <sbomer@gmail.com>2019-02-20 01:16:58 +0300
committerMarek Safar <marek.safar@gmail.com>2019-02-20 01:16:58 +0300
commitfa9ccbdaf6907c69ef1bb117906f8f012218d57f (patch)
tree4d4cbe2d4079a35edca350a4e444831c2f9dd19a /test/Mono.Linker.Tests.Cases/LinkXml/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod.cs
parente64148792193bf7d706428a64632ebf7f8023d3b (diff)
Adopt new directory layout (#466)
This organizes the source and test projects as follows: - source projects go in `src/project/projectfile.csproj` - test projects go in `test/project/projectfile.csproj` The uniform layout of projects is part of the arcade onboarding (see https://github.com/mono/linker/issues/452).
Diffstat (limited to 'test/Mono.Linker.Tests.Cases/LinkXml/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod.cs')
-rw-r--r--test/Mono.Linker.Tests.Cases/LinkXml/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod.cs31
1 files changed, 31 insertions, 0 deletions
diff --git a/test/Mono.Linker.Tests.Cases/LinkXml/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod.cs b/test/Mono.Linker.Tests.Cases/LinkXml/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod.cs
new file mode 100644
index 000000000..6111bc713
--- /dev/null
+++ b/test/Mono.Linker.Tests.Cases/LinkXml/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod.cs
@@ -0,0 +1,31 @@
+using Mono.Linker.Tests.Cases.Expectations.Assertions;
+using Mono.Linker.Tests.Cases.Expectations.Metadata;
+using Mono.Linker.Tests.Cases.LinkXml.Dependencies.EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod;
+
+namespace Mono.Linker.Tests.Cases.LinkXml {
+ [SetupCompileBefore ("Base.dll",
+ new []{"Dependencies/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod/Base.cs"})]
+ [SetupCompileBefore ("Library1.dll",
+ new [] { "Dependencies/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod/Library1.cs"},
+ new [] { "Base.dll"},
+ resources: new [] { "Dependencies/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod/Library1.xml"})]
+ [SetupCompileBefore("Library2.dll",
+ new [] {"Dependencies/EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod/Library2.cs"},
+ new [] {"Base.dll"},
+ addAsReference: false)]
+ [IncludeBlacklistStep (true)]
+
+ [KeptMemberInAssembly ("Library1.dll", typeof (Library1), "VirtualMethodFromBase()")]
+ [KeptMemberInAssembly ("Library1.dll", typeof (Library1Secondary), "VirtualMethodFromBase()")]
+
+ // Library1's embedded link xml will preserve the Library2 type. Because Library2 shares a base class with Library1
+ // Library2's override should be kept as well
+ [KeptMemberInAssembly ("Library2.dll", "Mono.Linker.Tests.Cases.LinkXml.Dependencies.EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod.Library2", "VirtualMethodFromBase()")]
+ public class EmbeddedLinkXmlPreservesAdditionalAssemblyWithOverriddenMethod {
+ public static void Main ()
+ {
+ var tmp = new Library1 ();
+ tmp.VirtualMethodFromBase ();
+ }
+ }
+} \ No newline at end of file