diff options
Diffstat (limited to 'linker/Mono.Linker.Steps/ResolveFromXmlStep.cs')
-rw-r--r-- | linker/Mono.Linker.Steps/ResolveFromXmlStep.cs | 9 |
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)); + } } } |