public CSharpParseOptions WithXSharpSpecificOptions(XSharpSpecificCompilationOptions opt)
        {
            var result = new CSharpParseOptions(this);

            result.SetXSharpSpecificOptions(opt);
            return(result);
        }
        public CSharpParseOptions WithMacroScript(bool macroScript)
        {
            if (macroScript == this.MacroScript)
            {
                return(this);
            }
            var result = new CSharpParseOptions(this);

            result.SetXSharpSpecificOptions(this);
            result.MacroScript     = macroScript;
            result.LanguageVersion = LanguageVersion.CSharp7_3;
            return(result);
        }
        public CSharpParseOptions WithOutput(TextWriter consoleOutput)
        {
            if (consoleOutput == this.ConsoleOutput)
            {
                return(this);
            }
            var result = new CSharpParseOptions(this);

            result.SetXSharpSpecificOptions(this);
            result.ConsoleOutput   = consoleOutput;
            result.LanguageVersion = LanguageVersion.CSharp7_3;
            return(result);
        }