From fda364a5dff352e83c268de24b2aaab270b91e1b Mon Sep 17 00:00:00 2001 From: Amy Yu Date: Thu, 26 Jul 2018 12:18:26 -0700 Subject: [PATCH] Move ReadyToRunSingleAssemblyCompilationModuleGroup out of multifile block --- src/ILCompiler/src/Program.cs | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/ILCompiler/src/Program.cs b/src/ILCompiler/src/Program.cs index f142742b01e..81bf2b593f3 100644 --- a/src/ILCompiler/src/Program.cs +++ b/src/ILCompiler/src/Program.cs @@ -360,7 +360,7 @@ private int Run(string[] args) } } - if (_multiFile || _isReadyToRunCodeGen) + if (_isReadyToRunCodeGen) { List inputModules = new List(); @@ -370,20 +370,30 @@ private int Run(string[] args) if (entrypointModule == null) { - // This is a multifile production build - we need to root all methods compilationRoots.Add(new LibraryRootProvider(module)); } inputModules.Add(module); } - if (_isReadyToRunCodeGen) - { - compilationGroup = new ReadyToRunSingleAssemblyCompilationModuleGroup(typeSystemContext, inputModules); - } - else + compilationGroup = new ReadyToRunSingleAssemblyCompilationModuleGroup(typeSystemContext, inputModules); + } + else if (_multiFile) + { + List inputModules = new List(); + + foreach (var inputFile in typeSystemContext.InputFilePaths) { - compilationGroup = new MultiFileSharedCompilationModuleGroup(typeSystemContext, inputModules); + EcmaModule module = typeSystemContext.GetModuleFromPath(inputFile.Value); + + if (entrypointModule == null) + { + // This is a multifile production build - we need to root all methods + compilationRoots.Add(new LibraryRootProvider(module)); + } + inputModules.Add(module); } + + compilationGroup = new MultiFileSharedCompilationModuleGroup(typeSystemContext, inputModules); } else {