// 15.9 BACKCOMPAT OVERLOAD -- DO NOT TOUCH
 public CSharpCompilationOptions(
     OutputKind outputKind,
     bool reportSuppressedDiagnostics,
     string?moduleName,
     string?mainTypeName,
     string?scriptClassName,
     IEnumerable <string>?usings,
     OptimizationLevel optimizationLevel,
     bool checkOverflow,
     bool allowUnsafe,
     string?cryptoKeyContainer,
     string?cryptoKeyFile,
     ImmutableArray <byte> cryptoPublicKey,
     bool?delaySign,
     Platform platform,
     ReportDiagnostic generalDiagnosticOption,
     int warningLevel,
     IEnumerable <KeyValuePair <string, ReportDiagnostic> >?specificDiagnosticOptions,
     bool concurrentBuild,
     bool deterministic,
     XmlReferenceResolver?xmlReferenceResolver,
     SourceReferenceResolver?sourceReferenceResolver,
     MetadataReferenceResolver?metadataReferenceResolver,
     AssemblyIdentityComparer?assemblyIdentityComparer,
     StrongNameProvider?strongNameProvider,
     bool publicSign,
     MetadataImportOptions metadataImportOptions)
     : this(outputKind, reportSuppressedDiagnostics, moduleName, mainTypeName, scriptClassName,
            usings, optimizationLevel, checkOverflow, allowUnsafe,
            cryptoKeyContainer, cryptoKeyFile, cryptoPublicKey, delaySign, platform,
            generalDiagnosticOption, warningLevel,
            specificDiagnosticOptions, concurrentBuild, deterministic,
            xmlReferenceResolver,
            sourceReferenceResolver,
            metadataReferenceResolver,
            assemblyIdentityComparer,
            strongNameProvider,
            publicSign,
            metadataImportOptions,
            nullableContextOptions : NullableContextOptions.Disable)
 {
 }
示例#2
0
 protected abstract CompilationOptions CommonWithXmlReferenceResolver(XmlReferenceResolver?resolver);
示例#3
0
 public CompilationOptions WithXmlReferenceResolver(XmlReferenceResolver?resolver)
 {
     return(CommonWithXmlReferenceResolver(resolver));
 }
示例#4
0
        internal CompilationOptions(
            OutputKind outputKind,
            bool reportSuppressedDiagnostics,
            string?moduleName,
            string?mainTypeName,
            string?scriptClassName,
            string?cryptoKeyContainer,
            string?cryptoKeyFile,
            ImmutableArray <byte> cryptoPublicKey,
            bool?delaySign,
            bool publicSign,
            OptimizationLevel optimizationLevel,
            bool checkOverflow,
            Platform platform,
            ReportDiagnostic generalDiagnosticOption,
            int warningLevel,
            ImmutableDictionary <string, ReportDiagnostic> specificDiagnosticOptions,
            bool concurrentBuild,
            bool deterministic,
            DateTime currentLocalTime,
            bool debugPlusMode,
            XmlReferenceResolver?xmlReferenceResolver,
            SourceReferenceResolver?sourceReferenceResolver,
            MetadataReferenceResolver?metadataReferenceResolver,
            AssemblyIdentityComparer assemblyIdentityComparer,
            StrongNameProvider?strongNameProvider,
            MetadataImportOptions metadataImportOptions,
            bool referencesSupersedeLowerVersions)
        {
            this.OutputKind                       = outputKind;
            this.ModuleName                       = moduleName;
            this.MainTypeName                     = mainTypeName;
            this.ScriptClassName                  = scriptClassName ?? WellKnownMemberNames.DefaultScriptClassName;
            this.CryptoKeyContainer               = cryptoKeyContainer;
            this.CryptoKeyFile                    = string.IsNullOrEmpty(cryptoKeyFile) ? null : cryptoKeyFile;
            this.CryptoPublicKey                  = cryptoPublicKey.NullToEmpty();
            this.DelaySign                        = delaySign;
            this.CheckOverflow                    = checkOverflow;
            this.Platform                         = platform;
            this.GeneralDiagnosticOption          = generalDiagnosticOption;
            this.WarningLevel                     = warningLevel;
            this.SpecificDiagnosticOptions        = specificDiagnosticOptions;
            this.ReportSuppressedDiagnostics      = reportSuppressedDiagnostics;
            this.OptimizationLevel                = optimizationLevel;
            this.ConcurrentBuild                  = concurrentBuild;
            this.Deterministic                    = deterministic;
            this.CurrentLocalTime                 = currentLocalTime;
            this.DebugPlusMode                    = debugPlusMode;
            this.XmlReferenceResolver             = xmlReferenceResolver;
            this.SourceReferenceResolver          = sourceReferenceResolver;
            this.MetadataReferenceResolver        = metadataReferenceResolver;
            this.StrongNameProvider               = strongNameProvider;
            this.AssemblyIdentityComparer         = assemblyIdentityComparer ?? AssemblyIdentityComparer.Default;
            this.MetadataImportOptions            = metadataImportOptions;
            this.ReferencesSupersedeLowerVersions = referencesSupersedeLowerVersions;
            this.PublicSign                       = publicSign;

            _lazyErrors = new Lazy <ImmutableArray <Diagnostic> >(() =>
            {
                var builder = ArrayBuilder <Diagnostic> .GetInstance();
                ValidateOptions(builder);
                return(builder.ToImmutableAndFree());
            });
        }
示例#5
0
 protected override CompilationOptions CommonWithXmlReferenceResolver(XmlReferenceResolver?resolver) =>
 WithXmlReferenceResolver(resolver);
示例#6
0
 // Defaults correspond to the compiler's defaults or indicate that the user did not specify when that is significant.
 // That's significant when one option depends on another's setting. SubsystemVersion depends on Platform and Target.
 public CSharpCompilationOptions(
     OutputKind outputKind,
     bool reportSuppressedDiagnostics = false,
     string?moduleName                   = null,
     string?mainTypeName                 = null,
     string?scriptClassName              = null,
     IEnumerable <string>?usings         = null,
     OptimizationLevel optimizationLevel = OptimizationLevel.Debug,
     bool checkOverflow                  = false,
     bool allowUnsafe                      = false,
     string?cryptoKeyContainer             = null,
     string?cryptoKeyFile                  = null,
     ImmutableArray <byte> cryptoPublicKey = default,
     bool?delaySign    = null,
     Platform platform = Platform.AnyCpu,
     ReportDiagnostic generalDiagnosticOption = ReportDiagnostic.Default,
     int warningLevel = Diagnostic.DefaultWarningLevel,
     IEnumerable <KeyValuePair <string, ReportDiagnostic> >?specificDiagnosticOptions = null,
     bool concurrentBuild = true,
     bool deterministic   = false,
     XmlReferenceResolver?xmlReferenceResolver           = null,
     SourceReferenceResolver?sourceReferenceResolver     = null,
     MetadataReferenceResolver?metadataReferenceResolver = null,
     AssemblyIdentityComparer?assemblyIdentityComparer   = null,
     StrongNameProvider?strongNameProvider = null,
     bool publicSign = false,
     MetadataImportOptions metadataImportOptions   = MetadataImportOptions.Public,
     NullableContextOptions nullableContextOptions = NullableContextOptions.Disable
     )
     : this(
         outputKind,
         reportSuppressedDiagnostics,
         moduleName,
         mainTypeName,
         scriptClassName,
         usings,
         optimizationLevel,
         checkOverflow,
         allowUnsafe,
         cryptoKeyContainer,
         cryptoKeyFile,
         cryptoPublicKey,
         delaySign,
         platform,
         generalDiagnosticOption,
         warningLevel,
         specificDiagnosticOptions,
         concurrentBuild,
         deterministic,
         currentLocalTime : default,
         debugPlusMode : false,
         xmlReferenceResolver : xmlReferenceResolver,
         sourceReferenceResolver : sourceReferenceResolver,
         syntaxTreeOptionsProvider : null,
         metadataReferenceResolver : metadataReferenceResolver,
         assemblyIdentityComparer : assemblyIdentityComparer,
         strongNameProvider : strongNameProvider,
         metadataImportOptions : metadataImportOptions,
         referencesSupersedeLowerVersions : false,
         publicSign : publicSign,
         topLevelBinderFlags : BinderFlags.None,
         nullableContextOptions : nullableContextOptions
         )
 {
 }
示例#7
0
 // Expects correct arguments.
 internal CSharpCompilationOptions(
     OutputKind outputKind,
     bool reportSuppressedDiagnostics,
     string?moduleName,
     string?mainTypeName,
     string?scriptClassName,
     IEnumerable <string>?usings,
     OptimizationLevel optimizationLevel,
     bool checkOverflow,
     bool allowUnsafe,
     string?cryptoKeyContainer,
     string?cryptoKeyFile,
     ImmutableArray <byte> cryptoPublicKey,
     bool?delaySign,
     Platform platform,
     ReportDiagnostic generalDiagnosticOption,
     int warningLevel,
     IEnumerable <KeyValuePair <string, ReportDiagnostic> >?specificDiagnosticOptions,
     bool concurrentBuild,
     bool deterministic,
     DateTime currentLocalTime,
     bool debugPlusMode,
     XmlReferenceResolver?xmlReferenceResolver,
     SourceReferenceResolver?sourceReferenceResolver,
     SyntaxTreeOptionsProvider?syntaxTreeOptionsProvider,
     MetadataReferenceResolver?metadataReferenceResolver,
     AssemblyIdentityComparer?assemblyIdentityComparer,
     StrongNameProvider?strongNameProvider,
     MetadataImportOptions metadataImportOptions,
     bool referencesSupersedeLowerVersions,
     bool publicSign,
     BinderFlags topLevelBinderFlags,
     NullableContextOptions nullableContextOptions
     )
     : base(
         outputKind,
         reportSuppressedDiagnostics,
         moduleName,
         mainTypeName,
         scriptClassName,
         cryptoKeyContainer,
         cryptoKeyFile,
         cryptoPublicKey,
         delaySign,
         publicSign,
         optimizationLevel,
         checkOverflow,
         platform,
         generalDiagnosticOption,
         warningLevel,
         specificDiagnosticOptions.ToImmutableDictionaryOrEmpty(),
         concurrentBuild,
         deterministic,
         currentLocalTime,
         debugPlusMode,
         xmlReferenceResolver,
         sourceReferenceResolver,
         syntaxTreeOptionsProvider,
         metadataReferenceResolver,
         assemblyIdentityComparer,
         strongNameProvider,
         metadataImportOptions,
         referencesSupersedeLowerVersions
         )
 {
     this.Usings                 = usings.AsImmutableOrEmpty();
     this.AllowUnsafe            = allowUnsafe;
     this.TopLevelBinderFlags    = topLevelBinderFlags;
     this.NullableContextOptions = nullableContextOptions;
 }