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:
Diffstat (limited to 'linker/Mono.Linker.Steps/ResolveFromXmlStep.cs')
-rw-r--r--linker/Mono.Linker.Steps/ResolveFromXmlStep.cs9
1 files changed, 7 insertions, 2 deletions
diff --git a/linker/Mono.Linker.Steps/ResolveFromXmlStep.cs b/linker/Mono.Linker.Steps/ResolveFromXmlStep.cs
index 582069911..bcf300a57 100644
--- a/linker/Mono.Linker.Steps/ResolveFromXmlStep.cs
+++ b/linker/Mono.Linker.Steps/ResolveFromXmlStep.cs
@@ -83,8 +83,13 @@ namespace Mono.Linker.Steps {
{
while (iterator.MoveNext ()) {
AssemblyDefinition assembly = GetAssembly (context, GetFullName (iterator.Current));
- ProcessTypes (assembly, iterator.Current.SelectChildren ("type", _ns));
- ProcessNamespaces (assembly, iterator.Current.SelectChildren ("namespace", _ns));
+ if (GetTypePreserve (iterator.Current) == TypePreserve.All) {
+ foreach (var type in assembly.MainModule.Types)
+ MarkAndPreserveAll (type);
+ } else {
+ ProcessTypes (assembly, iterator.Current.SelectChildren ("type", _ns));
+ ProcessNamespaces (assembly, iterator.Current.SelectChildren ("namespace", _ns));
+ }
}
}