/// <summary>
 /// This version also accepts <see cref="SymbolDisplayCompilerInternalOptions"/>.
 /// </summary>
 internal SymbolDisplayFormat(
     SymbolDisplayCompilerInternalOptions compilerInternalOptions,
     SymbolDisplayGlobalNamespaceStyle globalNamespaceStyle     = default(SymbolDisplayGlobalNamespaceStyle),
     SymbolDisplayTypeQualificationStyle typeQualificationStyle = default(SymbolDisplayTypeQualificationStyle),
     SymbolDisplayGenericsOptions genericsOptions           = default(SymbolDisplayGenericsOptions),
     SymbolDisplayMemberOptions memberOptions               = default(SymbolDisplayMemberOptions),
     SymbolDisplayParameterOptions parameterOptions         = default(SymbolDisplayParameterOptions),
     SymbolDisplayDelegateStyle delegateStyle               = default(SymbolDisplayDelegateStyle),
     SymbolDisplayExtensionMethodStyle extensionMethodStyle = default(SymbolDisplayExtensionMethodStyle),
     SymbolDisplayPropertyStyle propertyStyle               = default(SymbolDisplayPropertyStyle),
     SymbolDisplayLocalOptions localOptions = default(SymbolDisplayLocalOptions),
     SymbolDisplayKindOptions kindOptions   = default(SymbolDisplayKindOptions),
     SymbolDisplayMiscellaneousOptions miscellaneousOptions = default(SymbolDisplayMiscellaneousOptions))
 {
     this.GlobalNamespaceStyle    = globalNamespaceStyle;
     this.TypeQualificationStyle  = typeQualificationStyle;
     this.GenericsOptions         = genericsOptions;
     this.MemberOptions           = memberOptions;
     this.ParameterOptions        = parameterOptions;
     this.DelegateStyle           = delegateStyle;
     this.ExtensionMethodStyle    = extensionMethodStyle;
     this.PropertyStyle           = propertyStyle;
     this.LocalOptions            = localOptions;
     this.KindOptions             = kindOptions;
     this.MiscellaneousOptions    = miscellaneousOptions;
     this.CompilerInternalOptions = compilerInternalOptions;
 }
        /// <summary>
        /// This version also accepts <see cref="SymbolDisplayCompilerInternalOptions"/>.
        /// </summary>
        internal SymbolDisplayFormat(
            SymbolDisplayCompilerInternalOptions compilerInternalOptions,
            SymbolDisplayGlobalNamespaceStyle globalNamespaceStyle     = default(SymbolDisplayGlobalNamespaceStyle),
            SymbolDisplayTypeQualificationStyle typeQualificationStyle = default(SymbolDisplayTypeQualificationStyle),
            SymbolDisplayGenericsOptions genericsOptions           = default(SymbolDisplayGenericsOptions),
            SymbolDisplayMemberOptions memberOptions               = default(SymbolDisplayMemberOptions),
            SymbolDisplayParameterOptions parameterOptions         = default(SymbolDisplayParameterOptions),
            SymbolDisplayDelegateStyle delegateStyle               = default(SymbolDisplayDelegateStyle),
            SymbolDisplayExtensionMethodStyle extensionMethodStyle = default(SymbolDisplayExtensionMethodStyle),
            SymbolDisplayPropertyStyle propertyStyle               = default(SymbolDisplayPropertyStyle),
            SymbolDisplayLocalOptions localOptions = default(SymbolDisplayLocalOptions),
            SymbolDisplayKindOptions kindOptions   = default(SymbolDisplayKindOptions),
            SymbolDisplayMiscellaneousOptions miscellaneousOptions = default(SymbolDisplayMiscellaneousOptions))
        {
            // If we want to display `!`, then we surely also want to display `?`
            Debug.Assert(miscellaneousOptions.IncludesOption(SymbolDisplayMiscellaneousOptions.IncludeNullableReferenceTypeModifier) ||
                         !compilerInternalOptions.IncludesOption(SymbolDisplayCompilerInternalOptions.IncludeNonNullableTypeModifier));

            this.GlobalNamespaceStyle    = globalNamespaceStyle;
            this.TypeQualificationStyle  = typeQualificationStyle;
            this.GenericsOptions         = genericsOptions;
            this.MemberOptions           = memberOptions;
            this.ParameterOptions        = parameterOptions;
            this.DelegateStyle           = delegateStyle;
            this.ExtensionMethodStyle    = extensionMethodStyle;
            this.PropertyStyle           = propertyStyle;
            this.LocalOptions            = localOptions;
            this.KindOptions             = kindOptions;
            this.MiscellaneousOptions    = miscellaneousOptions;
            this.CompilerInternalOptions = compilerInternalOptions;
        }
 /// <summary>
 /// Determines if a flag is set on the <see cref="SymbolDisplayCompilerInternalOptions"/> enum.
 /// </summary>
 /// <param name="options">The value to check.</param>
 /// <param name="flag">An enum field that specifies the flag.</param>
 /// <returns>Whether the <paramref name="flag"/> is set on the <paramref name="options"/>.</returns>
 internal static bool IncludesOption(
     this SymbolDisplayCompilerInternalOptions options,
     SymbolDisplayCompilerInternalOptions flag
     )
 {
     return((options & flag) == flag);
 }
 /// <summary>
 /// Creates a copy of the SymbolDisplayFormat but with replaced set of <seealso cref="SymbolDisplayCompilerInternalOptions"/>.
 /// </summary>
 internal SymbolDisplayFormat WithCompilerInternalOptions(SymbolDisplayCompilerInternalOptions options)
 {
     return(new SymbolDisplayFormat(
                options,
                this.GlobalNamespaceStyle,
                this.TypeQualificationStyle,
                this.GenericsOptions,
                this.MemberOptions,
                this.ParameterOptions,
                this.DelegateStyle,
                this.ExtensionMethodStyle,
                this.PropertyStyle,
                this.LocalOptions,
                this.KindOptions,
                this.MiscellaneousOptions));
 }
Beispiel #5
0
 internal SymbolDisplayFormat(
     SymbolDisplayCompilerInternalOptions compilerInternalOptions,
     SymbolDisplayGlobalNamespaceStyle globalNamespaceStyle     = default(SymbolDisplayGlobalNamespaceStyle),
     SymbolDisplayTypeQualificationStyle typeQualificationStyle = default(SymbolDisplayTypeQualificationStyle),
     SymbolDisplayGenericsOptions genericsOptions           = default(SymbolDisplayGenericsOptions),
     SymbolDisplayMemberOptions memberOptions               = default(SymbolDisplayMemberOptions),
     SymbolDisplayParameterOptions parameterOptions         = default(SymbolDisplayParameterOptions),
     SymbolDisplayPropertyStyle propertyStyle               = default(SymbolDisplayPropertyStyle),
     SymbolDisplayLocalStyle localStyle                     = default(SymbolDisplayLocalStyle),
     SymbolDisplayMiscellaneousOptions miscellaneousOptions = default(SymbolDisplayMiscellaneousOptions))
 {
     this.globalNamespaceStyle    = globalNamespaceStyle;
     this.typeQualificationStyle  = typeQualificationStyle;
     this.genericsOptions         = genericsOptions;
     this.memberOptions           = memberOptions;
     this.parameterOptions        = parameterOptions;
     this.propertyStyle           = propertyStyle;
     this.localStyle              = localStyle;
     this.miscellaneousOptions    = miscellaneousOptions;
     this.compilerInternalOptions = compilerInternalOptions;
 }
 /// <summary>
 /// Determines if a flag is set on the <see cref="SymbolDisplayCompilerInternalOptions"/> enum.
 /// </summary>
 /// <param name="options">The value to check.</param>
 /// <param name="flag">An enum field that specifies the flag.</param>
 /// <returns>Whether the <paramref name="flag"/> is set on the <paramref name="options"/>.</returns>
 internal static bool IncludesOption(this SymbolDisplayCompilerInternalOptions options, SymbolDisplayCompilerInternalOptions flag)
 {
     return (options & flag) == flag;
 }
Beispiel #7
0
 internal SymbolDisplayFormat(
     SymbolDisplayCompilerInternalOptions compilerInternalOptions,
     SymbolDisplayGlobalNamespaceStyle globalNamespaceStyle = default(SymbolDisplayGlobalNamespaceStyle),
     SymbolDisplayTypeQualificationStyle typeQualificationStyle = default(SymbolDisplayTypeQualificationStyle),
     SymbolDisplayGenericsOptions genericsOptions = default(SymbolDisplayGenericsOptions),
     SymbolDisplayMemberOptions memberOptions = default(SymbolDisplayMemberOptions),
     SymbolDisplayParameterOptions parameterOptions = default(SymbolDisplayParameterOptions),
     SymbolDisplayPropertyStyle propertyStyle = default(SymbolDisplayPropertyStyle),
     SymbolDisplayLocalStyle localStyle = default(SymbolDisplayLocalStyle),
     SymbolDisplayMiscellaneousOptions miscellaneousOptions = default(SymbolDisplayMiscellaneousOptions))
 {
     this.globalNamespaceStyle = globalNamespaceStyle;
     this.typeQualificationStyle = typeQualificationStyle;
     this.genericsOptions = genericsOptions;
     this.memberOptions = memberOptions;
     this.parameterOptions = parameterOptions;
     this.propertyStyle = propertyStyle;
     this.localStyle = localStyle;
     this.miscellaneousOptions = miscellaneousOptions;
     this.compilerInternalOptions = compilerInternalOptions;
 }
Beispiel #8
0
 /// <summary>
 /// This version also accepts <see cref="SymbolDisplayCompilerInternalOptions"/>.
 /// </summary>
 internal SymbolDisplayFormat(
     SymbolDisplayCompilerInternalOptions compilerInternalOptions,
     SymbolDisplayGlobalNamespaceStyle globalNamespaceStyle = default(SymbolDisplayGlobalNamespaceStyle),
     SymbolDisplayTypeQualificationStyle typeQualificationStyle = default(SymbolDisplayTypeQualificationStyle),
     SymbolDisplayGenericsOptions genericsOptions = default(SymbolDisplayGenericsOptions),
     SymbolDisplayMemberOptions memberOptions = default(SymbolDisplayMemberOptions),
     SymbolDisplayParameterOptions parameterOptions = default(SymbolDisplayParameterOptions),
     SymbolDisplayDelegateStyle delegateStyle = default(SymbolDisplayDelegateStyle),
     SymbolDisplayExtensionMethodStyle extensionMethodStyle = default(SymbolDisplayExtensionMethodStyle),
     SymbolDisplayPropertyStyle propertyStyle = default(SymbolDisplayPropertyStyle),
     SymbolDisplayLocalOptions localOptions = default(SymbolDisplayLocalOptions),
     SymbolDisplayKindOptions kindOptions = default(SymbolDisplayKindOptions),
     SymbolDisplayMiscellaneousOptions miscellaneousOptions = default(SymbolDisplayMiscellaneousOptions))
 {
     this.GlobalNamespaceStyle = globalNamespaceStyle;
     this.TypeQualificationStyle = typeQualificationStyle;
     this.GenericsOptions = genericsOptions;
     this.MemberOptions = memberOptions;
     this.ParameterOptions = parameterOptions;
     this.DelegateStyle = delegateStyle;
     this.ExtensionMethodStyle = extensionMethodStyle;
     this.PropertyStyle = propertyStyle;
     this.LocalOptions = localOptions;
     this.KindOptions = kindOptions;
     this.MiscellaneousOptions = miscellaneousOptions;
     this.CompilerInternalOptions = compilerInternalOptions;
 }
Beispiel #9
0
 /// <summary>
 /// Creates a copy of the SymbolDisplayFormat but with added set of <see cref="SymbolDisplayCompilerInternalOptions"/>.
 /// </summary>
 internal SymbolDisplayFormat AddCompilerInternalOptions(SymbolDisplayCompilerInternalOptions options)
 => WithCompilerInternalOptions(this.CompilerInternalOptions | options);