//------------------------------------------------------------ // CController.CloneOptions // /// <summary></summary> /// <param name="dest"></param> //------------------------------------------------------------ internal void CloneOptions(COptionManager dest) { lock (lockOptions) { dest.CopyFrom(this.OptionManager); } }
//------------------------------------------------------------ // CommandLineCompiler.Compile // /// <summary> /// <para>Compile by arguments.</para> /// <para>In sscli, this method is the main entry point.</para> /// </summary> /// <param name="args"></param> /// <returns></returns> //------------------------------------------------------------ internal int Compile(string[] args) { CNameManager nameManager = CNameManager.CreateInstance(); CscConsoleOutput cout = new CscConsoleOutput(new Uncs.SystemConsole()); CompilerCreationFlags flags = CompilerCreationFlags.TRACKCOMMENTS; CController controller = CController.CreateInstance(flags, cout, nameManager); cout.SetController(controller); COptionManager optManger = controller.OptionManager; optManger.DefaultTarget = TargetType.Exe; optManger.SetCommandArguments(args); optManger.ProcessResponseFiles(); optManger.ProcessPreSwitches(); if (controller.HadError) { return(1); } if (!optManger.NoLogo) { cout.PrintBanner(); } if (optManger.ShowHelp) { OptionInfoManager.PrintCSCHelp(cout); } else { optManger.ProcessOptions(Uncs.CommandID.CSC); if (!controller.HadError) { controller.Compile(null); } } return(controller.HadError?1:0); }
//------------------------------------------------------------ // CController Constructor // /// <summary>does nothing.</summary> //------------------------------------------------------------ internal CController() { this.OptionManager = new COptionManager(this); }