/// <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)); }
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; }
/// <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);