Ejemplo n.º 1
0
 //------------------------------------------------------------
 // CController.CloneOptions
 //
 /// <summary></summary>
 /// <param name="dest"></param>
 //------------------------------------------------------------
 internal void CloneOptions(COptionManager dest)
 {
     lock (lockOptions)
     {
         dest.CopyFrom(this.OptionManager);
     }
 }
Ejemplo n.º 2
0
        //------------------------------------------------------------
        // 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);
        }
Ejemplo n.º 3
0
 //------------------------------------------------------------
 // CController  Constructor
 //
 /// <summary>does nothing.</summary>
 //------------------------------------------------------------
 internal CController()
 {
     this.OptionManager = new COptionManager(this);
 }