Ejemplo n.º 1
0
 ImmutableArray <SymbolDisplayPart> ITypeSymbol.ToDisplayParts(
     CodeAnalysis.NullableFlowState topLevelNullability,
     SymbolDisplayFormat format
     )
 {
     return(SymbolDisplay.ToDisplayParts(this, topLevelNullability, format));
 }
Ejemplo n.º 2
0
#pragma warning disable RS0026 // Do not add multiple public overloads with optional parameters
        public static string ToDisplayString(
            ITypeSymbol symbol,
            CodeAnalysis.NullableFlowState nullableFlowState,
            SymbolDisplayFormat format = null)
        {
            return(ToDisplayParts(symbol, nullableFlowState, format).ToDisplayString());
        }
Ejemplo n.º 3
0
 string ITypeSymbol.ToDisplayString(
     CodeAnalysis.NullableFlowState topLevelNullability,
     SymbolDisplayFormat format
     )
 {
     return(SymbolDisplay.ToDisplayString(this, topLevelNullability, format));
 }
Ejemplo n.º 4
0
#pragma warning disable RS0026 // Do not add multiple public overloads with optional parameters
        public static string ToMinimalDisplayString(
            ITypeSymbol symbol,
            CodeAnalysis.NullableFlowState nullableFlowState,
            SemanticModel semanticModel,
            int position,
            SymbolDisplayFormat format = null)
        {
            return(ToMinimalDisplayParts(symbol, nullableFlowState, semanticModel, position, format).ToDisplayString());
        }
Ejemplo n.º 5
0
#pragma warning restore RS0026 // Do not add multiple public overloads with optional parameters

        private static ImmutableArray <SymbolDisplayPart> ToDisplayParts(
            ITypeSymbol symbol,
            CodeAnalysis.NullableFlowState nullableFlowState,
            SemanticModel semanticModelOpt,
            int positionOpt,
            SymbolDisplayFormat format,
            bool minimal)
        {
            return(ToDisplayParts(symbol.WithNullableAnnotation(nullableFlowState.ToAnnotation()), semanticModelOpt, positionOpt, format, minimal));
        }
Ejemplo n.º 6
0
#pragma warning disable RS0026 // Do not add multiple public overloads with optional parameters
        // https://github.com/dotnet/roslyn/issues/35035: Add tests
        public static ImmutableArray <SymbolDisplayPart> ToMinimalDisplayParts(
            ITypeSymbol symbol,
            CodeAnalysis.NullableFlowState nullableFlowState,
            SemanticModel semanticModel,
            int position,
            SymbolDisplayFormat format = null)
        {
            format ??= SymbolDisplayFormat.MinimallyQualifiedFormat;
            return(ToDisplayParts(symbol, nullableFlowState, semanticModel, position, format, minimal: true));
        }
Ejemplo n.º 7
0
#pragma warning disable RS0026 // Do not add multiple public overloads with optional parameters
        // https://github.com/dotnet/roslyn/issues/35035: Add tests
        public static ImmutableArray <SymbolDisplayPart> ToDisplayParts(
            ITypeSymbol symbol,
            CodeAnalysis.NullableFlowState nullableFlowState,
            SymbolDisplayFormat format = null)
        {
            // null indicates the default format
            format = format ?? SymbolDisplayFormat.CSharpErrorMessageFormat;
            return(ToDisplayParts(
                       symbol, nullableFlowState, semanticModelOpt: null, positionOpt: -1, format: format, minimal: false));
        }
Ejemplo n.º 8
0
#pragma warning restore RS0026 // Do not add multiple public overloads with optional parameters

        private static ImmutableArray <SymbolDisplayPart> ToDisplayParts(
            ITypeSymbol symbol,
            CodeAnalysis.NullableFlowState nullableFlowState,
            SemanticModel semanticModelOpt,
            int positionOpt,
            SymbolDisplayFormat format,
            bool minimal)
        {
            // https://github.com/dotnet/roslyn/issues/35035: Refactor this. We need to be able to handle non-TypeSymbol inputs
            var annotation = (CodeAnalysis.NullableAnnotation?)TypeWithState.Create((TypeSymbol)symbol, nullableFlowState.ToInternalFlowState()).ToTypeWithAnnotations().NullableAnnotation.ToPublicAnnotation();

            return(ToDisplayParts(symbol, annotation, semanticModelOpt, positionOpt, format, minimal));
        }
Ejemplo n.º 9
0
        private static CodeAnalysis.NullableAnnotation StateToAnnotation(CodeAnalysis.NullableFlowState nullableFlowState)
        {
            switch (nullableFlowState)
            {
            case CodeAnalysis.NullableFlowState.MaybeNull:
                return(CodeAnalysis.NullableAnnotation.Annotated);

            case CodeAnalysis.NullableFlowState.NotNull:
                return(CodeAnalysis.NullableAnnotation.NotAnnotated);

            default:
                return(CodeAnalysis.NullableAnnotation.None);
            }
        }
Ejemplo n.º 10
0
 ImmutableArray <SymbolDisplayPart> ITypeSymbol.ToMinimalDisplayParts(
     SemanticModel semanticModel,
     CodeAnalysis.NullableFlowState topLevelNullability,
     int position,
     SymbolDisplayFormat format
     )
 {
     return(SymbolDisplay.ToMinimalDisplayParts(
                this,
                topLevelNullability,
                semanticModel,
                position,
                format
                ));
 }
Ejemplo n.º 11
0
 string ITypeSymbol.ToMinimalDisplayString(
     SemanticModel semanticModel,
     CodeAnalysis.NullableFlowState topLevelNullability,
     int position,
     SymbolDisplayFormat format
     )
 {
     return(SymbolDisplay.ToMinimalDisplayString(
                this,
                topLevelNullability,
                semanticModel,
                position,
                format
                ));
 }
Ejemplo n.º 12
0
 public static CSharp.NullableFlowState ToInternalFlowState(this CodeAnalysis.NullableFlowState flowState) =>
 flowState switch
 {