Merge pull request #1949 from lewurm/fixtype
[mono.git] / mcs / tools / linker / Mono.Linker / Annotations.cs
index c0386936d570a8ea74aafb22d2473c62a7c2b586..72c59bad8b968fb5ba5786118985b2ecacc7c178 100644 (file)
@@ -52,16 +52,22 @@ namespace Mono.Linker {
 
                readonly Dictionary<object, Dictionary<IMetadataTokenProvider, object>> custom_annotations = new Dictionary<object, Dictionary<IMetadataTokenProvider, object>> ();
 
-               readonly Stack<object> dependency_stack = new Stack<object> ();
+               Stack<object> dependency_stack;
                System.Xml.XmlWriter writer;
                GZipStream zipStream;
 
                public void PrepareDependenciesDump ()
                {
+                       PrepareDependenciesDump ("linker-dependencies.xml.gz");
+               }
+
+               public void PrepareDependenciesDump (string filename)
+               {
+                       dependency_stack = new Stack<object> ();
                        System.Xml.XmlWriterSettings settings = new System.Xml.XmlWriterSettings();
                        settings.Indent = true;
                        settings.IndentChars = "\t";
-                       var depsFile = File.OpenWrite ("linker-dependencies.xml.gz");
+                       var depsFile = File.OpenWrite (filename);
                        zipStream = new GZipStream (depsFile, CompressionMode.Compress);
 
                        writer = System.Xml.XmlWriter.Create (zipStream, settings);
@@ -317,6 +323,7 @@ namespace Mono.Linker {
                        zipStream.Dispose ();
                        writer = null;
                        zipStream = null;
+                       dependency_stack = null;
                }
        }
 }