[System] Remove Process.Start and related API from TvOS/WatchOS.
[mono.git] / mcs / mcs / driver.cs
index 352974855a45e981caedb7e13aca99b45ab9c797..0a11914328ae79629b356b78bd879de1942f3b69 100644 (file)
@@ -57,7 +57,7 @@ namespace Mono.CSharp
                                SeekableStreamReader reader = new SeekableStreamReader (input, ctx.Settings.Encoding);
                                var file = new CompilationSourceFile (module, sourceFile);
 
-                               Tokenizer lexer = new Tokenizer (reader, file, session);
+                               Tokenizer lexer = new Tokenizer (reader, file, session, ctx.Report);
                                int token, tokens = 0, errors = 0;
 
                                while ((token = lexer.token ()) != Token.EOF){
@@ -78,9 +78,9 @@ namespace Mono.CSharp
 
                        Location.Initialize (sources);
 
-                       var session = new ParserSession () {
+                       var session = new ParserSession {
                                UseJayGlobalArrays = true,
-                               LocatedTokens = new Tokenizer.LocatedToken[15000]
+                               LocatedTokens = new LocatedToken[15000]
                        };
 
                        for (int i = 0; i < sources.Count; ++i) {
@@ -201,6 +201,7 @@ namespace Mono.CSharp
 
                public static string GetPackageFlags (string packages, Report report)
                {
+#if MONO_FEATURE_PROCESS_START
                        ProcessStartInfo pi = new ProcessStartInfo ();
                        pi.FileName = "pkg-config";
                        pi.RedirectStandardOutput = true;
@@ -239,6 +240,9 @@ namespace Mono.CSharp
 
                        p.Close ();
                        return pkgout;
+#else
+                       throw new NotSupportedException ("Process.Start is not supported on this platform.");
+#endif // MONO_FEATURE_PROCESS_START
                }
 
                //
@@ -328,6 +332,7 @@ namespace Mono.CSharp
                        tr.Start (TimeReporter.TimerType.CreateTypeTotal);
                        module.CreateContainer ();
                        importer.AddCompiledAssembly (assembly);
+                       references_loader.CompiledAssembly = assembly;
                        tr.Stop (TimeReporter.TimerType.CreateTypeTotal);
 
                        references_loader.LoadReferences (module);
@@ -361,6 +366,9 @@ namespace Mono.CSharp
 #endif
                        module.InitializePredefinedTypes ();
 
+                       if (settings.GetResourceStrings != null)
+                               module.LoadGetResourceStrings (settings.GetResourceStrings);
+
                        tr.Start (TimeReporter.TimerType.ModuleDefinitionTotal);
                        module.Define ();
                        tr.Stop (TimeReporter.TimerType.ModuleDefinitionTotal);