diff --git a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/ExportsFileWriter.cs b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/ExportsFileWriter.cs index 8dbc00caa7c463..80e094f5b3117b 100644 --- a/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/ExportsFileWriter.cs +++ b/src/coreclr/tools/aot/ILCompiler.Compiler/Compiler/ExportsFileWriter.cs @@ -13,11 +13,11 @@ namespace ILCompiler public class ExportsFileWriter { private readonly string _exportsFile; - private readonly IEnumerable _exportSymbols; + private readonly string[] _exportSymbols; private readonly List _methods; private readonly TypeSystemContext _context; - public ExportsFileWriter(TypeSystemContext context, string exportsFile, IEnumerable exportSymbols) + public ExportsFileWriter(TypeSystemContext context, string exportsFile, string[] exportSymbols) { _exportsFile = exportsFile; _exportSymbols = exportSymbols; @@ -51,11 +51,14 @@ public void EmitExportedMethods() else { streamWriter.WriteLine("V1.0 {"); - streamWriter.WriteLine(" global:"); - foreach (string symbol in _exportSymbols) - streamWriter.WriteLine($" {symbol};"); - foreach (var method in _methods) - streamWriter.WriteLine($" {method.GetUnmanagedCallersOnlyExportName()};"); + if (_exportSymbols.Length != 0 || _methods.Count != 0) + { + streamWriter.WriteLine(" global:"); + foreach (string symbol in _exportSymbols) + streamWriter.WriteLine($" {symbol};"); + foreach (var method in _methods) + streamWriter.WriteLine($" {method.GetUnmanagedCallersOnlyExportName()};"); + } streamWriter.WriteLine(" local: *;"); streamWriter.WriteLine("};"); }