private static void Writing(IlReader ilReader, string[] filter, ICodeWriter codeWriter, List <IType> newListOfITypes, SortedDictionary <string, IType> genDefinitionsByMetadataName, SortedDictionary <IType, IEnumerable <IMethod> > genericMethodSpecializationsSorted) { // writing codeWriter.WriteStart(ilReader.ModuleName, ilReader.AssemblyQualifiedName, ilReader.IsCoreLib, ilReader.AllReferences()); WriteForwardDeclarations(codeWriter, newListOfITypes); ConvertAllTypes( ilReader, filter, codeWriter, newListOfITypes, genDefinitionsByMetadataName, genericMethodSpecializationsSorted, ConvertingMode.Declaration); ConvertAllTypes( ilReader, filter, codeWriter, newListOfITypes, genDefinitionsByMetadataName, genericMethodSpecializationsSorted, ConvertingMode.Definition); // Append definition of Generic Methods of not used non-generic types ConvertAllTypes( ilReader, filter, codeWriter, genericMethodSpecializationsSorted.Keys.Where(k => !newListOfITypes.Contains(k)).ToList(), genDefinitionsByMetadataName, genericMethodSpecializationsSorted, ConvertingMode.Definition, true); codeWriter.WriteEnd(); codeWriter.Close(); }