1 write to Nullability
Microsoft.CodeAnalysis (1)
Compilation\TypeInfo.cs (1)
46this.Nullability = nullability;
104 references to Nullability
Microsoft.CodeAnalysis (3)
Compilation\TypeInfo.cs (3)
55&& this.Nullability.Equals(other.Nullability) 68Hash.Combine(this.Nullability.GetHashCode(),
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (2)
NullableExtensions.cs (1)
13=> typeInfo.Type?.WithNullableAnnotation(typeInfo.Nullability.Annotation);
NullableHelpers.cs (1)
84if (typeInfo.Nullability.FlowState == NullableFlowState.MaybeNull)
Microsoft.CodeAnalysis.CSharp.Features (2)
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.cs (1)
811if (returnTypeInfo.Nullability.FlowState == NullableFlowState.MaybeNull)
QuickInfo\CSharpSemanticQuickInfoProvider.cs (1)
128return typeInfo.Nullability.FlowState;
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (37)
Semantics\NullableContextTests.cs (12)
354Assert.Equal(expectedNullability, typeInfo.Nullability.FlowState); 393Assert.Equal(expectedNullability, typeInfo.Nullability.FlowState); 428Assert.Equal(expectedNullability, typeInfo.Nullability.FlowState); 1776Assert.Equal(Microsoft.CodeAnalysis.NullableFlowState.MaybeNull, typeInfo.Nullability.FlowState); 1781Assert.Equal(Microsoft.CodeAnalysis.NullableFlowState.None, typeInfo.Nullability.FlowState); 1844Assert.Equal(expectedFlowState, typeInfo.Nullability.FlowState); 1890Assert.Equal(expectedFlowState, typeInfo.Nullability.FlowState); 1945Assert.Equal(expectedFlowState, typeInfo.Nullability.FlowState); 1982Assert.Equal(expectedFlowState, typeInfo.Nullability.FlowState); 2022Assert.Equal(expectedFlowState, typeInfo.Nullability.FlowState); 2061Assert.Equal(expectedFlowState, typeInfo.Nullability.FlowState); 2232Assert.Equal(expectedAnnotation, typeInfo.Nullability.Annotation);
Semantics\NullableReferenceTypesTests.cs (21)
56570Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, model.GetTypeInfo(declaration.Type).Nullability.Annotation); 60398Assert.Equal(CodeAnalysis.NullableFlowState.NotNull, typeInfo.Nullability.FlowState); 60399Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, typeInfo.Nullability.Annotation); 68462Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, model.GetTypeInfo(discard1).Nullability.Annotation); 68467Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, model.GetTypeInfo(discard2).Nullability.Annotation); 68472Assert.Equal(CodeAnalysis.NullableAnnotation.NotAnnotated, model.GetTypeInfo(discard3).Nullability.Annotation); 68477Assert.Equal(CodeAnalysis.NullableAnnotation.NotAnnotated, model.GetTypeInfo(discard4).Nullability.Annotation); 68509Assert.Equal(CodeAnalysis.NullableAnnotation.None, model.GetTypeInfoAndVerifyIOperation(discard1.Designation).Nullability.Annotation); 68511Assert.Equal(CodeAnalysis.NullableAnnotation.None, model.GetTypeInfo(discard1).Nullability.Annotation); 68520Assert.Equal(CodeAnalysis.NullableAnnotation.None, model.GetTypeInfo(discard2).Nullability.Annotation); 68549Assert.Equal(CodeAnalysis.NullableAnnotation.None, model.GetTypeInfo(discardPattern1).Nullability.Annotation); 68555Assert.Equal(CodeAnalysis.NullableAnnotation.None, model.GetTypeInfo(discardPattern2).Nullability.Annotation); 142185Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, typeInfo.Nullability.Annotation); 151642Assert.Equal(CodeAnalysis.NullableAnnotation.NotAnnotated, model.GetTypeInfo(identifiers[0]).Nullability.Annotation); 151643Assert.Equal(CodeAnalysis.NullableAnnotation.None, model.GetTypeInfo(identifiers[1]).Nullability.Annotation); 151644Assert.Equal(CodeAnalysis.NullableAnnotation.NotAnnotated, model.GetTypeInfo(identifiers[2]).Nullability.Annotation); 151645Assert.Equal(CodeAnalysis.NullableAnnotation.None, model.GetTypeInfo(identifiers[3]).Nullability.Annotation); 156842Assert.Equal(CodeAnalysis.NullableFlowState.NotNull, typeInfo.Nullability.FlowState); 156843Assert.Equal(CodeAnalysis.NullableAnnotation.NotAnnotated, typeInfo.Nullability.Annotation); 156888Assert.Equal(CodeAnalysis.NullableFlowState.NotNull, typeInfo.Nullability.FlowState); 156889Assert.Equal(CodeAnalysis.NullableAnnotation.NotAnnotated, typeInfo.Nullability.Annotation);
Semantics\TopLevelStatementsTests.cs (4)
1511Assert.Equal(CodeAnalysis.NullableFlowState.MaybeNull, model1.GetTypeInfo(reference).Nullability.FlowState); 1514Assert.Equal(CodeAnalysis.NullableFlowState.MaybeNull, model1.GetTypeInfo(reference).Nullability.FlowState); 1582_ = model1.GetTypeInfo(id).Nullability; 1588_ = model2.GetTypeInfo(id).Nullability;
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (53)
Compilation\SemanticModelAPITests.cs (3)
4493Assert.Equal(CodeAnalysis.NullableAnnotation.None, typeInfo.Nullability.Annotation); 4557Assert.Equal(CodeAnalysis.NullableAnnotation.None, typeInfo.Nullability.Annotation); 4571Assert.Equal(CodeAnalysis.NullableAnnotation.None, typeInfo.Nullability.Annotation);
Symbols\Source\NullablePublicAPITests.cs (50)
1096Assert.Equal(PublicNullableFlowState.NotNull, typeInfo.Nullability.FlowState); 1099Assert.Equal(PublicNullableAnnotation.NotAnnotated, typeInfo.Nullability.Annotation); 1169syntaxContext.ReportDiagnostic(CodeAnalysis.Diagnostic.Create(s_descriptor1, syntaxContext.Node.GetLocation(), syntaxContext.Node, info.Nullability.FlowState, info.Nullability.Annotation, specInfo.Nullability.FlowState)); 1221Assert.Equal(nullable, dInfo.Nullability); 1228Assert.Equal(nullable, cInfo.Nullability); 1235Assert.Equal(notNullable, creationInfo.Nullability); 1269Assert.Equal(notNull, leftInfo.Nullability); 1271Assert.Equal(@null, rightInfo.Nullability); 1396Assert.Equal(conditionFlowState, speculativeTypeInfo.Nullability.FlowState); 1399Assert.Equal(PublicNullableFlowState.NotNull, speculativeTypeInfo.Nullability.FlowState); 1402Assert.Equal(PublicNullableFlowState.NotNull, referenceTypeInfo.Nullability.FlowState); 1404Assert.Equal(PublicNullableFlowState.NotNull, coalesceTypeInfo.Nullability.FlowState); 1407Assert.Equal(conditionFlowState, speculativeTypeInfo.Nullability.FlowState); 1409Assert.Equal(conditionFlowState, referenceTypeInfo.Nullability.FlowState); 1412Assert.Equal(conditionFlowState, coalesceTypeInfo.Nullability.FlowState); 1444Assert.Equal(PublicNullableFlowState.NotNull, speculativeTypeInfo.Nullability.FlowState); 1530Assert.Equal(expectedFlowState, specTypeInfo.Nullability.FlowState); 1532Assert.Equal(PublicNullableFlowState.NotNull, specTypeInfo.Nullability.FlowState); 1586Assert.Equal(expectedFlowState, specTypeInfo.Nullability.FlowState); 1588Assert.Equal(PublicNullableFlowState.NotNull, specTypeInfo.Nullability.FlowState); 1628Assert.Equal(PublicNullableFlowState.MaybeNull, type.Nullability.FlowState); 1629Assert.Equal(PublicNullableAnnotation.Annotated, type.Nullability.Annotation); 1674Assert.Equal(PublicNullableFlowState.None, type.Nullability.FlowState); 1675Assert.Equal(PublicNullableAnnotation.None, type.Nullability.Annotation); 1717Assert.Equal(PublicNullableFlowState.None, type.Nullability.FlowState); 1718Assert.Equal(PublicNullableAnnotation.None, type.Nullability.Annotation); 1796Assert.Equal(PublicNullableAnnotation.Annotated, info.Nullability.Annotation); 1797Assert.Equal(PublicNullableFlowState.MaybeNull, info.Nullability.FlowState); 1954Assert.Equal(PublicNullableFlowState.MaybeNull, typeInfo.Nullability.FlowState); 1956Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, typeInfo.Nullability.Annotation); 2297Assert.Equal(PublicNullableAnnotation.Annotated, typeInfo.Nullability.Annotation); 2298Assert.Equal(PublicNullableFlowState.MaybeNull, typeInfo.Nullability.FlowState); 2468Assert.Equal(PublicNullableAnnotation.Annotated, typeInfo.Nullability.Annotation); 2568Assert.Equal(PublicNullableFlowState.MaybeNull, typeInfo.Nullability.FlowState); 2570Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, typeInfo.Nullability.Annotation); 2922Assert.Equal(PublicNullableFlowState.MaybeNull, typeInfo.Nullability.FlowState); 2926Assert.Equal(PublicNullableFlowState.NotNull, typeInfo.Nullability.FlowState); 2931Assert.Equal(PublicNullableFlowState.None, typeInfo.Nullability.FlowState); 4274Assert.Equal(PublicNullableFlowState.MaybeNull, model.GetTypeInfo(default0).Nullability.FlowState); 4277Assert.Equal(PublicNullableFlowState.NotNull, model.GetTypeInfo(default1).Nullability.FlowState); 4308Assert.Equal(PublicNullableFlowState.MaybeNull, model.GetTypeInfo(default0).Nullability.FlowState); 4311Assert.Equal(PublicNullableFlowState.NotNull, model.GetTypeInfo(default1).Nullability.FlowState); 4342var info = model.GetTypeInfoAndVerifyIOperation(expr).Nullability; 4823Assert.Equal(PublicNullableFlowState.NotNull, info.Nullability.FlowState); 4828Assert.Equal(PublicNullableFlowState.NotNull, info.Nullability.FlowState); 4852Assert.Equal(PublicNullableAnnotation.NotAnnotated, info.Nullability.Annotation); 4853Assert.Equal(PublicNullableFlowState.NotNull, info.Nullability.FlowState); 4918Assert.Equal(PublicNullableFlowState.NotNull, typeInfo.Nullability.FlowState);
Microsoft.CodeAnalysis.CSharp.Test.Utilities (5)
CompilationTestUtils.cs (5)
240summary.Nullability = typeInfo.Nullability; 277summary.Nullability = typeInfo.Nullability; 314summary.Nullability = typeInfo.Nullability; 474Assert.NotEqual(CodeAnalysis.NullableFlowState.None, typeInfo.Nullability.FlowState); 478(annotation.IsConverted ? typeInfo.ConvertedNullability : typeInfo.Nullability).FlowState.ToInternalFlowState()).ToTypeWithAnnotations(compilation);
Microsoft.CodeAnalysis.CSharp.Workspaces (2)
NullableExtensions.cs (1)
13=> typeInfo.Type?.WithNullableAnnotation(typeInfo.Nullability.Annotation);
NullableHelpers.cs (1)
84if (typeInfo.Nullability.FlowState == NullableFlowState.MaybeNull)