972 references to NullableAnnotation
Microsoft.CodeAnalysis (38)
Compilation\Compilation.cs (10)
1057public IArrayTypeSymbol CreateArrayTypeSymbol(ITypeSymbol elementType, int rank = 1, NullableAnnotation elementNullableAnnotation = NullableAnnotation.None) 1072protected abstract IArrayTypeSymbol CommonCreateArrayTypeSymbol(ITypeSymbol elementType, int rank, NullableAnnotation elementNullableAnnotation); 1268ImmutableArray<NullableAnnotation> elementNullableAnnotations = default) 1315ImmutableArray<NullableAnnotation> elementNullableAnnotations) 1373ImmutableArray<NullableAnnotation> elementNullableAnnotations); 1385ImmutableArray<NullableAnnotation> elementNullableAnnotations = default) 1413ImmutableArray<NullableAnnotation> elementNullableAnnotations); 1426ImmutableArray<NullableAnnotation> memberNullableAnnotations = default) 1504ImmutableArray<NullableAnnotation> memberNullableAnnotations);
Symbols\IArrayTypeSymbol.cs (1)
55NullableAnnotation ElementNullableAnnotation { get; }
Symbols\IDiscardSymbol.cs (1)
23NullableAnnotation NullableAnnotation { get; }
Symbols\IEventSymbol.cs (1)
27NullableAnnotation NullableAnnotation { get; }
Symbols\IFieldSymbol.cs (1)
82NullableAnnotation NullableAnnotation { get; }
Symbols\ILocalSymbol.cs (1)
24NullableAnnotation NullableAnnotation { get; }
Symbols\IMethodSymbol.cs (5)
99NullableAnnotation ReturnNullableAnnotation { get; } 111/// then <see cref="NullableAnnotation.None"/> is returned. 113ImmutableArray<NullableAnnotation> TypeArgumentNullableAnnotations { get; } 169NullableAnnotation ReceiverNullableAnnotation { get; } 252IMethodSymbol Construct(ImmutableArray<ITypeSymbol> typeArguments, ImmutableArray<NullableAnnotation> typeArgumentNullableAnnotations);
Symbols\INamedTypeSymbol.cs (3)
85/// then <see cref="NullableAnnotation.None"/> is returned for that type argument. 87ImmutableArray<NullableAnnotation> TypeArgumentNullableAnnotations { get; } 135INamedTypeSymbol Construct(ImmutableArray<ITypeSymbol> typeArguments, ImmutableArray<NullableAnnotation> typeArgumentNullableAnnotations);
Symbols\IParameterSymbol.cs (1)
58NullableAnnotation NullableAnnotation { get; }
Symbols\IPropertySymbol.cs (1)
65NullableAnnotation NullableAnnotation { get; }
Symbols\ITypeParameterSymbol.cs (3)
53/// constraint, this returns <see cref="NullableAnnotation.None"/>. 55NullableAnnotation ReferenceTypeConstraintNullableAnnotation { get; } 86ImmutableArray<NullableAnnotation> ConstraintNullableAnnotations { get; }
Symbols\ITypeSymbol.cs (3)
184/// Nullable annotation associated with the type, or <see cref="NullableAnnotation.None"/> if there are none. 186NullableAnnotation NullableAnnotation { get; } 192ITypeSymbol WithNullableAnnotation(NullableAnnotation nullableAnnotation);
Symbols\NullabilityInfo.cs (2)
19public NullableAnnotation Annotation { get; } 28internal NullabilityInfo(NullableAnnotation annotation, NullableFlowState flowState)
Symbols\NullableFlowState.cs (5)
30/// This method directly converts a <see cref="NullableFlowState"/> to a <see cref="NullableAnnotation"/>, 35public static NullableAnnotation ToAnnotation(this NullableFlowState nullableFlowState) 40return CodeAnalysis.NullableAnnotation.Annotated; 42return CodeAnalysis.NullableAnnotation.NotAnnotated; 44return CodeAnalysis.NullableAnnotation.None;
Microsoft.CodeAnalysis.CodeStyle (1)
ITypeSymbolExtensions.cs (1)
34var isNonNullableReferenceType = type.IsReferenceType && type.NullableAnnotation != NullableAnnotation.Annotated;
Microsoft.CodeAnalysis.CodeStyle.Fixes (42)
AbstractTypeInferenceService.AbstractTypeInferrer.cs (2)
83protected IEnumerable<TypeInferenceInfo> CreateResult(SpecialType type, NullableAnnotation nullableAnnotation = NullableAnnotation.None)
CodeGenerationAbstractMethodSymbol.cs (4)
62public NullableAnnotation ReceiverNullableAnnotation => ReceiverType.NullableAnnotation; 63public NullableAnnotation ReturnNullableAnnotation => ReturnType.NullableAnnotation; 64public ImmutableArray<NullableAnnotation> TypeArgumentNullableAnnotations => TypeArguments.SelectAsArray(a => a.NullableAnnotation); 114public IMethodSymbol Construct(ImmutableArray<ITypeSymbol> typeArguments, ImmutableArray<CodeAnalysis.NullableAnnotation> typeArgumentNullableAnnotations)
CodeGenerationAbstractNamedTypeSymbol.cs (3)
35NullableAnnotation nullableAnnotation, 69public INamedTypeSymbol Construct(ImmutableArray<ITypeSymbol> typeArguments, ImmutableArray<NullableAnnotation> typeArgumentNullableAnnotations) 90public abstract ImmutableArray<NullableAnnotation> TypeArgumentNullableAnnotations { get; }
CodeGenerationArrayTypeSymbol.cs (3)
12public CodeGenerationArrayTypeSymbol(ITypeSymbol elementType, int rank, NullableAnnotation nullableAnnotation) 47protected override CodeGenerationTypeSymbol CloneWithNullableAnnotation(NullableAnnotation nullableAnnotation) 72public NullableAnnotation ElementNullableAnnotation => ElementType.NullableAnnotation;
CodeGenerationConstructedNamedTypeSymbol.cs (2)
33public override ImmutableArray<NullableAnnotation> TypeArgumentNullableAnnotations => _typeArguments.SelectAsArray(t => t.NullableAnnotation); 95protected override CodeGenerationTypeSymbol CloneWithNullableAnnotation(NullableAnnotation nullableAnnotation)
CodeGenerationEventSymbol.cs (1)
18public NullableAnnotation NullableAnnotation => Type.NullableAnnotation;
CodeGenerationFieldSymbol.cs (1)
20public NullableAnnotation NullableAnnotation => Type.NullableAnnotation;
CodeGenerationNamedTypeSymbol.cs (4)
40NullableAnnotation nullableAnnotation, 57protected override CodeGenerationTypeSymbol CloneWithNullableAnnotation(NullableAnnotation nullableAnnotation) 135public override ImmutableArray<NullableAnnotation> TypeArgumentNullableAnnotations 140return this.TypeParameters.SelectAsArray(t => NullableAnnotation.NotAnnotated);
CodeGenerationParameterSymbol.cs (1)
22public NullableAnnotation NullableAnnotation => Type.NullableAnnotation;
CodeGenerationPointerTypeSymbol.cs (2)
14: base(null, null, default, Accessibility.NotApplicable, default, string.Empty, SpecialType.None, NullableAnnotation.None) 19protected override CodeGenerationTypeSymbol CloneWithNullableAnnotation(NullableAnnotation nullableAnnotation)
CodeGenerationPropertySymbol.cs (1)
21public NullableAnnotation NullableAnnotation => Type.NullableAnnotation;
CodeGenerationSymbolFactory.cs (10)
335NullableAnnotation nullableAnnotation = NullableAnnotation.None, 355public static IArrayTypeSymbol CreateArrayTypeSymbol(ITypeSymbol elementType, int rank = 1, NullableAnnotation nullableAnnotation = NullableAnnotation.None) 426NullableAnnotation nullableAnnotation = NullableAnnotation.None, 445NullableAnnotation nullableAnnotation = NullableAnnotation.None, 470NullableAnnotation nullableAnnotation = NullableAnnotation.None)
CodeGenerationTypeParameterSymbol.cs (4)
27NullableAnnotation nullableAnnotation, 47protected override CodeGenerationTypeSymbol CloneWithNullableAnnotation(NullableAnnotation nullableAnnotation) 98public NullableAnnotation ReferenceTypeConstraintNullableAnnotation => throw new System.NotImplementedException(); 100public ImmutableArray<NullableAnnotation> ConstraintNullableAnnotations => ConstraintTypes.SelectAsArray(t => t.NullableAnnotation);
CodeGenerationTypeSymbol.cs (4)
29NullableAnnotation nullableAnnotation) 88public NullableAnnotation NullableAnnotation { get; } 90public ITypeSymbol WithNullableAnnotation(NullableAnnotation nullableAnnotation) 103protected abstract CodeGenerationTypeSymbol CloneWithNullableAnnotation(NullableAnnotation nullableAnnotation);
Microsoft.CodeAnalysis.CSharp (96)
BoundTree\BoundNode.cs (7)
234CodeAnalysis.NullableAnnotation.Annotated => BoundNodeAttributes.TopLevelAnnotated, 235CodeAnalysis.NullableAnnotation.NotAnnotated => BoundNodeAttributes.TopLevelNotAnnotated, 236CodeAnalysis.NullableAnnotation.None => BoundNodeAttributes.TopLevelNone, 269var annotation = (_attributes & BoundNodeAttributes.TopLevelAnnotationMask) switch 271BoundNodeAttributes.TopLevelAnnotated => CodeAnalysis.NullableAnnotation.Annotated, 272BoundNodeAttributes.TopLevelNotAnnotated => CodeAnalysis.NullableAnnotation.NotAnnotated, 273BoundNodeAttributes.TopLevelNone => CodeAnalysis.NullableAnnotation.None,
Compilation\CSharpCompilation.cs (4)
3715protected override IArrayTypeSymbol CommonCreateArrayTypeSymbol(ITypeSymbol elementType, int rank, CodeAnalysis.NullableAnnotation elementNullableAnnotation) 3826ImmutableArray<CodeAnalysis.NullableAnnotation> elementNullableAnnotations) 3852ImmutableArray<CodeAnalysis.NullableAnnotation> elementNullableAnnotations) 3882ImmutableArray<CodeAnalysis.NullableAnnotation> memberNullableAnnotations)
Compilation\CSharpSemanticModel.cs (4)
589private (ITypeSymbol Type, CodeAnalysis.NullableAnnotation Annotation) TypeFromVariable(SingleVariableDesignationSyntax variableDesignation, CancellationToken cancellationToken) 963var (declarationType, annotation) = ((ITypeSymbol, CodeAnalysis.NullableAnnotation))TypeFromVariable((SingleVariableDesignationSyntax)parent.Designation, cancellationToken); 2121convertedNullability = new NullabilityInfo(CodeAnalysis.NullableAnnotation.NotAnnotated, CodeAnalysis.NullableFlowState.NotNull); 2249nullability = new NullabilityInfo(CodeAnalysis.NullableAnnotation.NotAnnotated, CodeAnalysis.NullableFlowState.NotNull);
SymbolDisplay\SymbolDisplay.cs (4)
48CodeAnalysis.NullableAnnotation nullableAnnotation, 90CodeAnalysis.NullableAnnotation nullableAnnotation, 134CodeAnalysis.NullableAnnotation nullableAnnotation, 181CodeAnalysis.NullableAnnotation nullableAnnotation,
SymbolDisplay\SymbolDisplayVisitor.Types.cs (5)
78AddPunctuation(type.NullableAnnotation == CodeAnalysis.NullableAnnotation.Annotated ? SyntaxKind.QuestionToken : SyntaxKind.ExclamationToken); 86case CodeAnalysis.NullableAnnotation.Annotated: 94case CodeAnalysis.NullableAnnotation.NotAnnotated: 868case CodeAnalysis.NullableAnnotation.Annotated: 875case CodeAnalysis.NullableAnnotation.NotAnnotated:
Symbols\ArrayTypeSymbol.cs (1)
476protected sealed override ITypeSymbol CreateITypeSymbol(CodeAnalysis.NullableAnnotation nullableAnnotation)
Symbols\DynamicTypeSymbol.cs (1)
242protected sealed override ITypeSymbol CreateITypeSymbol(CodeAnalysis.NullableAnnotation nullableAnnotation)
Symbols\ErrorTypeSymbol.cs (1)
544protected sealed override ITypeSymbol CreateITypeSymbol(CodeAnalysis.NullableAnnotation nullableAnnotation)
Symbols\FunctionPointers\FunctionPointerTypeSymbol.cs (1)
124protected override ITypeSymbol CreateITypeSymbol(CodeAnalysis.NullableAnnotation nullableAnnotation)
Symbols\FunctionTypeSymbol.cs (1)
146protected override ITypeSymbol CreateITypeSymbol(CodeAnalysis.NullableAnnotation nullableAnnotation) => throw ExceptionUtilities.Unreachable();
Symbols\MethodSymbol.cs (3)
1135internal virtual CodeAnalysis.NullableAnnotation ReceiverNullableAnnotation => 1136RequiresInstanceReceiver ? CodeAnalysis.NullableAnnotation.NotAnnotated : CodeAnalysis.NullableAnnotation.None;
Symbols\NamedTypeSymbol.cs (1)
1701protected override ITypeSymbol CreateITypeSymbol(CodeAnalysis.NullableAnnotation nullableAnnotation)
Symbols\NullableAnnotationExtensions.cs (14)
91internal static NullabilityInfo ToNullabilityInfo(this CodeAnalysis.NullableAnnotation annotation, TypeSymbol type) 93if (annotation == CodeAnalysis.NullableAnnotation.None) 118internal static CodeAnalysis.NullableAnnotation ToPublicAnnotation(this TypeWithAnnotations type) => 121internal static ImmutableArray<CodeAnalysis.NullableAnnotation> ToPublicAnnotations(this ImmutableArray<TypeWithAnnotations> types) => 126internal static CodeAnalysis.NullableAnnotation ToPublicAnnotation(TypeSymbol? type, NullableAnnotation annotation) 131NullableAnnotation.Annotated => CodeAnalysis.NullableAnnotation.Annotated, 132NullableAnnotation.NotAnnotated => CodeAnalysis.NullableAnnotation.NotAnnotated, 137NullableAnnotation.Oblivious when type?.IsValueType == true => CodeAnalysis.NullableAnnotation.NotAnnotated, 138NullableAnnotation.Oblivious => CodeAnalysis.NullableAnnotation.None, 140NullableAnnotation.Ignored => CodeAnalysis.NullableAnnotation.None, 148internal static CSharp.NullableAnnotation ToInternalAnnotation(this CodeAnalysis.NullableAnnotation annotation) => 151CodeAnalysis.NullableAnnotation.None => CSharp.NullableAnnotation.Oblivious, 152CodeAnalysis.NullableAnnotation.NotAnnotated => CSharp.NullableAnnotation.NotAnnotated, 153CodeAnalysis.NullableAnnotation.Annotated => CSharp.NullableAnnotation.Annotated,
Symbols\PointerTypeSymbol.cs (1)
304protected override ITypeSymbol CreateITypeSymbol(CodeAnalysis.NullableAnnotation nullableAnnotation)
Symbols\PublicModel\ArrayTypeSymbol.cs (3)
17public ArrayTypeSymbol(Symbols.ArrayTypeSymbol underlying, CodeAnalysis.NullableAnnotation nullableAnnotation) 24protected override ITypeSymbol WithNullableAnnotation(CodeAnalysis.NullableAnnotation nullableAnnotation) 56CodeAnalysis.NullableAnnotation IArrayTypeSymbol.ElementNullableAnnotation
Symbols\PublicModel\DiscardSymbol.cs (1)
36CodeAnalysis.NullableAnnotation IDiscardSymbol.NullableAnnotation => _underlying.TypeWithAnnotations.ToPublicAnnotation();
Symbols\PublicModel\DynamicTypeSymbol.cs (2)
14public DynamicTypeSymbol(Symbols.DynamicTypeSymbol underlying, CodeAnalysis.NullableAnnotation nullableAnnotation) 21protected override ITypeSymbol WithNullableAnnotation(CodeAnalysis.NullableAnnotation nullableAnnotation)
Symbols\PublicModel\ErrorTypeSymbol.cs (2)
15public ErrorTypeSymbol(Symbols.ErrorTypeSymbol underlying, CodeAnalysis.NullableAnnotation nullableAnnotation) 22protected override ITypeSymbol WithNullableAnnotation(CodeAnalysis.NullableAnnotation nullableAnnotation)
Symbols\PublicModel\EventSymbol.cs (1)
38CodeAnalysis.NullableAnnotation IEventSymbol.NullableAnnotation => _underlying.TypeWithAnnotations.ToPublicAnnotation();
Symbols\PublicModel\FieldSymbol.cs (1)
51CodeAnalysis.NullableAnnotation IFieldSymbol.NullableAnnotation => _underlying.TypeWithAnnotations.ToPublicAnnotation();
Symbols\PublicModel\FunctionPointerTypeSymbol.cs (2)
14public FunctionPointerTypeSymbol(Symbols.FunctionPointerTypeSymbol underlying, CodeAnalysis.NullableAnnotation nullableAnnotation) 40protected override ITypeSymbol WithNullableAnnotation(CodeAnalysis.NullableAnnotation nullableAnnotation)
Symbols\PublicModel\LocalSymbol.cs (1)
38CodeAnalysis.NullableAnnotation ILocalSymbol.NullableAnnotation => _underlying.TypeWithAnnotations.ToPublicAnnotation();
Symbols\PublicModel\MethodSymbol.cs (4)
91CodeAnalysis.NullableAnnotation IMethodSymbol.ReturnNullableAnnotation 113ImmutableArray<CodeAnalysis.NullableAnnotation> IMethodSymbol.TypeArgumentNullableAnnotations => 185CodeAnalysis.NullableAnnotation IMethodSymbol.ReceiverNullableAnnotation => _underlying.ReceiverNullableAnnotation; 279IMethodSymbol IMethodSymbol.Construct(ImmutableArray<ITypeSymbol> typeArguments, ImmutableArray<CodeAnalysis.NullableAnnotation> typeArgumentNullableAnnotations)
Symbols\PublicModel\NamedTypeSymbol.cs (4)
17public NamedTypeSymbol(CodeAnalysis.NullableAnnotation nullableAnnotation = CodeAnalysis.NullableAnnotation.None) 86ImmutableArray<CodeAnalysis.NullableAnnotation> INamedTypeSymbol.TypeArgumentNullableAnnotations 136INamedTypeSymbol INamedTypeSymbol.Construct(ImmutableArray<ITypeSymbol> typeArguments, ImmutableArray<CodeAnalysis.NullableAnnotation> typeArgumentNullableAnnotations)
Symbols\PublicModel\NonErrorNamedTypeSymbol.cs (2)
15public NonErrorNamedTypeSymbol(Symbols.NamedTypeSymbol underlying, CodeAnalysis.NullableAnnotation nullableAnnotation) 23protected override ITypeSymbol WithNullableAnnotation(CodeAnalysis.NullableAnnotation nullableAnnotation)
Symbols\PublicModel\ParameterSymbol.cs (1)
39CodeAnalysis.NullableAnnotation IParameterSymbol.NullableAnnotation => _underlying.TypeWithAnnotations.ToPublicAnnotation();
Symbols\PublicModel\PointerTypeSymbol.cs (2)
16public PointerTypeSymbol(Symbols.PointerTypeSymbol underlying, CodeAnalysis.NullableAnnotation nullableAnnotation) 23protected override ITypeSymbol WithNullableAnnotation(CodeAnalysis.NullableAnnotation nullableAnnotation)
Symbols\PublicModel\PropertySymbol.cs (1)
44CodeAnalysis.NullableAnnotation IPropertySymbol.NullableAnnotation => _underlying.TypeWithAnnotations.ToPublicAnnotation();
Symbols\PublicModel\Symbol.cs (1)
31protected static ImmutableArray<TypeWithAnnotations> ConstructTypeArguments(ImmutableArray<ITypeSymbol> typeArguments, ImmutableArray<CodeAnalysis.NullableAnnotation> typeArgumentNullableAnnotations)
Symbols\PublicModel\TypeParameterSymbol.cs (8)
16public TypeParameterSymbol(Symbols.TypeParameterSymbol underlying, CodeAnalysis.NullableAnnotation nullableAnnotation) 23protected override ITypeSymbol WithNullableAnnotation(CodeAnalysis.NullableAnnotation nullableAnnotation) 35CodeAnalysis.NullableAnnotation ITypeParameterSymbol.ReferenceTypeConstraintNullableAnnotation => 38false when !_underlying.HasReferenceTypeConstraint => CodeAnalysis.NullableAnnotation.None, 39false => CodeAnalysis.NullableAnnotation.NotAnnotated, 40true => CodeAnalysis.NullableAnnotation.Annotated, 41null => CodeAnalysis.NullableAnnotation.None, 70ImmutableArray<CodeAnalysis.NullableAnnotation> ITypeParameterSymbol.ConstraintNullableAnnotations =>
Symbols\PublicModel\TypeSymbol.cs (7)
14protected TypeSymbol(CodeAnalysis.NullableAnnotation nullableAnnotation) 19protected CodeAnalysis.NullableAnnotation NullableAnnotation { get; } 21protected abstract ITypeSymbol WithNullableAnnotation(CodeAnalysis.NullableAnnotation nullableAnnotation); 25CodeAnalysis.NullableAnnotation ITypeSymbol.NullableAnnotation => NullableAnnotation; 27ITypeSymbol ITypeSymbol.WithNullableAnnotation(CodeAnalysis.NullableAnnotation nullableAnnotation) 69(NullableAnnotation != CodeAnalysis.NullableAnnotation.None && otherType.NullableAnnotation != CodeAnalysis.NullableAnnotation.None)) &&
Symbols\ReducedExtensionMethodSymbol.cs (1)
246internal override CodeAnalysis.NullableAnnotation ReceiverNullableAnnotation =>
Symbols\TypeParameterSymbol.cs (1)
700protected sealed override ITypeSymbol CreateITypeSymbol(CodeAnalysis.NullableAnnotation nullableAnnotation)
Symbols\TypeSymbol.cs (3)
2439internal ITypeSymbol GetITypeSymbol(CodeAnalysis.NullableAnnotation nullableAnnotation) 2449internal CodeAnalysis.NullableAnnotation DefaultNullableAnnotation => NullableAnnotationExtensions.ToPublicAnnotation(this, NullableAnnotation.Oblivious); 2451protected abstract ITypeSymbol CreateITypeSymbol(CodeAnalysis.NullableAnnotation nullableAnnotation);
Microsoft.CodeAnalysis.CSharp.CodeStyle (2)
CSharpAsAndNullCheckDiagnosticAnalyzer.cs (2)
229if (localSymbol.Type.NullableAnnotation == NullableAnnotation.Annotated) 245if (rightType.Type is null or { NullableAnnotation: NullableAnnotation.Annotated })
Microsoft.CodeAnalysis.CSharp.CodeStyle.Fixes (17)
ConvertToRecordHelpers.cs (1)
411property.Type.NullableAnnotation == NullableAnnotation.Annotated
CSharpAsAndNullCheckCodeFixProvider.cs (2)
144var localType = local.Type.WithNullableAnnotation(NullableAnnotation.NotAnnotated); 145var asType = asExpressionTypeInfo.Type.WithNullableAnnotation(NullableAnnotation.NotAnnotated);
CSharpTypeInferenceService.TypeInferrer.cs (3)
1141return CreateResult(SpecialType.System_Object, NullableAnnotation.Annotated); 1166return symbol.WithNullableAnnotation(NullableAnnotation.Annotated); 1620private static ImmutableArray<NullableAnnotation> GetNullableAnnotations(ImmutableArray<ITypeSymbol> elementTypes)
ITypeSymbolExtensions.cs (3)
60NullableAnnotation.None => NullableSyntaxAnnotationEx.Oblivious, 61NullableAnnotation.Annotated => NullableSyntaxAnnotationEx.AnnotatedOrNotAnnotated, 62NullableAnnotation.NotAnnotated => NullableSyntaxAnnotationEx.AnnotatedOrNotAnnotated,
ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (4)
68if (underlyingType.NullableAnnotation == NullableAnnotation.Annotated) 102if (symbol.NullableAnnotation == NullableAnnotation.Annotated) 303if (symbol is { IsValueType: false, NullableAnnotation: NullableAnnotation.Annotated }) 358if (symbol is { IsValueType: false, NullableAnnotation: NullableAnnotation.Annotated })
MethodGenerator.cs (1)
223.Where(tp => tp.NullableAnnotation == NullableAnnotation.Annotated)
NullableHelpers.cs (1)
70if (foreachInfo.ElementType.NullableAnnotation != NullableAnnotation.NotAnnotated)
UseExplicitTypeCodeFixProvider.cs (2)
153if (typeSymbol.NullableAnnotation == NullableAnnotation.Annotated) 161return typeSymbol.WithNullableAnnotation(NullableAnnotation.NotAnnotated);
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (26)
CodeGen\CodeGenTupleTest.cs (26)
6646tuple2 = comp.CreateTupleTypeSymbol(underlyingType, default(ImmutableArray<string>), default(ImmutableArray<Location>), default(ImmutableArray<CodeAnalysis.NullableAnnotation>)); 6688tuple2 = comp.CreateTupleTypeSymbol(underlyingType, default(ImmutableArray<string>), default(ImmutableArray<Location>), default(ImmutableArray<CodeAnalysis.NullableAnnotation>)); 6726tuple2 = comp.CreateTupleTypeSymbol(elementTypes, default(ImmutableArray<string>), default(ImmutableArray<Location>), default(ImmutableArray<CodeAnalysis.NullableAnnotation>)); 6767tuple2 = comp.CreateTupleTypeSymbol(elementTypes, default(ImmutableArray<string>), default(ImmutableArray<Location>), default(ImmutableArray<CodeAnalysis.NullableAnnotation>)); 6797var e = Assert.Throws<ArgumentException>(() => comp.CreateTupleTypeSymbol(underlyingType, elementNullableAnnotations: ImmutableArray<CodeAnalysis.NullableAnnotation>.Empty)); 6802elementNullableAnnotations: ImmutableArray.Create(CodeAnalysis.NullableAnnotation.None, CodeAnalysis.NullableAnnotation.None)); 6808elementNullableAnnotations: ImmutableArray.Create(CodeAnalysis.NullableAnnotation.NotAnnotated, CodeAnalysis.NullableAnnotation.Annotated)); 6815elementNullableAnnotations: ImmutableArray.Create(CodeAnalysis.NullableAnnotation.Annotated, CodeAnalysis.NullableAnnotation.None)); 6837var e = Assert.Throws<ArgumentException>(() => comp.CreateTupleTypeSymbol(underlyingType, elementNullableAnnotations: CreateAnnotations(CodeAnalysis.NullableAnnotation.NotAnnotated, 8))); 6840tuple2 = comp.CreateTupleTypeSymbol(underlyingType, elementNullableAnnotations: CreateAnnotations(CodeAnalysis.NullableAnnotation.None, 9)); 6844tuple2 = comp.CreateTupleTypeSymbol(underlyingType, elementNullableAnnotations: CreateAnnotations(CodeAnalysis.NullableAnnotation.Annotated, 9)); 6866var e = Assert.Throws<ArgumentException>(() => comp.CreateTupleTypeSymbol(elementTypes, elementNullableAnnotations: ImmutableArray<CodeAnalysis.NullableAnnotation>.Empty)); 6871elementNullableAnnotations: ImmutableArray.Create(CodeAnalysis.NullableAnnotation.None, CodeAnalysis.NullableAnnotation.None)); 6877elementNullableAnnotations: ImmutableArray.Create(CodeAnalysis.NullableAnnotation.NotAnnotated, CodeAnalysis.NullableAnnotation.Annotated)); 6884elementNullableAnnotations: ImmutableArray.Create(CodeAnalysis.NullableAnnotation.Annotated, CodeAnalysis.NullableAnnotation.None)); 6906var e = Assert.Throws<ArgumentException>(() => comp.CreateTupleTypeSymbol(elementTypes, elementNullableAnnotations: CreateAnnotations(CodeAnalysis.NullableAnnotation.NotAnnotated, 8))); 6909tuple2 = comp.CreateTupleTypeSymbol(elementTypes, elementNullableAnnotations: CreateAnnotations(CodeAnalysis.NullableAnnotation.None, 9)); 6913tuple2 = comp.CreateTupleTypeSymbol(elementTypes, elementNullableAnnotations: CreateAnnotations(CodeAnalysis.NullableAnnotation.Annotated, 9)); 6919private static ImmutableArray<CodeAnalysis.NullableAnnotation> CreateAnnotations(CodeAnalysis.NullableAnnotation annotation, int n) =>
Microsoft.CodeAnalysis.CSharp.Features (13)
Completion\CompletionProviders\EnumAndCompletionListTagCompletionProvider.cs (1)
347return type.WithNullableAnnotation(NullableAnnotation.NotAnnotated) as INamedTypeSymbol;
Completion\CompletionProviders\ExplicitInterfaceMemberCompletionProvider.CompletionSymbolDisplay.cs (1)
122if (symbol.NullableAnnotation == NullableAnnotation.Annotated)
Completion\CompletionProviders\ObjectCreationCompletionProvider.cs (1)
95symbol = typeSymbol.WithNullableAnnotation(NullableAnnotation.NotAnnotated);
ConvertToRecordHelpers.cs (1)
411property.Type.NullableAnnotation == NullableAnnotation.Annotated
CSharpAsAndNullCheckCodeFixProvider.cs (2)
144var localType = local.Type.WithNullableAnnotation(NullableAnnotation.NotAnnotated); 145var asType = asExpressionTypeInfo.Type.WithNullableAnnotation(NullableAnnotation.NotAnnotated);
CSharpAsAndNullCheckDiagnosticAnalyzer.cs (2)
229if (localSymbol.Type.NullableAnnotation == NullableAnnotation.Annotated) 245if (rightType.Type is null or { NullableAnnotation: NullableAnnotation.Annotated })
ExtractMethod\CSharpMethodExtractor.Analyzer.cs (1)
144return base.GetSymbolType(semanticModel, symbol).WithNullableAnnotation(NullableAnnotation.NotAnnotated);
ExtractMethod\CSharpMethodExtractor.CSharpCodeGenerator.cs (2)
753if (methodSymbolResult.Data.ReturnType.NullableAnnotation != NullableAnnotation.Annotated) 828var newType = methodSymbolResult.Data.ReturnType.WithNullableAnnotation(NullableAnnotation.NotAnnotated);
UseExplicitTypeCodeFixProvider.cs (2)
153if (typeSymbol.NullableAnnotation == NullableAnnotation.Annotated) 161return typeSymbol.WithNullableAnnotation(NullableAnnotation.NotAnnotated);
Microsoft.CodeAnalysis.CSharp.IOperation.UnitTests (1)
IOperation\IOperationTests_IConversionExpression.cs (1)
5215Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, iopTree.Value.Type.NullableAnnotation);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (62)
Semantics\DelegateTypeTests.cs (1)
11477protected override ITypeSymbol WithNullableAnnotation(CodeAnalysis.NullableAnnotation nullableAnnotation) => this;
Semantics\LambdaDiscardParametersTests.cs (5)
70VerifyDiscardParameterSymbol(underscores[0], "System.Int16", CodeAnalysis.NullableAnnotation.NotAnnotated, model); 71VerifyDiscardParameterSymbol(underscores[1], "System.String", CodeAnalysis.NullableAnnotation.None, model); 110private static void VerifyDiscardParameterSymbol(ParameterSyntax underscore, string expectedType, CodeAnalysis.NullableAnnotation expectedAnnotation, SemanticModel model) 419VerifyDiscardParameterSymbol(underscoreParameters[0], "System.Int32", CodeAnalysis.NullableAnnotation.NotAnnotated, model); 420VerifyDiscardParameterSymbol(underscoreParameters[1], "System.Int16", CodeAnalysis.NullableAnnotation.NotAnnotated, model);
Semantics\NativeIntegerTests.cs (4)
1626Assert.Equal(CodeAnalysis.NullableAnnotation.NotAnnotated, underlyingType.NullableAnnotation); 1627Assert.Same(underlyingType, ((INamedTypeSymbol)type.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.None)).NativeIntegerUnderlyingType); 1628Assert.Same(underlyingType, ((INamedTypeSymbol)type.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.Annotated)).NativeIntegerUnderlyingType); 1629Assert.Same(underlyingType, ((INamedTypeSymbol)type.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.NotAnnotated)).NativeIntegerUnderlyingType);
Semantics\NullableContextTests.cs (12)
2079VerifySpeculativeSemanticModel(source, null, "string", Microsoft.CodeAnalysis.NullableAnnotation.None); 2092VerifySpeculativeSemanticModel(source, null, "string", Microsoft.CodeAnalysis.NullableAnnotation.NotAnnotated); 2106VerifySpeculativeSemanticModel(source, null, "string", Microsoft.CodeAnalysis.NullableAnnotation.None); 2116VerifySpeculativeSemanticModel(source, null, "string", Microsoft.CodeAnalysis.NullableAnnotation.NotAnnotated); 2125VerifySpeculativeSemanticModel(source, null, "string", Microsoft.CodeAnalysis.NullableAnnotation.None); 2135VerifySpeculativeSemanticModel(source, null, "string", Microsoft.CodeAnalysis.NullableAnnotation.NotAnnotated); 2156VerifySpeculativeSemanticModel(source, null, "string", Microsoft.CodeAnalysis.NullableAnnotation.None); 2173VerifySpeculativeSemanticModel(source, null, "string", Microsoft.CodeAnalysis.NullableAnnotation.NotAnnotated); 2214Microsoft.CodeAnalysis.NullableAnnotation expectedAnnotation = IsNullableEnabled(expectedWarningsState, isNullableEnabledForProject) ? 2215Microsoft.CodeAnalysis.NullableAnnotation.NotAnnotated : 2216Microsoft.CodeAnalysis.NullableAnnotation.None; 2221private static void VerifySpeculativeSemanticModel(string source, NullableContextOptions? projectContext, string typeName, Microsoft.CodeAnalysis.NullableAnnotation expectedAnnotation)
Semantics\NullableReferenceTypesTests.cs (40)
5161Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, local.NullableAnnotation); 5162Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, local.Type.NullableAnnotation); 56570Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, model.GetTypeInfo(declaration.Type).Nullability.Annotation); 56572Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, model.GetTypeInfo(declaration.Type).ConvertedNullability.Annotation); 60399Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, typeInfo.Nullability.Annotation); 67843Assert.Equal(CodeAnalysis.NullableAnnotation.NotAnnotated, symbol.GetPublicSymbol().NullableAnnotation); 67844Assert.Equal(CodeAnalysis.NullableAnnotation.NotAnnotated, symbol.GetPublicSymbol().Type.NullableAnnotation); 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); 141092Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, local.NullableAnnotation); 141093Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, local.Type.NullableAnnotation); 141133Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, local.NullableAnnotation); 141134Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, local.Type.NullableAnnotation); 141173Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, local.NullableAnnotation); 141174Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, local.Type.NullableAnnotation); 141211Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, local.NullableAnnotation); 141212Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, local.Type.NullableAnnotation); 141249Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, local.NullableAnnotation); 141250Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, local.Type.NullableAnnotation); 141353Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, local.NullableAnnotation); 141354Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, local.Type.NullableAnnotation); 141392Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, local.NullableAnnotation); 141393Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, local.Type.NullableAnnotation); 142185Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, typeInfo.Nullability.Annotation); 150522(expectedAnnotation == NullableAnnotation.Annotated) ? CodeAnalysis.NullableAnnotation.Annotated : CodeAnalysis.NullableAnnotation.NotAnnotated, 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); 154412Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, local.Type.NullableAnnotation); 156843Assert.Equal(CodeAnalysis.NullableAnnotation.NotAnnotated, typeInfo.Nullability.Annotation); 156889Assert.Equal(CodeAnalysis.NullableAnnotation.NotAnnotated, typeInfo.Nullability.Annotation);
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (493)
Compilation\CompilationAPITests.cs (59)
2466Assert.Equal(CodeAnalysis.NullableAnnotation.None, arrayType.ElementNullableAnnotation); 2467Assert.Equal(CodeAnalysis.NullableAnnotation.None, arrayType.ElementType.NullableAnnotation); 2474Assert.Equal(CodeAnalysis.NullableAnnotation.None, arrayType.ElementNullableAnnotation); 2475Assert.Equal(CodeAnalysis.NullableAnnotation.None, arrayType.ElementType.NullableAnnotation); 2482Assert.Equal(CodeAnalysis.NullableAnnotation.None, arrayType.ElementNullableAnnotation); 2483Assert.Equal(CodeAnalysis.NullableAnnotation.None, arrayType.ElementType.NullableAnnotation); 2493Assert.Equal(CodeAnalysis.NullableAnnotation.None, comp.CreateArrayTypeSymbol(elementType).ElementNullableAnnotation); 2494Assert.Equal(CodeAnalysis.NullableAnnotation.None, comp.CreateArrayTypeSymbol(elementType).ElementType.NullableAnnotation); 2495Assert.Equal(CodeAnalysis.NullableAnnotation.None, comp.CreateArrayTypeSymbol(elementType, elementNullableAnnotation: CodeAnalysis.NullableAnnotation.None).ElementNullableAnnotation); 2496Assert.Equal(CodeAnalysis.NullableAnnotation.None, comp.CreateArrayTypeSymbol(elementType, elementNullableAnnotation: CodeAnalysis.NullableAnnotation.None).ElementType.NullableAnnotation); 2497Assert.Equal(CodeAnalysis.NullableAnnotation.None, comp.CreateArrayTypeSymbol(elementType, elementNullableAnnotation: CodeAnalysis.NullableAnnotation.None).ElementNullableAnnotation); 2498Assert.Equal(CodeAnalysis.NullableAnnotation.None, comp.CreateArrayTypeSymbol(elementType, elementNullableAnnotation: CodeAnalysis.NullableAnnotation.None).ElementType.NullableAnnotation); 2499Assert.Equal(CodeAnalysis.NullableAnnotation.NotAnnotated, comp.CreateArrayTypeSymbol(elementType, elementNullableAnnotation: CodeAnalysis.NullableAnnotation.NotAnnotated).ElementNullableAnnotation); 2500Assert.Equal(CodeAnalysis.NullableAnnotation.NotAnnotated, comp.CreateArrayTypeSymbol(elementType, elementNullableAnnotation: CodeAnalysis.NullableAnnotation.NotAnnotated).ElementType.NullableAnnotation); 2501Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, comp.CreateArrayTypeSymbol(elementType, elementNullableAnnotation: CodeAnalysis.NullableAnnotation.Annotated).ElementNullableAnnotation); 2502Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, comp.CreateArrayTypeSymbol(elementType, elementNullableAnnotation: CodeAnalysis.NullableAnnotation.Annotated).ElementType.NullableAnnotation); 2689var type = comp.CreateAnonymousTypeSymbol(ImmutableArray<ITypeSymbol>.Empty, ImmutableArray<string>.Empty, memberNullableAnnotations: ImmutableArray<CodeAnalysis.NullableAnnotation>.Empty); 2691AssertEx.Equal(Array.Empty<CodeAnalysis.NullableAnnotation>(), GetAnonymousTypeNullableAnnotations(type)); 2704AssertEx.Equal(new[] { CodeAnalysis.NullableAnnotation.None, CodeAnalysis.NullableAnnotation.None }, GetAnonymousTypeNullableAnnotations(type)); 2706Assert.Throws<ArgumentException>(() => comp.CreateAnonymousTypeSymbol(memberTypes, memberNames, memberNullableAnnotations: ImmutableArray.Create(CodeAnalysis.NullableAnnotation.NotAnnotated))); 2708type = comp.CreateAnonymousTypeSymbol(memberTypes, memberNames, memberNullableAnnotations: ImmutableArray.Create(CodeAnalysis.NullableAnnotation.NotAnnotated, CodeAnalysis.NullableAnnotation.Annotated)); 2710AssertEx.Equal(new[] { CodeAnalysis.NullableAnnotation.NotAnnotated, CodeAnalysis.NullableAnnotation.Annotated }, GetAnonymousTypeNullableAnnotations(type)); 2713private static ImmutableArray<CodeAnalysis.NullableAnnotation> GetAnonymousTypeNullableAnnotations(ITypeSymbol type) 2717var result = p.Type.NullableAnnotation; 3035Assert.Throws<ArgumentException>(() => genericType.Construct(default(ImmutableArray<ITypeSymbol>), default(ImmutableArray<CodeAnalysis.NullableAnnotation>))); 3040AssertEx.Equal(new[] { CodeAnalysis.NullableAnnotation.None, CodeAnalysis.NullableAnnotation.None }, type.TypeArgumentNullableAnnotations); 3041AssertEx.Equal(new[] { CodeAnalysis.NullableAnnotation.None, CodeAnalysis.NullableAnnotation.None }, type.TypeArgumentNullableAnnotations()); 3043Assert.Throws<ArgumentException>(() => genericType.Construct(typeArguments, ImmutableArray<CodeAnalysis.NullableAnnotation>.Empty)); 3046type = genericType.Construct(typeArguments, ImmutableArray.Create(CodeAnalysis.NullableAnnotation.Annotated, CodeAnalysis.NullableAnnotation.NotAnnotated)); 3048AssertEx.Equal(new[] { CodeAnalysis.NullableAnnotation.Annotated, CodeAnalysis.NullableAnnotation.NotAnnotated }, type.TypeArgumentNullableAnnotations); 3049AssertEx.Equal(new[] { CodeAnalysis.NullableAnnotation.Annotated, CodeAnalysis.NullableAnnotation.NotAnnotated }, type.TypeArgumentNullableAnnotations()); 3070Assert.Throws<ArgumentException>(() => genericMethod.Construct(default(ImmutableArray<ITypeSymbol>), default(ImmutableArray<CodeAnalysis.NullableAnnotation>))); 3075AssertEx.Equal(new[] { CodeAnalysis.NullableAnnotation.None, CodeAnalysis.NullableAnnotation.None }, type.TypeArgumentNullableAnnotations); 3076AssertEx.Equal(new[] { CodeAnalysis.NullableAnnotation.None, CodeAnalysis.NullableAnnotation.None }, type.TypeArgumentNullableAnnotations()); 3078Assert.Throws<ArgumentException>(() => genericMethod.Construct(typeArguments, ImmutableArray<CodeAnalysis.NullableAnnotation>.Empty)); 3081type = genericMethod.Construct(typeArguments, ImmutableArray.Create(CodeAnalysis.NullableAnnotation.Annotated, CodeAnalysis.NullableAnnotation.NotAnnotated)); 3083AssertEx.Equal(new[] { CodeAnalysis.NullableAnnotation.Annotated, CodeAnalysis.NullableAnnotation.NotAnnotated }, type.TypeArgumentNullableAnnotations); 3084AssertEx.Equal(new[] { CodeAnalysis.NullableAnnotation.Annotated, CodeAnalysis.NullableAnnotation.NotAnnotated }, type.TypeArgumentNullableAnnotations());
Compilation\SemanticModelAPITests.cs (6)
4493Assert.Equal(CodeAnalysis.NullableAnnotation.None, typeInfo.Nullability.Annotation); 4494Assert.Equal(CodeAnalysis.NullableAnnotation.None, typeInfo.ConvertedNullability.Annotation); 4557Assert.Equal(CodeAnalysis.NullableAnnotation.None, typeInfo.Nullability.Annotation); 4558Assert.Equal(CodeAnalysis.NullableAnnotation.None, typeInfo.ConvertedNullability.Annotation); 4571Assert.Equal(CodeAnalysis.NullableAnnotation.None, typeInfo.Nullability.Annotation); 4572Assert.Equal(CodeAnalysis.NullableAnnotation.None, typeInfo.ConvertedNullability.Annotation);
Compilation\TypeInfoTests.cs (27)
22var notNullable = new NullabilityInfo(CodeAnalysis.NullableAnnotation.NotAnnotated, CodeAnalysis.NullableFlowState.NotNull); 23var nullable = new NullabilityInfo(CodeAnalysis.NullableAnnotation.Annotated, CodeAnalysis.NullableFlowState.MaybeNull); 27EqualityTesting.AssertEqual(new TypeInfo(obj.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.Annotated), int32, nullable, notNullable), 28new TypeInfo(obj.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.Annotated), int32, nullable, notNullable)); 30EqualityTesting.AssertNotEqual(new TypeInfo(obj.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.Annotated), obj.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.Annotated), nullable, nullable), 31new TypeInfo(obj.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.Annotated), int32.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.Annotated), nullable, nullable)); 33EqualityTesting.AssertNotEqual(new TypeInfo(int32.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.Annotated), obj.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.Annotated), nullable, nullable), 34new TypeInfo(obj.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.Annotated), obj.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.Annotated), nullable, nullable)); 36EqualityTesting.AssertNotEqual(new TypeInfo(obj.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.Annotated), int32.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.Annotated), nullable, nullable), 37new TypeInfo(obj.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.NotAnnotated), int32.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.Annotated), notNullable, nullable)); 39EqualityTesting.AssertNotEqual(new TypeInfo(obj.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.Annotated), int32.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.Annotated), nullable, nullable), 40new TypeInfo(obj.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.Annotated), int32, nullable, notNullable)); 42EqualityTesting.AssertEqual(new TypeInfo(int32.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.None), int32.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.None), default, default), 43new TypeInfo(int32.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.None), int32.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.None), default, default)); 47EqualityTesting.AssertEqual(new TypeInfo(intEnum1.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.None), int32.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.None), default, default), 48new TypeInfo(intEnum2.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.None), int32.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.None), default, default));
Symbols\FunctionPointerTypeSymbolTests.cs (3)
1574c.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.None), 1576ImmutableArray.Create(c.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.NotAnnotated), c.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.Annotated)),
Symbols\Source\NullablePublicAPITests.cs (390)
17using PublicNullableAnnotation = Microsoft.CodeAnalysis.NullableAnnotation; 56Assert.Equal(PublicNullableAnnotation.Annotated, arrayTypes[0].ElementNullableAnnotation); 57Assert.Equal(PublicNullableAnnotation.Annotated, arrayTypes[0].ElementType.NullableAnnotation); 58Assert.Equal(PublicNullableAnnotation.NotAnnotated, arrayTypes[1].ElementNullableAnnotation); 59Assert.Equal(PublicNullableAnnotation.NotAnnotated, arrayTypes[1].ElementType.NullableAnnotation); 90Assert.Equal(PublicNullableAnnotation.NotAnnotated, expressionTypes[0].TypeArgumentNullableAnnotations.Single()); 91Assert.Equal(PublicNullableAnnotation.NotAnnotated, expressionTypes[0].TypeArgumentNullableAnnotations().Single()); 92Assert.Equal(PublicNullableAnnotation.Annotated, expressionTypes[1].TypeArgumentNullableAnnotations.Single()); 93Assert.Equal(PublicNullableAnnotation.Annotated, expressionTypes[1].TypeArgumentNullableAnnotations().Single()); 94Assert.Equal(PublicNullableAnnotation.NotAnnotated, expressionTypes[2].TypeArgumentNullableAnnotations.Single()); 95Assert.Equal(PublicNullableAnnotation.NotAnnotated, expressionTypes[2].TypeArgumentNullableAnnotations().Single()); 149var result = member.Type.NullableAnnotation; 154PublicNullableAnnotation.NotAnnotated, 155PublicNullableAnnotation.Annotated, 156PublicNullableAnnotation.NotAnnotated, 157PublicNullableAnnotation.Annotated, 158PublicNullableAnnotation.None, 159PublicNullableAnnotation.Annotated, 160PublicNullableAnnotation.NotAnnotated, 161PublicNullableAnnotation.Annotated); 216var result = member.Type.NullableAnnotation; 221PublicNullableAnnotation.NotAnnotated, 222PublicNullableAnnotation.Annotated, 223PublicNullableAnnotation.NotAnnotated, 224PublicNullableAnnotation.Annotated, 225PublicNullableAnnotation.None, 226PublicNullableAnnotation.Annotated, 227PublicNullableAnnotation.NotAnnotated, 228PublicNullableAnnotation.Annotated); 290var result = member.ReturnType.NullableAnnotation; 295PublicNullableAnnotation.NotAnnotated, 296PublicNullableAnnotation.Annotated, 297PublicNullableAnnotation.None, 298PublicNullableAnnotation.Annotated, 299PublicNullableAnnotation.NotAnnotated, 300PublicNullableAnnotation.Annotated, 301PublicNullableAnnotation.NotAnnotated, 302PublicNullableAnnotation.Annotated); 379var result = member.Type.NullableAnnotation; 384PublicNullableAnnotation.NotAnnotated, 385PublicNullableAnnotation.None, 386PublicNullableAnnotation.Annotated, 387PublicNullableAnnotation.Annotated, 388PublicNullableAnnotation.NotAnnotated, 389PublicNullableAnnotation.NotAnnotated, 390PublicNullableAnnotation.Annotated, 391PublicNullableAnnotation.Annotated); 480PublicNullableAnnotation.None, 481PublicNullableAnnotation.NotAnnotated, 482PublicNullableAnnotation.None, 483PublicNullableAnnotation.NotAnnotated); 488PublicNullableAnnotation.NotAnnotated, 489PublicNullableAnnotation.Annotated, 490PublicNullableAnnotation.NotAnnotated, 491PublicNullableAnnotation.Annotated, 492PublicNullableAnnotation.None, 493PublicNullableAnnotation.Annotated, 494PublicNullableAnnotation.NotAnnotated, 495PublicNullableAnnotation.Annotated); 497static void assertNullability(IMethodSymbol[] methods, params PublicNullableAnnotation[] expectedAnnotations) 501var result = m.ReceiverType.NullableAnnotation; 574Assert.Equal(PublicNullableAnnotation.None, method.ReceiverNullableAnnotation); 575Assert.Equal(PublicNullableAnnotation.None, method.ReceiverType.NullableAnnotation); 576var result = method.ReturnType.NullableAnnotation; 581PublicNullableAnnotation.NotAnnotated, 582PublicNullableAnnotation.Annotated, 583PublicNullableAnnotation.NotAnnotated, 584PublicNullableAnnotation.Annotated, 585PublicNullableAnnotation.None, 586PublicNullableAnnotation.Annotated, 587PublicNullableAnnotation.NotAnnotated, 588PublicNullableAnnotation.Annotated); 639var result = member.Type.NullableAnnotation; 644PublicNullableAnnotation.NotAnnotated, 645PublicNullableAnnotation.Annotated, 646PublicNullableAnnotation.None, 647PublicNullableAnnotation.Annotated); 695var result = array.ElementType.NullableAnnotation; 700PublicNullableAnnotation.NotAnnotated, 701PublicNullableAnnotation.Annotated, 702PublicNullableAnnotation.NotAnnotated, 703PublicNullableAnnotation.Annotated, 704PublicNullableAnnotation.None, 705PublicNullableAnnotation.Annotated, 706PublicNullableAnnotation.NotAnnotated, 707PublicNullableAnnotation.Annotated); 758var result = method.ReturnType.NullableAnnotation; 763PublicNullableAnnotation.NotAnnotated, 764PublicNullableAnnotation.NotAnnotated, 765PublicNullableAnnotation.Annotated, 766PublicNullableAnnotation.NotAnnotated, 767PublicNullableAnnotation.Annotated, 768PublicNullableAnnotation.None, 769PublicNullableAnnotation.None, 770PublicNullableAnnotation.Annotated, 771PublicNullableAnnotation.NotAnnotated, 772PublicNullableAnnotation.Annotated); 824var result = typeParameterSymbol.ConstraintTypes.Single().NullableAnnotation; 829PublicNullableAnnotation.NotAnnotated, 830PublicNullableAnnotation.Annotated, 831PublicNullableAnnotation.NotAnnotated, 832PublicNullableAnnotation.Annotated, 833PublicNullableAnnotation.None, 834PublicNullableAnnotation.Annotated, 835PublicNullableAnnotation.NotAnnotated, 836PublicNullableAnnotation.Annotated); 890var result = ((INamedTypeSymbol)method.ReturnType).TypeArguments.Single().NullableAnnotation; 896PublicNullableAnnotation.NotAnnotated, 897PublicNullableAnnotation.NotAnnotated, 898PublicNullableAnnotation.Annotated, 899PublicNullableAnnotation.NotAnnotated, 900PublicNullableAnnotation.Annotated, 901PublicNullableAnnotation.None, 902PublicNullableAnnotation.None, 903PublicNullableAnnotation.Annotated, 904PublicNullableAnnotation.NotAnnotated, 905PublicNullableAnnotation.Annotated); 947var result = method.TypeArguments.Single().NullableAnnotation; 953PublicNullableAnnotation.NotAnnotated, 954PublicNullableAnnotation.NotAnnotated, 955PublicNullableAnnotation.Annotated, 956PublicNullableAnnotation.NotAnnotated, 957PublicNullableAnnotation.Annotated, 958PublicNullableAnnotation.None, 959PublicNullableAnnotation.None, 960PublicNullableAnnotation.Annotated, 961PublicNullableAnnotation.NotAnnotated, 962PublicNullableAnnotation.Annotated 1004var result = localSymbol.Type.NullableAnnotation; 1011PublicNullableAnnotation.NotAnnotated, 1012PublicNullableAnnotation.NotAnnotated, 1013PublicNullableAnnotation.Annotated, 1014PublicNullableAnnotation.NotAnnotated, 1015PublicNullableAnnotation.Annotated, 1016PublicNullableAnnotation.None, 1017PublicNullableAnnotation.None, 1018PublicNullableAnnotation.Annotated, 1019PublicNullableAnnotation.NotAnnotated, 1020PublicNullableAnnotation.Annotated 1029Func<T, PublicNullableAnnotation> nullabilityFunc, 1031params PublicNullableAnnotation[] expectedNullabilities) 1099Assert.Equal(PublicNullableAnnotation.NotAnnotated, typeInfo.Nullability.Annotation); 1214var nullable = new NullabilityInfo(PublicNullableAnnotation.Annotated, PublicNullableFlowState.MaybeNull); 1215var notNullable = new NullabilityInfo(PublicNullableAnnotation.NotAnnotated, PublicNullableFlowState.NotNull); 1263var notNull = new NullabilityInfo(PublicNullableAnnotation.NotAnnotated, PublicNullableFlowState.NotNull); 1264var @null = new NullabilityInfo(PublicNullableAnnotation.Annotated, PublicNullableFlowState.MaybeNull); 1629Assert.Equal(PublicNullableAnnotation.Annotated, type.Nullability.Annotation); 1675Assert.Equal(PublicNullableAnnotation.None, type.Nullability.Annotation); 1718Assert.Equal(PublicNullableAnnotation.None, type.Nullability.Annotation); 1796Assert.Equal(PublicNullableAnnotation.Annotated, info.Nullability.Annotation); 1855verifySymbolInfo((IMethodSymbol)symbolInfo.Symbol, PublicNullableAnnotation.Annotated); 1857verifySymbolInfo((IMethodSymbol)symbolInfo.Symbol, PublicNullableAnnotation.NotAnnotated); 1859static void verifySymbolInfo(IMethodSymbol methodSymbol, PublicNullableAnnotation expectedAnnotation) 1898verifySymbolInfo((IMethodSymbol)symbolInfo.Symbol, PublicNullableAnnotation.Annotated); 1900verifySymbolInfo((IMethodSymbol)symbolInfo.Symbol, PublicNullableAnnotation.NotAnnotated); 1902static void verifySymbolInfo(IMethodSymbol methodSymbol, PublicNullableAnnotation expectedAnnotation) 1950Assert.Equal(PublicNullableAnnotation.Annotated, symbol.NullableAnnotation); 1951Assert.Equal(PublicNullableAnnotation.Annotated, symbol.Type.NullableAnnotation); 1956Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, typeInfo.Nullability.Annotation); 1957Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, typeInfo.ConvertedNullability.Annotation); 1989assertAnnotation(declarations[0], PublicNullableAnnotation.NotAnnotated); 1990assertAnnotation(declarations[1], PublicNullableAnnotation.Annotated); 1991assertAnnotation(declarations[2], PublicNullableAnnotation.Annotated); 1992assertAnnotation(declarations[3], PublicNullableAnnotation.NotAnnotated); 1994void assertAnnotation(VariableDeclaratorSyntax variable, PublicNullableAnnotation expectedAnnotation) 2050assertAnnotation(declarations[0], PublicNullableAnnotation.Annotated, PublicNullableAnnotation.Annotated); 2051assertAnnotation(declarations[1], PublicNullableAnnotation.Annotated, PublicNullableAnnotation.Annotated); 2052assertAnnotation(declarations[2], PublicNullableAnnotation.Annotated, PublicNullableAnnotation.Annotated); 2053assertAnnotation(declarations[4], PublicNullableAnnotation.Annotated, PublicNullableAnnotation.Annotated); 2055void assertAnnotation(AssignmentExpressionSyntax variable, PublicNullableAnnotation expectedAnnotation1, PublicNullableAnnotation expectedAnnotation2) 2093assertAnnotation(declarations[0], PublicNullableAnnotation.NotAnnotated, PublicNullableAnnotation.Annotated); 2094assertAnnotation(declarations[1], PublicNullableAnnotation.Annotated, PublicNullableAnnotation.Annotated); 2095assertAnnotation(declarations[2], PublicNullableAnnotation.Annotated, PublicNullableAnnotation.Annotated); 2096assertAnnotation(declarations[4], PublicNullableAnnotation.Annotated, PublicNullableAnnotation.NotAnnotated); 2098void assertAnnotation(AssignmentExpressionSyntax variable, PublicNullableAnnotation expectedAnnotation1, PublicNullableAnnotation expectedAnnotation2) 2140Assert.Equal(PublicNullableAnnotation.Annotated, ((ILocalSymbol)specModel.GetDeclaredSymbol(newDeclarator)).NullableAnnotation); 2141Assert.Equal(PublicNullableAnnotation.Annotated, ((ILocalSymbol)specModel.GetDeclaredSymbol(newDeclarator)).Type.NullableAnnotation); 2144Assert.Equal(PublicNullableAnnotation.Annotated, ((ILocalSymbol)specModel.GetDeclaredSymbol(newDeclarator)).NullableAnnotation); 2145Assert.Equal(PublicNullableAnnotation.Annotated, ((ILocalSymbol)specModel.GetDeclaredSymbol(newDeclarator)).Type.NullableAnnotation); 2179assertAnnotation(declarations[0], PublicNullableAnnotation.Annotated); 2180assertAnnotation(declarations[1], PublicNullableAnnotation.Annotated); 2181assertAnnotation(declarations[2], PublicNullableAnnotation.Annotated); 2182assertAnnotation(declarations[3], PublicNullableAnnotation.Annotated); 2183assertAnnotation(declarations[4], PublicNullableAnnotation.Annotated); 2184assertAnnotation(declarations[5], PublicNullableAnnotation.Annotated); 2186void assertAnnotation(VariableDeclaratorSyntax variable, PublicNullableAnnotation expectedAnnotation) 2221Assert.Equal(PublicNullableAnnotation.Annotated, symbol.NullableAnnotation); 2222Assert.Equal(PublicNullableAnnotation.Annotated, symbol.Type.NullableAnnotation); 2251assertAnnotation(declarations[0], PublicNullableAnnotation.Annotated); 2252assertAnnotation(declarations[1], PublicNullableAnnotation.Annotated); 2253assertAnnotation(declarations[2], PublicNullableAnnotation.Annotated); 2254assertAnnotation(declarations[3], PublicNullableAnnotation.Annotated); 2256void assertAnnotation(VariableDeclaratorSyntax variable, PublicNullableAnnotation expectedAnnotation) 2285assertAnnotation(declarations[0], PublicNullableAnnotation.Annotated); 2286assertAnnotation(declarations[1], PublicNullableAnnotation.Annotated); 2288void assertAnnotation(SingleVariableDesignationSyntax variable, PublicNullableAnnotation expectedAnnotation) 2297Assert.Equal(PublicNullableAnnotation.Annotated, typeInfo.Nullability.Annotation); 2329assertAnnotation(declarations[0], PublicNullableAnnotation.Annotated); 2330assertAnnotation(declarations[1], PublicNullableAnnotation.Annotated); 2331assertAnnotation(declarations[2], PublicNullableAnnotation.Annotated); 2332assertAnnotation(declarations[3], PublicNullableAnnotation.Annotated); 2334void assertAnnotation(SingleVariableDesignationSyntax variable, PublicNullableAnnotation expectedAnnotation) 2371assertAnnotation(declarations[0], PublicNullableAnnotation.NotAnnotated); 2372assertAnnotation(declarations[1], PublicNullableAnnotation.Annotated); 2373assertAnnotation(declarations[2], PublicNullableAnnotation.Annotated); 2374assertAnnotation(declarations[3], PublicNullableAnnotation.Annotated); 2376void assertAnnotation(SingleVariableDesignationSyntax variable, PublicNullableAnnotation expectedAnnotation) 2416assertAnnotation(declarations[1], PublicNullableAnnotation.Annotated); 2417assertAnnotation(declarations[3], PublicNullableAnnotation.Annotated); 2419void assertAnnotation(VariableDeclaratorSyntax variable, PublicNullableAnnotation expectedAnnotation) 2464Assert.Equal(PublicNullableAnnotation.Annotated, symbol.NullableAnnotation); 2465Assert.Equal(PublicNullableAnnotation.Annotated, symbol.Type.NullableAnnotation); 2468Assert.Equal(PublicNullableAnnotation.Annotated, typeInfo.Nullability.Annotation); 2469Assert.Equal(PublicNullableAnnotation.Annotated, typeInfo.ConvertedNullability.Annotation); 2470Assert.Equal(PublicNullableAnnotation.Annotated, typeInfo.Type.NullableAnnotation); 2471Assert.Equal(PublicNullableAnnotation.Annotated, typeInfo.ConvertedType.NullableAnnotation); 2504assertAnnotation(declarations[0], PublicNullableAnnotation.Annotated); 2505assertAnnotation(declarations[1], PublicNullableAnnotation.NotAnnotated); 2506assertAnnotation(declarations[2], PublicNullableAnnotation.NotAnnotated); 2507assertAnnotation(declarations[3], PublicNullableAnnotation.Annotated); 2509void assertAnnotation(ForEachStatementSyntax variable, PublicNullableAnnotation expectedAnnotation) 2549assertAnnotation(declarations[0], PublicNullableAnnotation.Annotated); 2550assertAnnotation(declarations[1], PublicNullableAnnotation.Annotated); 2551assertAnnotation(declarations[2], PublicNullableAnnotation.Annotated); 2552assertAnnotation(declarations[3], PublicNullableAnnotation.NotAnnotated); 2553assertAnnotation(declarations[4], PublicNullableAnnotation.Annotated); 2554assertAnnotation(declarations[5], PublicNullableAnnotation.NotAnnotated); 2555assertAnnotation(declarations[6], PublicNullableAnnotation.Annotated); 2556assertAnnotation(declarations[7], PublicNullableAnnotation.Annotated); 2558void assertAnnotation(SingleVariableDesignationSyntax variable, PublicNullableAnnotation expectedAnnotation) 2570Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, typeInfo.Nullability.Annotation); 2571Assert.Equal(CodeAnalysis.NullableAnnotation.Annotated, typeInfo.ConvertedNullability.Annotation); 2598assertAnnotation(declarations[0], PublicNullableAnnotation.Annotated); 2599assertAnnotation(declarations[1], PublicNullableAnnotation.NotAnnotated); 2601void assertAnnotation(ForEachStatementSyntax foreachStatement, PublicNullableAnnotation expectedElementTypeAnnotation) 2741Assert.Equal(PublicNullableAnnotation.Annotated, ((IPropertySymbol)symInfo.Symbol).NullableAnnotation); 2742Assert.Equal(PublicNullableAnnotation.Annotated, ((IPropertySymbol)symInfo.Symbol).Type.NullableAnnotation); 2743Assert.Equal(PublicNullableAnnotation.Annotated, symInfo.Symbol.ContainingType.TypeArgumentNullableAnnotations[0]); 2744Assert.Equal(PublicNullableAnnotation.Annotated, symInfo.Symbol.ContainingType.TypeArgumentNullableAnnotations().First()); 2746Assert.Equal(PublicNullableAnnotation.NotAnnotated, ((IPropertySymbol)symInfo.Symbol).NullableAnnotation); 2747Assert.Equal(PublicNullableAnnotation.NotAnnotated, ((IPropertySymbol)symInfo.Symbol).Type.NullableAnnotation); 2748Assert.Equal(PublicNullableAnnotation.NotAnnotated, symInfo.Symbol.ContainingType.TypeArgumentNullableAnnotations[0]); 2749Assert.Equal(PublicNullableAnnotation.NotAnnotated, symInfo.Symbol.ContainingType.TypeArgumentNullableAnnotations().First()); 2787Assert.Equal(PublicNullableAnnotation.Annotated, ((IFieldSymbol)symInfo.Symbol).NullableAnnotation); 2788Assert.Equal(PublicNullableAnnotation.Annotated, ((IFieldSymbol)symInfo.Symbol).Type.NullableAnnotation); 2789Assert.Equal(PublicNullableAnnotation.Annotated, symInfo.Symbol.ContainingType.TypeArgumentNullableAnnotations[0]); 2790Assert.Equal(PublicNullableAnnotation.Annotated, symInfo.Symbol.ContainingType.TypeArgumentNullableAnnotations().First()); 2792Assert.Equal(PublicNullableAnnotation.NotAnnotated, ((IFieldSymbol)symInfo.Symbol).NullableAnnotation); 2793Assert.Equal(PublicNullableAnnotation.NotAnnotated, ((IFieldSymbol)symInfo.Symbol).Type.NullableAnnotation); 2794Assert.Equal(PublicNullableAnnotation.NotAnnotated, symInfo.Symbol.ContainingType.TypeArgumentNullableAnnotations[0]); 2795Assert.Equal(PublicNullableAnnotation.NotAnnotated, symInfo.Symbol.ContainingType.TypeArgumentNullableAnnotations().First()); 2830Assert.Equal(PublicNullableAnnotation.Annotated, ((IEventSymbol)symInfo.Symbol).NullableAnnotation); 2831Assert.Equal(PublicNullableAnnotation.Annotated, ((IEventSymbol)symInfo.Symbol).Type.NullableAnnotation); 2832Assert.Equal(PublicNullableAnnotation.Annotated, symInfo.Symbol.ContainingType.TypeArgumentNullableAnnotations[0]); 2833Assert.Equal(PublicNullableAnnotation.Annotated, symInfo.Symbol.ContainingType.TypeArgumentNullableAnnotations().First()); 2835Assert.Equal(PublicNullableAnnotation.Annotated, ((IEventSymbol)symInfo.Symbol).NullableAnnotation); 2836Assert.Equal(PublicNullableAnnotation.Annotated, ((IEventSymbol)symInfo.Symbol).Type.NullableAnnotation); 2837Assert.Equal(PublicNullableAnnotation.NotAnnotated, symInfo.Symbol.ContainingType.TypeArgumentNullableAnnotations[0]); 2838Assert.Equal(PublicNullableAnnotation.NotAnnotated, symInfo.Symbol.ContainingType.TypeArgumentNullableAnnotations().First()); 2879Assert.Equal(PublicNullableAnnotation.Annotated, ((IEventSymbol)symInfo.Symbol).NullableAnnotation); 2880Assert.Equal(PublicNullableAnnotation.Annotated, ((IEventSymbol)symInfo.Symbol).Type.NullableAnnotation); 2881Assert.Equal(PublicNullableAnnotation.Annotated, symInfo.Symbol.ContainingType.TypeArgumentNullableAnnotations[0]); 2882Assert.Equal(PublicNullableAnnotation.Annotated, symInfo.Symbol.ContainingType.TypeArgumentNullableAnnotations().First()); 2884Assert.Equal(PublicNullableAnnotation.Annotated, ((IEventSymbol)symInfo.Symbol).NullableAnnotation); 2885Assert.Equal(PublicNullableAnnotation.Annotated, ((IEventSymbol)symInfo.Symbol).Type.NullableAnnotation); 2886Assert.Equal(PublicNullableAnnotation.NotAnnotated, symInfo.Symbol.ContainingType.TypeArgumentNullableAnnotations[0]); 2887Assert.Equal(PublicNullableAnnotation.NotAnnotated, symInfo.Symbol.ContainingType.TypeArgumentNullableAnnotations().First()); 2921Assert.Equal(PublicNullableAnnotation.Annotated, typeInfo.Type.NullableAnnotation); 2925Assert.Equal(PublicNullableAnnotation.NotAnnotated, typeInfo.Type.NullableAnnotation); 2930Assert.Equal(PublicNullableAnnotation.None, typeInfo.Type.NullableAnnotation); 2960verifyAnnotation(collectionInitializer.Expressions[0], PublicNullableAnnotation.Annotated); 2961verifyAnnotation(collectionInitializer.Expressions[1], PublicNullableAnnotation.NotAnnotated); 2962verifyAnnotation(collectionInitializer.Expressions[2], PublicNullableAnnotation.NotAnnotated); 2963verifyAnnotation(collectionInitializer.Expressions[3], PublicNullableAnnotation.NotAnnotated); 2965void verifyAnnotation(ExpressionSyntax expr, PublicNullableAnnotation expectedAnnotation) 3002verifyAnnotation(collectionInitializer.Expressions[0], PublicNullableAnnotation.Annotated); 3003verifyAnnotation(collectionInitializer.Expressions[1], PublicNullableAnnotation.NotAnnotated); 3004verifyAnnotation(collectionInitializer.Expressions[2], PublicNullableAnnotation.NotAnnotated); 3005verifyAnnotation(collectionInitializer.Expressions[3], PublicNullableAnnotation.NotAnnotated); 3007void verifyAnnotation(ExpressionSyntax expr, PublicNullableAnnotation expectedAnnotation) 3044verifyAnnotation(collectionInitializer.Expressions[0], PublicNullableAnnotation.Annotated); 3045verifyAnnotation(collectionInitializer.Expressions[1], PublicNullableAnnotation.NotAnnotated); 3046verifyAnnotation(collectionInitializer.Expressions[2], PublicNullableAnnotation.NotAnnotated); 3047verifyAnnotation(collectionInitializer.Expressions[3], PublicNullableAnnotation.NotAnnotated); 3049void verifyAnnotation(ExpressionSyntax expr, PublicNullableAnnotation expectedAnnotation) 3052Assert.Equal(PublicNullableAnnotation.NotAnnotated, ((IMethodSymbol)symbolInfo.Symbol).TypeArgumentNullableAnnotations[0]); 3053Assert.Equal(PublicNullableAnnotation.NotAnnotated, ((IMethodSymbol)symbolInfo.Symbol).TypeArguments[0].NullableAnnotation); 3115Assert.Equal(PublicNullableAnnotation.None, ((IMethodSymbol)symbol).TypeArgumentNullableAnnotations[0]); 3116Assert.Equal(PublicNullableAnnotation.None, ((IMethodSymbol)symbol).TypeArguments[0].NullableAnnotation); 3151verifyAnnotation(collectionInitializer.Expressions[0], PublicNullableAnnotation.Annotated, PublicNullableAnnotation.NotAnnotated); 3152verifyAnnotation(collectionInitializer.Expressions[1], PublicNullableAnnotation.NotAnnotated, PublicNullableAnnotation.Annotated); 3153verifyAnnotation(collectionInitializer.Expressions[2], PublicNullableAnnotation.NotAnnotated, PublicNullableAnnotation.NotAnnotated); 3155void verifyAnnotation(ExpressionSyntax expr, PublicNullableAnnotation annotation1, PublicNullableAnnotation annotation2) 3196verifyAnnotation(collectionInitializer.Expressions[0], PublicNullableAnnotation.Annotated); 3197verifyAnnotation(collectionInitializer.Expressions[1], PublicNullableAnnotation.Annotated); 3198verifyAnnotation(collectionInitializer.Expressions[2], PublicNullableAnnotation.NotAnnotated); 3200void verifyAnnotation(ExpressionSyntax expr, PublicNullableAnnotation annotation) 3260verifyAnnotation(indexers.Slice(0, 2), PublicNullableAnnotation.Annotated, PublicNullableAnnotation.NotAnnotated); 3261verifyAnnotation(indexers.Slice(2, 2), PublicNullableAnnotation.NotAnnotated, PublicNullableAnnotation.Annotated); 3262verifyAnnotation(indexers.Slice(4, 2), PublicNullableAnnotation.NotAnnotated, PublicNullableAnnotation.NotAnnotated); 3264void verifyAnnotation(Span<ElementAccessExpressionSyntax> indexers, PublicNullableAnnotation firstAnnotation, PublicNullableAnnotation secondAnnotation) 3312verifyAnnotation(elementAccesses.Slice(0, 2), PublicNullableAnnotation.Annotated); 3313verifyAnnotation(elementAccesses.Slice(2, 2), PublicNullableAnnotation.NotAnnotated); 3315void verifyAnnotation(Span<ElementAccessExpressionSyntax> indexers, PublicNullableAnnotation annotation) 3361verifyAnnotation(elementAccesses[0], PublicNullableAnnotation.Annotated); 3362verifyAnnotation(elementAccesses[1], PublicNullableAnnotation.NotAnnotated); 3364void verifyAnnotation(ElementAccessExpressionSyntax indexer, PublicNullableAnnotation annotation) 3407verifyAnnotations(operators[0], PublicNullableAnnotation.Annotated, "S<T?> S<T?>.operator ~(S<T?> s)"); 3408verifyAnnotations(operators[1], PublicNullableAnnotation.NotAnnotated, "S<T!> S<T!>.operator ~(S<T!> s)"); 3410void verifyAnnotations(PrefixUnaryExpressionSyntax syntax, PublicNullableAnnotation annotation, string expected) 3452verifyAnnotations(operators[0], PublicNullableAnnotation.Annotated, "S<T?> S<T?>.operator +(S<T?> x, S<T?> y)"); 3453verifyAnnotations(operators[1], PublicNullableAnnotation.NotAnnotated, "S<T!> S<T!>.operator +(S<T!> x, S<T!> y)"); 3455void verifyAnnotations(BinaryExpressionSyntax syntax, PublicNullableAnnotation annotation, string expected) 3493Assert.Equal(PublicNullableAnnotation.Annotated, lambdaSymbol.Parameters[0].NullableAnnotation); 3494Assert.Equal(PublicNullableAnnotation.Annotated, lambdaSymbol.Parameters[0].Type.NullableAnnotation); 3505Assert.Equal(PublicNullableAnnotation.Annotated, parameterSymbol.NullableAnnotation); 3506Assert.Equal(PublicNullableAnnotation.Annotated, parameterSymbol.Type.NullableAnnotation); 3546Assert.Equal(PublicNullableAnnotation.NotAnnotated, innerLambdaSymbol.Parameters[0].NullableAnnotation); 3547Assert.Equal(PublicNullableAnnotation.NotAnnotated, innerLambdaSymbol.Parameters[0].Type.NullableAnnotation); 3558Assert.Equal(PublicNullableAnnotation.Annotated, o1Symbol.NullableAnnotation); 3559Assert.Equal(PublicNullableAnnotation.Annotated, o1Symbol.Type.NullableAnnotation); 3569Assert.Equal(PublicNullableAnnotation.NotAnnotated, o2Symbol.NullableAnnotation); 3570Assert.Equal(PublicNullableAnnotation.NotAnnotated, o2Symbol.Type.NullableAnnotation); 3607Assert.Equal(PublicNullableAnnotation.NotAnnotated, innerLambdaSymbol.Parameters[0].NullableAnnotation); 3608Assert.Equal(PublicNullableAnnotation.NotAnnotated, innerLambdaSymbol.Parameters[0].Type.NullableAnnotation); 3619Assert.Equal(PublicNullableAnnotation.Annotated, o1Symbol.NullableAnnotation); 3620Assert.Equal(PublicNullableAnnotation.Annotated, o1Symbol.Type.NullableAnnotation); 3630Assert.Equal(PublicNullableAnnotation.NotAnnotated, o2Symbol.NullableAnnotation); 3631Assert.Equal(PublicNullableAnnotation.NotAnnotated, o2Symbol.Type.NullableAnnotation); 3921Assert.Equal(PublicNullableAnnotation.NotAnnotated, o1Symbol.NullableAnnotation); 3922Assert.Equal(PublicNullableAnnotation.NotAnnotated, o1Symbol.Type.NullableAnnotation); 3923Assert.Equal(PublicNullableAnnotation.Annotated, o2Symbol.NullableAnnotation); 3924Assert.Equal(PublicNullableAnnotation.Annotated, o2Symbol.Type.NullableAnnotation); 3935Assert.Equal(PublicNullableAnnotation.NotAnnotated, o3Symbol.NullableAnnotation); 3936Assert.Equal(PublicNullableAnnotation.NotAnnotated, o3Symbol.Type.NullableAnnotation); 3937Assert.Equal(PublicNullableAnnotation.Annotated, o4Symbol.NullableAnnotation); 3938Assert.Equal(PublicNullableAnnotation.Annotated, o4Symbol.Type.NullableAnnotation); 3985Assert.Equal(PublicNullableAnnotation.NotAnnotated, innerLambdaSymbol1.Parameters[0].NullableAnnotation); 3986Assert.Equal(PublicNullableAnnotation.NotAnnotated, innerLambdaSymbol1.Parameters[0].Type.NullableAnnotation); 3987Assert.Equal(PublicNullableAnnotation.NotAnnotated, innerLambdaSymbol1.Parameters[1].NullableAnnotation); 3988Assert.Equal(PublicNullableAnnotation.NotAnnotated, innerLambdaSymbol1.Parameters[1].Type.NullableAnnotation); 3989Assert.Equal(PublicNullableAnnotation.NotAnnotated, innerLambdaSymbol1.Parameters[2].NullableAnnotation); 3990Assert.Equal(PublicNullableAnnotation.NotAnnotated, innerLambdaSymbol1.Parameters[2].Type.NullableAnnotation); 3995Assert.Equal(PublicNullableAnnotation.NotAnnotated, innerLambdaSymbol2.Parameters[0].NullableAnnotation); 3996Assert.Equal(PublicNullableAnnotation.NotAnnotated, innerLambdaSymbol2.Parameters[0].Type.NullableAnnotation); 3997Assert.Equal(PublicNullableAnnotation.NotAnnotated, innerLambdaSymbol2.Parameters[1].NullableAnnotation); 3998Assert.Equal(PublicNullableAnnotation.NotAnnotated, innerLambdaSymbol2.Parameters[1].Type.NullableAnnotation); 3999Assert.Equal(PublicNullableAnnotation.NotAnnotated, innerLambdaSymbol2.Parameters[2].NullableAnnotation); 4000Assert.Equal(PublicNullableAnnotation.NotAnnotated, innerLambdaSymbol2.Parameters[2].Type.NullableAnnotation); 4337verify(exprs[0], PublicNullableAnnotation.Annotated, PublicNullableFlowState.MaybeNull); 4338verify(exprs[1], PublicNullableAnnotation.Annotated, PublicNullableFlowState.MaybeNull); 4340void verify(DefaultExpressionSyntax expr, PublicNullableAnnotation expectedAnnotation, PublicNullableFlowState expectedState) 4373Assert.Equal(PublicNullableAnnotation.NotAnnotated, ((ITypeSymbol)symbol2.Symbol).NullableAnnotation); 4401Assert.Equal(PublicNullableAnnotation.None, ((ITypeSymbol)symbol2.Symbol).NullableAnnotation); 4431Assert.Equal(PublicNullableAnnotation.None, ((ITypeSymbol)symbol2.Symbol).NullableAnnotation); 4461Assert.Equal(PublicNullableAnnotation.NotAnnotated, ((ITypeSymbol)symbol2.Symbol).NullableAnnotation); 4491Assert.Equal(PublicNullableAnnotation.NotAnnotated, ((ITypeSymbol)symbol2.Symbol).NullableAnnotation); 4523Assert.Equal(PublicNullableAnnotation.NotAnnotated, ((ITypeSymbol)symbol2.Symbol).NullableAnnotation); 4556Assert.Equal(PublicNullableAnnotation.None, ((ITypeSymbol)symbol2.Symbol).NullableAnnotation); 4584Assert.Equal(PublicNullableAnnotation.NotAnnotated, ((ITypeSymbol)symbol2.Symbol).NullableAnnotation); 4614Assert.Equal(PublicNullableAnnotation.None, ((ITypeSymbol)symbol2.Symbol).NullableAnnotation); 4645Assert.Equal(PublicNullableAnnotation.NotAnnotated, ((ITypeSymbol)symbol2.Symbol).NullableAnnotation); 4678Assert.Equal(PublicNullableAnnotation.None, ((ITypeSymbol)symbol2.Symbol).NullableAnnotation); 4704Assert.Equal(PublicNullableAnnotation.NotAnnotated, symbol2.Parameters.Single().Type.NullableAnnotation); 4785PublicNullableAnnotation.Annotated, 4786PublicNullableAnnotation.NotAnnotated, 4787PublicNullableAnnotation.NotAnnotated, 4788PublicNullableAnnotation.Annotated, 4822Assert.Equal(PublicNullableAnnotation.NotAnnotated, info.Type.NullableAnnotation); 4827Assert.Equal(PublicNullableAnnotation.NotAnnotated, info.Type.NullableAnnotation); 4852Assert.Equal(PublicNullableAnnotation.NotAnnotated, info.Nullability.Annotation); 4917Assert.Equal(PublicNullableAnnotation.NotAnnotated, typeInfo.Type.NullableAnnotation);
Symbols\SymbolEqualityTests.cs (8)
252VerifyEquality(type1.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.None), type2.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.None), 260VerifyEquality(type1, type2.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.None), 264VerifyEquality(type1.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.None), type2, 488VerifyEquality(type1.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.None), type2.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.None), 496VerifyEquality(type1, type2.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.None), 500VerifyEquality(type1.WithNullableAnnotation(CodeAnalysis.NullableAnnotation.None), type2,
Microsoft.CodeAnalysis.CSharp.Test.Utilities (3)
Extensions.cs (3)
750ImmutableArray<Microsoft.CodeAnalysis.NullableAnnotation> elementNullableAnnotations = default) 832public static IEnumerable<Microsoft.CodeAnalysis.NullableAnnotation> TypeArgumentNullableAnnotations(this INamedTypeSymbol type) 837public static IEnumerable<Microsoft.CodeAnalysis.NullableAnnotation> TypeArgumentNullableAnnotations(this IMethodSymbol method)
Microsoft.CodeAnalysis.CSharp.Workspaces (12)
CSharpTypeInferenceService.TypeInferrer.cs (3)
1141return CreateResult(SpecialType.System_Object, NullableAnnotation.Annotated); 1166return symbol.WithNullableAnnotation(NullableAnnotation.Annotated); 1620private static ImmutableArray<NullableAnnotation> GetNullableAnnotations(ImmutableArray<ITypeSymbol> elementTypes)
ITypeSymbolExtensions.TypeSyntaxGeneratorVisitor.cs (4)
68if (underlyingType.NullableAnnotation == NullableAnnotation.Annotated) 102if (symbol.NullableAnnotation == NullableAnnotation.Annotated) 303if (symbol is { IsValueType: false, NullableAnnotation: NullableAnnotation.Annotated }) 358if (symbol is { IsValueType: false, NullableAnnotation: NullableAnnotation.Annotated })
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Workspace\CSharp\Extensions\ITypeSymbolExtensions.cs\ITypeSymbolExtensions.cs (3)
60NullableAnnotation.None => NullableSyntaxAnnotationEx.Oblivious, 61NullableAnnotation.Annotated => NullableSyntaxAnnotationEx.AnnotatedOrNotAnnotated, 62NullableAnnotation.NotAnnotated => NullableSyntaxAnnotationEx.AnnotatedOrNotAnnotated,
MethodGenerator.cs (1)
223.Where(tp => tp.NullableAnnotation == NullableAnnotation.Annotated)
NullableHelpers.cs (1)
70if (foreachInfo.ElementType.NullableAnnotation != NullableAnnotation.NotAnnotated)
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (4)
Utilities\SymbolEquivalenceComparerTests.cs (4)
1355Assert.Equal(NullableAnnotation.Annotated, a1.NullableAnnotation); 1356Assert.Equal(NullableAnnotation.NotAnnotated, a2.NullableAnnotation); 1416Assert.Equal(NullableAnnotation.None, a1.NullableAnnotation); 1417Assert.Equal(NullableAnnotation.NotAnnotated, a2.NullableAnnotation);
Microsoft.CodeAnalysis.Features (18)
Completion\Providers\AbstractOverrideCompletionProvider.cs (1)
53newOverriddenMember = CodeGenerationSymbolFactory.CreateMethodSymbol(methodSymbol, returnType: methodSymbol.ReturnType.WithNullableAnnotation(NullableAnnotation.NotAnnotated));
GenerateEqualsAndGetHashCodeFromMembers\GenerateEqualsAndGetHashCodeAction.cs (3)
128? equatableType.Construct(_containingType.WithNullableAnnotation(NullableAnnotation.Annotated)) 151CodeGenerationSymbolFactory.CreateParameterSymbol(_containingType.IsValueType ? _containingType : _containingType.WithNullableAnnotation(NullableAnnotation.Annotated), LeftName), 152CodeGenerationSymbolFactory.CreateParameterSymbol(_containingType.IsValueType ? _containingType : _containingType.WithNullableAnnotation(NullableAnnotation.Annotated), RightName));
GenerateType\AbstractGenerateTypeService.State.cs (1)
263BaseTypeOrInterfaceOpt = (INamedTypeSymbol)baseType.WithNullableAnnotation(NullableAnnotation.None);
InitializeParameter\AbstractAddParameterCheckCodeRefactoringProvider.cs (1)
251if (parameter.Type.NullableAnnotation == NullableAnnotation.Annotated)
LanguageServices\SymbolDisplayService\AbstractSymbolDisplayService.AbstractSymbolDescriptionBuilder.cs (1)
538if (symbol.NullableAnnotation == NullableAnnotation.Annotated)
MetadataAsSource\AbstractMetadataAsSourceService.WrappedEventSymbol.cs (1)
40public NullableAnnotation NullableAnnotation => _symbol.NullableAnnotation;
MetadataAsSource\AbstractMetadataAsSourceService.WrappedFieldSymbol.cs (1)
54public NullableAnnotation NullableAnnotation => _symbol.NullableAnnotation;
MetadataAsSource\AbstractMetadataAsSourceService.WrappedMethodSymbol.cs (4)
78public NullableAnnotation ReceiverNullableAnnotation => _symbol.ReceiverNullableAnnotation; 100public NullableAnnotation ReturnNullableAnnotation => _symbol.ReturnNullableAnnotation; 111public ImmutableArray<NullableAnnotation> TypeArgumentNullableAnnotations => _symbol.TypeArgumentNullableAnnotations; 118public IMethodSymbol Construct(ImmutableArray<ITypeSymbol> typeArguments, ImmutableArray<NullableAnnotation> typeArgumentNullableAnnotations)
MetadataAsSource\AbstractMetadataAsSourceService.WrappedNamedTypeSymbol.cs (4)
80public ImmutableArray<NullableAnnotation> TypeArgumentNullableAnnotations => _symbol.TypeArgumentNullableAnnotations; 94public INamedTypeSymbol Construct(ImmutableArray<ITypeSymbol> typeArguments, ImmutableArray<NullableAnnotation> typeArgumentNullableAnnotations) 151NullableAnnotation ITypeSymbol.NullableAnnotation => throw new NotImplementedException(); 153ITypeSymbol ITypeSymbol.WithNullableAnnotation(NullableAnnotation nullableAnnotation)
MetadataAsSource\AbstractMetadataAsSourceService.WrappedPropertySymbol.cs (1)
60public NullableAnnotation NullableAnnotation => _symbol.NullableAnnotation;
Microsoft.CodeAnalysis.UnitTests (6)
Symbols\NullabilityInfoTests.cs (6)
19assertEqualsAndHashCode(new NullabilityInfo(NullableAnnotation.Annotated, NullableFlowState.NotNull), 20new NullabilityInfo(NullableAnnotation.Annotated, NullableFlowState.NotNull), 23assertEqualsAndHashCode(new NullabilityInfo(NullableAnnotation.Annotated, NullableFlowState.NotNull), 24new NullabilityInfo(NullableAnnotation.NotAnnotated, NullableFlowState.NotNull), 27assertEqualsAndHashCode(new NullabilityInfo(NullableAnnotation.Annotated, NullableFlowState.MaybeNull), 28new NullabilityInfo(NullableAnnotation.Annotated, NullableFlowState.NotNull),
Microsoft.CodeAnalysis.VisualBasic (34)
Compilation\VisualBasicCompilation.vb (4)
2824Protected Overrides Function CommonCreateArrayTypeSymbol(elementType As ITypeSymbol, rank As Integer, elementNullableAnnotation As NullableAnnotation) As IArrayTypeSymbol 2831elementNullableAnnotations As ImmutableArray(Of NullableAnnotation)) As INamedTypeSymbol 2849elementNullableAnnotations As ImmutableArray(Of NullableAnnotation)) As INamedTypeSymbol 2892memberNullableAnnotations As ImmutableArray(Of CodeAnalysis.NullableAnnotation)) As INamedTypeSymbol
Symbols\ArrayTypeSymbol.vb (2)
401Private ReadOnly Property IArrayTypeSymbol_ElementNullableAnnotation As NullableAnnotation Implements IArrayTypeSymbol.ElementNullableAnnotation 403Return NullableAnnotation.None
Symbols\EventSymbol.vb (2)
284Private ReadOnly Property IEventSymbol_NullableAnnotation As NullableAnnotation Implements IEventSymbol.NullableAnnotation 286Return NullableAnnotation.None
Symbols\FieldSymbol.vb (2)
462Private ReadOnly Property IFieldSymbol_NullableAnnotation As NullableAnnotation Implements IFieldSymbol.NullableAnnotation 464Return NullableAnnotation.None
Symbols\MethodSymbol.vb (7)
928Private ReadOnly Property IMethodSymbol_ReceiverNullableAnnotation As NullableAnnotation Implements IMethodSymbol.ReceiverNullableAnnotation 930Return NullableAnnotation.None 1037Private ReadOnly Property IMethodSymbol_ReturnNullableAnnotation As NullableAnnotation Implements IMethodSymbol.ReturnNullableAnnotation 1039Return NullableAnnotation.None 1061Private ReadOnly Property IMethodSymbol_TypeArgumentsNullableAnnotation As ImmutableArray(Of NullableAnnotation) Implements IMethodSymbol.TypeArgumentNullableAnnotations 1063Return Me.TypeArguments.SelectAsArray(Function(t) NullableAnnotation.None) 1121Private Function IMethodSymbol_Construct(typeArguments As ImmutableArray(Of ITypeSymbol), typeArgumentNullableAnnotations As ImmutableArray(Of CodeAnalysis.NullableAnnotation)) As IMethodSymbol Implements IMethodSymbol.Construct
Symbols\NamedTypeSymbol.vb (3)
1152Private ReadOnly Property TypeArgumentNullableAnnotations As ImmutableArray(Of NullableAnnotation) Implements INamedTypeSymbol.TypeArgumentNullableAnnotations 1154Return Me.TypeArgumentsNoUseSiteDiagnostics.SelectAsArray(Function(t) NullableAnnotation.None) 1180Private Function INamedTypeSymbol_Construct(typeArguments As ImmutableArray(Of ITypeSymbol), typeArgumentNullableAnnotations As ImmutableArray(Of CodeAnalysis.NullableAnnotation)) As INamedTypeSymbol Implements INamedTypeSymbol.Construct
Symbols\ParameterSymbol.vb (2)
318Private ReadOnly Property IParameterSymbol_NullableAnnotation As NullableAnnotation Implements IParameterSymbol.NullableAnnotation 320Return NullableAnnotation.None
Symbols\PropertySymbol.vb (2)
604Private ReadOnly Property IPropertySymbol_NullableAnnotation As NullableAnnotation Implements IPropertySymbol.NullableAnnotation 606Return NullableAnnotation.None
Symbols\Source\LocalSymbol.vb (2)
401Private ReadOnly Property ILocalSymbol_NullableAnnotation As NullableAnnotation Implements ILocalSymbol.NullableAnnotation 403Return NullableAnnotation.None
Symbols\Symbol.vb (1)
1300Protected Shared Function ConstructTypeArguments(typeArguments As ImmutableArray(Of ITypeSymbol), typeArgumentNullableAnnotations As ImmutableArray(Of CodeAnalysis.NullableAnnotation)) As ImmutableArray(Of TypeSymbol)
Symbols\TypeParameterSymbol.vb (4)
367Private ReadOnly Property ITypeParameterSymbol_ReferenceTypeConstraintNullableAnnotation As NullableAnnotation Implements ITypeParameterSymbol.ReferenceTypeConstraintNullableAnnotation 369Return NullableAnnotation.None 397Private ReadOnly Property ITypeParameterSymbol_ConstraintNullableAnnotations As ImmutableArray(Of NullableAnnotation) Implements ITypeParameterSymbol.ConstraintNullableAnnotations 399Return Me.ConstraintTypesNoUseSiteDiagnostics.SelectAsArray(Function(t) NullableAnnotation.None)
Symbols\TypeSymbol.vb (3)
762Private ReadOnly Property ITypeSymbol_NullableAnnotation As NullableAnnotation Implements ITypeSymbol.NullableAnnotation 764Return NullableAnnotation.None 768Private Function ITypeSymbol_WithNullability(nullableAnnotation As NullableAnnotation) As ITypeSymbol Implements ITypeSymbol.WithNullableAnnotation
Microsoft.CodeAnalysis.VisualBasic.Emit.UnitTests (22)
CodeGen\CodeGenTuples.vb (22)
7615Dim ex = Assert.Throws(Of ArgumentException)(Function() comp.CreateTupleTypeSymbol(underlyingType, elementNullableAnnotations:=ImmutableArray(Of NullableAnnotation).Empty)) 7620elementNullableAnnotations:=ImmutableArray.Create(CodeAnalysis.NullableAnnotation.None, CodeAnalysis.NullableAnnotation.None)) 7626elementNullableAnnotations:=ImmutableArray.Create(CodeAnalysis.NullableAnnotation.NotAnnotated, CodeAnalysis.NullableAnnotation.Annotated)) 7632elementNullableAnnotations:=ImmutableArray.Create(CodeAnalysis.NullableAnnotation.Annotated, CodeAnalysis.NullableAnnotation.None)) 7651Dim ex = Assert.Throws(Of ArgumentException)(Function() comp.CreateTupleTypeSymbol(underlyingType, elementNullableAnnotations:=CreateAnnotations(CodeAnalysis.NullableAnnotation.NotAnnotated, 8))) 7654tuple2 = comp.CreateTupleTypeSymbol(underlyingType, elementNullableAnnotations:=CreateAnnotations(CodeAnalysis.NullableAnnotation.None, 9)) 7658tuple2 = comp.CreateTupleTypeSymbol(underlyingType, elementNullableAnnotations:=CreateAnnotations(CodeAnalysis.NullableAnnotation.Annotated, 9)) 7676Dim ex = Assert.Throws(Of ArgumentException)(Function() comp.CreateTupleTypeSymbol(elementTypes, elementNullableAnnotations:=ImmutableArray(Of NullableAnnotation).Empty)) 7681elementNullableAnnotations:=ImmutableArray.Create(CodeAnalysis.NullableAnnotation.None, CodeAnalysis.NullableAnnotation.None)) 7687elementNullableAnnotations:=ImmutableArray.Create(CodeAnalysis.NullableAnnotation.NotAnnotated, CodeAnalysis.NullableAnnotation.Annotated)) 7693elementNullableAnnotations:=ImmutableArray.Create(CodeAnalysis.NullableAnnotation.Annotated, CodeAnalysis.NullableAnnotation.None)) 7712Dim ex = Assert.Throws(Of ArgumentException)(Function() comp.CreateTupleTypeSymbol(elementTypes, elementNullableAnnotations:=CreateAnnotations(CodeAnalysis.NullableAnnotation.NotAnnotated, 8))) 7715tuple2 = comp.CreateTupleTypeSymbol(elementTypes, elementNullableAnnotations:=CreateAnnotations(CodeAnalysis.NullableAnnotation.None, 9)) 7719tuple2 = comp.CreateTupleTypeSymbol(elementTypes, elementNullableAnnotations:=CreateAnnotations(CodeAnalysis.NullableAnnotation.Annotated, 9)) 7724Private Shared Function CreateAnnotations(annotation As CodeAnalysis.NullableAnnotation, n As Integer) As ImmutableArray(Of CodeAnalysis.NullableAnnotation)
Microsoft.CodeAnalysis.VisualBasic.Semantic.UnitTests (37)
Compilation\CompilationAPITests.vb (37)
1515Assert.Equal(CodeAnalysis.NullableAnnotation.None, arrayType.ElementNullableAnnotation) 1522Assert.Equal(CodeAnalysis.NullableAnnotation.None, arrayType.ElementNullableAnnotation) 1529Assert.Equal(CodeAnalysis.NullableAnnotation.None, arrayType.ElementNullableAnnotation) 1538Assert.Equal(CodeAnalysis.NullableAnnotation.None, comp.CreateArrayTypeSymbol(elementType).ElementNullableAnnotation) 1539Assert.Equal(CodeAnalysis.NullableAnnotation.None, comp.CreateArrayTypeSymbol(elementType, elementNullableAnnotation:=Nothing).ElementNullableAnnotation) 1540Assert.Equal(CodeAnalysis.NullableAnnotation.None, comp.CreateArrayTypeSymbol(elementType, elementNullableAnnotation:=CodeAnalysis.NullableAnnotation.None).ElementNullableAnnotation) 1541Assert.Equal(CodeAnalysis.NullableAnnotation.None, comp.CreateArrayTypeSymbol(elementType, elementNullableAnnotation:=CodeAnalysis.NullableAnnotation.NotAnnotated).ElementNullableAnnotation) 1542Assert.Equal(CodeAnalysis.NullableAnnotation.None, comp.CreateArrayTypeSymbol(elementType, elementNullableAnnotation:=CodeAnalysis.NullableAnnotation.Annotated).ElementNullableAnnotation) 1706Dim type = comp.CreateAnonymousTypeSymbol(ImmutableArray(Of ITypeSymbol).Empty, ImmutableArray(Of String).Empty, memberNullableAnnotations:=ImmutableArray(Of CodeAnalysis.NullableAnnotation).Empty) 1708AssertEx.Equal(Array.Empty(Of CodeAnalysis.NullableAnnotation)(), GetAnonymousTypeNullableAnnotations(type)) 1720AssertEx.Equal({CodeAnalysis.NullableAnnotation.None, CodeAnalysis.NullableAnnotation.None}, GetAnonymousTypeNullableAnnotations(type)) 1722Assert.Throws(Of ArgumentException)(Function() comp.CreateAnonymousTypeSymbol(memberTypes, memberNames, memberNullableAnnotations:=ImmutableArray.Create(CodeAnalysis.NullableAnnotation.NotAnnotated))) 1724type = comp.CreateAnonymousTypeSymbol(memberTypes, memberNames, memberNullableAnnotations:=ImmutableArray.Create(CodeAnalysis.NullableAnnotation.NotAnnotated, CodeAnalysis.NullableAnnotation.Annotated)) 1726AssertEx.Equal({CodeAnalysis.NullableAnnotation.None, CodeAnalysis.NullableAnnotation.None}, GetAnonymousTypeNullableAnnotations(type)) 1729Private Shared Function GetAnonymousTypeNullableAnnotations(type As ITypeSymbol) As ImmutableArray(Of CodeAnalysis.NullableAnnotation) 1944Assert.Throws(Of ArgumentException)(Function() genericType.Construct(New ImmutableArray(Of ITypeSymbol), New ImmutableArray(Of CodeAnalysis.NullableAnnotation))) 1949AssertEx.Equal({CodeAnalysis.NullableAnnotation.None, CodeAnalysis.NullableAnnotation.None}, type.TypeArgumentNullableAnnotations) 1951Assert.Throws(Of ArgumentException)(Function() genericType.Construct(typeArguments, ImmutableArray(Of CodeAnalysis.NullableAnnotation).Empty)) 1954type = genericType.Construct(typeArguments, ImmutableArray.Create(CodeAnalysis.NullableAnnotation.Annotated, CodeAnalysis.NullableAnnotation.NotAnnotated)) 1956AssertEx.Equal({CodeAnalysis.NullableAnnotation.None, CodeAnalysis.NullableAnnotation.None}, type.TypeArgumentNullableAnnotations) 1976Assert.Throws(Of ArgumentException)(Function() genericMethod.Construct(New ImmutableArray(Of ITypeSymbol), New ImmutableArray(Of CodeAnalysis.NullableAnnotation))) 1981AssertEx.Equal({CodeAnalysis.NullableAnnotation.None, CodeAnalysis.NullableAnnotation.None}, type.TypeArgumentNullableAnnotations) 1983Assert.Throws(Of ArgumentException)(Function() genericMethod.Construct(typeArguments, ImmutableArray(Of CodeAnalysis.NullableAnnotation).Empty)) 1986type = genericMethod.Construct(typeArguments, ImmutableArray.Create(CodeAnalysis.NullableAnnotation.Annotated, CodeAnalysis.NullableAnnotation.NotAnnotated)) 1988AssertEx.Equal({CodeAnalysis.NullableAnnotation.None, CodeAnalysis.NullableAnnotation.None}, type.TypeArgumentNullableAnnotations)
Microsoft.CodeAnalysis.Workspaces (45)
AbstractTypeInferenceService.AbstractTypeInferrer.cs (2)
83protected IEnumerable<TypeInferenceInfo> CreateResult(SpecialType type, NullableAnnotation nullableAnnotation = NullableAnnotation.None)
CodeGenerationAbstractMethodSymbol.cs (4)
62public NullableAnnotation ReceiverNullableAnnotation => ReceiverType.NullableAnnotation; 63public NullableAnnotation ReturnNullableAnnotation => ReturnType.NullableAnnotation; 64public ImmutableArray<NullableAnnotation> TypeArgumentNullableAnnotations => TypeArguments.SelectAsArray(a => a.NullableAnnotation); 114public IMethodSymbol Construct(ImmutableArray<ITypeSymbol> typeArguments, ImmutableArray<CodeAnalysis.NullableAnnotation> typeArgumentNullableAnnotations)
CodeGenerationAbstractNamedTypeSymbol.cs (3)
35NullableAnnotation nullableAnnotation, 69public INamedTypeSymbol Construct(ImmutableArray<ITypeSymbol> typeArguments, ImmutableArray<NullableAnnotation> typeArgumentNullableAnnotations) 90public abstract ImmutableArray<NullableAnnotation> TypeArgumentNullableAnnotations { get; }
CodeGenerationArrayTypeSymbol.cs (3)
12public CodeGenerationArrayTypeSymbol(ITypeSymbol elementType, int rank, NullableAnnotation nullableAnnotation) 47protected override CodeGenerationTypeSymbol CloneWithNullableAnnotation(NullableAnnotation nullableAnnotation) 72public NullableAnnotation ElementNullableAnnotation => ElementType.NullableAnnotation;
CodeGenerationConstructedNamedTypeSymbol.cs (2)
33public override ImmutableArray<NullableAnnotation> TypeArgumentNullableAnnotations => _typeArguments.SelectAsArray(t => t.NullableAnnotation); 95protected override CodeGenerationTypeSymbol CloneWithNullableAnnotation(NullableAnnotation nullableAnnotation)
CodeGenerationEventSymbol.cs (1)
18public NullableAnnotation NullableAnnotation => Type.NullableAnnotation;
CodeGenerationFieldSymbol.cs (1)
20public NullableAnnotation NullableAnnotation => Type.NullableAnnotation;
CodeGenerationNamedTypeSymbol.cs (4)
40NullableAnnotation nullableAnnotation, 57protected override CodeGenerationTypeSymbol CloneWithNullableAnnotation(NullableAnnotation nullableAnnotation) 135public override ImmutableArray<NullableAnnotation> TypeArgumentNullableAnnotations 140return this.TypeParameters.SelectAsArray(t => NullableAnnotation.NotAnnotated);
CodeGenerationParameterSymbol.cs (1)
22public NullableAnnotation NullableAnnotation => Type.NullableAnnotation;
CodeGenerationPointerTypeSymbol.cs (2)
14: base(null, null, default, Accessibility.NotApplicable, default, string.Empty, SpecialType.None, NullableAnnotation.None) 19protected override CodeGenerationTypeSymbol CloneWithNullableAnnotation(NullableAnnotation nullableAnnotation)
CodeGenerationPropertySymbol.cs (1)
21public NullableAnnotation NullableAnnotation => Type.NullableAnnotation;
CodeGenerationSymbolFactory.cs (10)
335NullableAnnotation nullableAnnotation = NullableAnnotation.None, 355public static IArrayTypeSymbol CreateArrayTypeSymbol(ITypeSymbol elementType, int rank = 1, NullableAnnotation nullableAnnotation = NullableAnnotation.None) 426NullableAnnotation nullableAnnotation = NullableAnnotation.None, 445NullableAnnotation nullableAnnotation = NullableAnnotation.None, 470NullableAnnotation nullableAnnotation = NullableAnnotation.None)
CodeGenerationTypeParameterSymbol.cs (4)
27NullableAnnotation nullableAnnotation, 47protected override CodeGenerationTypeSymbol CloneWithNullableAnnotation(NullableAnnotation nullableAnnotation) 98public NullableAnnotation ReferenceTypeConstraintNullableAnnotation => throw new System.NotImplementedException(); 100public ImmutableArray<NullableAnnotation> ConstraintNullableAnnotations => ConstraintTypes.SelectAsArray(t => t.NullableAnnotation);
CodeGenerationTypeSymbol.cs (4)
29NullableAnnotation nullableAnnotation) 88public NullableAnnotation NullableAnnotation { get; } 90public ITypeSymbol WithNullableAnnotation(NullableAnnotation nullableAnnotation) 103protected abstract CodeGenerationTypeSymbol CloneWithNullableAnnotation(NullableAnnotation nullableAnnotation);
Editing\SyntaxGenerator.cs (1)
239return Equals(current, typeParameter) && current.NullableAnnotation == NullableAnnotation.Annotated;
J\s\src\Workspaces\SharedUtilitiesAndExtensions\Compiler\Core\Extensions\ITypeSymbolExtensions.cs\ITypeSymbolExtensions.cs (1)
34var isNonNullableReferenceType = type.IsReferenceType && type.NullableAnnotation != NullableAnnotation.Annotated;
Shared\Extensions\SyntaxGeneratorExtensions_CreateEqualsMethod.cs (1)
52parameters: ImmutableArray.Create(CodeGenerationSymbolFactory.CreateParameterSymbol(compilation.GetSpecialType(SpecialType.System_Object).WithNullableAnnotation(NullableAnnotation.Annotated), ObjName)),