631 references to NullableAnnotation
Microsoft.CodeAnalysis.CSharp (261)
Binder\Binder.ValueChecks.cs (1)
3340=> TypeWithAnnotations.Create(_type, NullableAnnotation.NotAnnotated);
Binder\Binder_Constraints.cs (1)
556if (typeWithAnnotations.NullableAnnotation == NullableAnnotation.Annotated && performOnlyCycleSafeValidation &&
Binder\Binder_Expressions.cs (1)
1737expression = new BoundDiscardExpression(node, NullableAnnotation.Annotated, isInferred: true, type: null);
Binder\Binder_Patterns.cs (2)
344declType: TypeWithAnnotations.Create(narrowedType, NullableAnnotation.NotAnnotated), 954return TypeWithAnnotations.Create(inputType.StrippedType(), NullableAnnotation.NotAnnotated);
Binder\Semantics\BestTypeInferrer.cs (3)
16public static NullableAnnotation GetNullableAnnotation(ArrayBuilder<TypeWithAnnotations> types) 22var result = NullableAnnotation.NotAnnotated;
Binder\Semantics\OverloadResolution\MethodTypeInference.cs (4)
161private readonly NullableAnnotation[] _nullableAnnotationLowerBounds; 353_nullableAnnotationLowerBounds = new NullableAnnotation[methodTypeParameters.Length]; 3463var oldAnnotation = oldBound.NullableAnnotation; 3464var newAnnotation = oldAnnotation.MergeNullableAnnotation(candidate.NullableAnnotation, variance);
BoundTree\BoundDiscardExpression.cs (1)
25return this.Update(NullableAnnotation.Oblivious, this.IsInferred, binder.CreateErrorType("var"));
BoundTree\BoundExpressionWithNullability.cs (1)
11public BoundExpressionWithNullability(SyntaxNode syntax, BoundExpression expression, NullableAnnotation nullableAnnotation, TypeSymbol? type)
Compilation\CSharpCompilation.cs (7)
2450internal ArrayTypeSymbol CreateArrayTypeSymbol(TypeSymbol elementType, int rank = 1, NullableAnnotation elementNullableAnnotation = NullableAnnotation.Oblivious) 2468internal PointerTypeSymbol CreatePointerTypeSymbol(TypeSymbol elementType, NullableAnnotation elementNullableAnnotation = NullableAnnotation.Oblivious) 4264var annotation = (elementNullableAnnotations.IsDefault ? typeSymbol.NullableAnnotation : elementNullableAnnotations[i]).ToInternalAnnotation(); 4332var nullableAnnotation = memberNullableAnnotations.IsDefault ? NullableAnnotation.Oblivious : memberNullableAnnotations[i].ToInternalAnnotation();
FlowAnalysis\NullableWalker.cs (37)
53internal readonly struct GetterNullResilienceData(SynthesizedBackingFieldSymbol field, NullableAnnotation assumedAnnotation) 56public readonly NullableAnnotation assumedAnnotation = assumedAnnotation; 58public void Deconstruct(out SynthesizedBackingFieldSymbol field, out NullableAnnotation assumedAnnotation) 145public VisitResult(TypeSymbol? type, NullableAnnotation annotation, NullableFlowState state) 2394case NullableAnnotation.Oblivious: 2395case NullableAnnotation.Annotated: 2887NullableAnnotation nullableAnnotation; 4399var result = new VisitResult(objectInitializer.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull); 4461[new BoundExpressionWithNullability(objectInitializer.Syntax, objectInitializer, nullableAnnotation: NullableAnnotation.NotAnnotated, containingType)], 4626SetAnalyzedNullability(node.ImplicitReceiverOpt, new VisitResult(node.ImplicitReceiverOpt.Type, NullableAnnotation.NotAnnotated, NullableFlowState.NotNull)); 4742return GetOrCreatePlaceholderSlot(node, TypeWithAnnotations.Create(node.Type, NullableAnnotation.NotAnnotated)); 5900targetType = TypeWithAnnotations.Create(node.Type, NullableAnnotation.NotAnnotated); 6232var lValueAnnotation = consequenceLValue.NullableAnnotation.EnsureCompatible(alternativeLValue.NullableAnnotation); 8493private static NullableAnnotation GetNullableAnnotation(BoundExpression expr) 8500return expr.ConstantValueOpt == ConstantValue.NotAvailable || !expr.ConstantValueOpt.IsNull || expr.IsSuppressed ? NullableAnnotation.NotAnnotated : NullableAnnotation.Annotated; 8508return NullableAnnotation.NotAnnotated; 8511return NullableAnnotation.Oblivious; 8593return new BoundExpressionWithNullability(argument.Syntax, argument, NullableAnnotation.Oblivious, type: null); 9798dependsOnTypeParameter(typeParameter1, (TypeParameterSymbol)targetType.Type, NullableAnnotation.NotAnnotated, out var annotation)) 9800return (annotation == NullableAnnotation.Annotated) ? NullableFlowState.MaybeDefault : NullableFlowState.MaybeNull; 9831bool dependsOn = dependsOnTypeParameter(typeParameter1, typeParameter2, NullableAnnotation.NotAnnotated, out var annotation); 9835return (annotation == NullableAnnotation.Annotated) ? NullableFlowState.MaybeDefault : NullableFlowState.MaybeNull; 9868static bool dependsOnTypeParameter(TypeParameterSymbol typeParameter1, TypeParameterSymbol typeParameter2, NullableAnnotation typeParameter1Annotation, out NullableAnnotation annotation) 9876var combinedAnnotation = NullableAnnotation.Annotated; 9880dependsOnTypeParameter(constraintTypeParameter, typeParameter2, constraintType.NullableAnnotation, out var constraintAnnotation)) 10375var argTypeWithAnnotations = TypeWithAnnotations.Create(argType, NullableAnnotation.NotAnnotated); 10574var lvalueResult = TypeWithAnnotations.Create(node.Type, NullableAnnotation.NotAnnotated); 10852placeholderArgs.Add(new BoundExpressionWithNullability(variables[i].Expression.Syntax, variables[i].Expression, NullableAnnotation.Oblivious, conversion.DeconstructionInfo.OutputPlaceholders[i].Type)); 11834TypeWithAnnotations.Create(enumeratorInfoOpt.ElementType, NullableAnnotation.NotAnnotated).ToTypeWithState(); 12632var result = TypeWithAnnotations.Create(node.Type, NullableAnnotation.Oblivious); 12738var result = TypeWithAnnotations.Create(node.Type, NullableAnnotation.Oblivious); 12909var result = TypeWithAnnotations.Create(node.Type, node.IsInferred ? NullableAnnotation.Annotated : node.NullableAnnotation);
FlowAnalysis\NullableWalker_Patterns.cs (3)
476outputSlot = makeDagTempSlot(TypeWithAnnotations.Create(e.Type, NullableAnnotation.NotAnnotated), output); 535? ReInferAndVisitExtensionPropertyAccess(e, e.Property, new BoundExpressionWithNullability(e.Syntax, expression, NullableAnnotation.NotAnnotated, inputType)).updatedProperty 841var type = TypeWithAnnotations.Create(t, NullableAnnotation.Annotated);
Generated\BoundNodes.xml.Generated.cs (10)
1524public BoundRefValueOperator(SyntaxNode syntax, NullableAnnotation nullableAnnotation, BoundExpression operand, TypeSymbol type, bool hasErrors = false) 1536public NullableAnnotation NullableAnnotation { get; } 1542public BoundRefValueOperator Update(NullableAnnotation nullableAnnotation, BoundExpression operand, TypeSymbol type) 8571public BoundDiscardExpression(SyntaxNode syntax, NullableAnnotation nullableAnnotation, bool isInferred, TypeSymbol? type, bool hasErrors) 8578public BoundDiscardExpression(SyntaxNode syntax, NullableAnnotation nullableAnnotation, bool isInferred, TypeSymbol? type) 8586public NullableAnnotation NullableAnnotation { get; } 8592public BoundDiscardExpression Update(NullableAnnotation nullableAnnotation, bool isInferred, TypeSymbol? type) 8804public BoundExpressionWithNullability(SyntaxNode syntax, BoundExpression expression, NullableAnnotation nullableAnnotation, TypeSymbol? type, bool hasErrors = false) 8816public NullableAnnotation NullableAnnotation { get; } 8821public BoundExpressionWithNullability Update(BoundExpression expression, NullableAnnotation nullableAnnotation, TypeSymbol? type)
Symbols\AliasSymbol.cs (1)
409annotatedNamespaceOrType.TypeWithAnnotations.NullableAnnotation == NullableAnnotation.Annotated &&
Symbols\AnonymousTypes\SynthesizedSymbols\AnonymousType.ToStringMethodSymbol.cs (1)
49get { return TypeWithAnnotations.Create(this.Manager.System_String, NullableAnnotation.NotAnnotated); }
Symbols\ConstraintsHelper.cs (8)
1239case NullableAnnotation.Annotated: 1241case NullableAnnotation.Oblivious: 1278case NullableAnnotation.Oblivious: 1279case NullableAnnotation.Annotated: 1637case NullableAnnotation.Annotated: 1639case NullableAnnotation.NotAnnotated: 1641case NullableAnnotation.Oblivious: 1659case NullableAnnotation.Annotated:
Symbols\Metadata\PE\SymbolFactory.cs (1)
170return TypeWithAnnotations.Create(type, NullableAnnotation.Oblivious, CSharpCustomModifier.Convert(customModifiers));
Symbols\NullableAnnotation.cs (6)
13/// The order of values here is used in the computation of <see cref="NullableAnnotationExtensions.Meet(NullableAnnotation, NullableAnnotation)"/>, 14/// <see cref="NullableAnnotationExtensions.Join(NullableAnnotation, NullableAnnotation)"/>, and 15/// <see cref="NullableAnnotationExtensions.EnsureCompatible(NullableAnnotation, NullableAnnotation)"/>. If the order here is changed
Symbols\NullableAnnotationExtensions.cs (44)
16public static bool IsAnnotated(this NullableAnnotation annotation) => annotation == NullableAnnotation.Annotated; 18public static bool IsNotAnnotated(this NullableAnnotation annotation) => annotation == NullableAnnotation.NotAnnotated; 20public static bool IsOblivious(this NullableAnnotation annotation) => annotation == NullableAnnotation.Oblivious; 26public static NullableAnnotation Join(this NullableAnnotation a, NullableAnnotation b) 28Debug.Assert(a != NullableAnnotation.Ignored); 29Debug.Assert(b != NullableAnnotation.Ignored); 37public static NullableAnnotation Meet(this NullableAnnotation a, NullableAnnotation b) 39Debug.Assert(a != NullableAnnotation.Ignored); 40Debug.Assert(b != NullableAnnotation.Ignored); 48public static NullableAnnotation EnsureCompatible(this NullableAnnotation a, NullableAnnotation b) 50Debug.Assert(a != NullableAnnotation.Ignored); 51Debug.Assert(b != NullableAnnotation.Ignored); 54(NullableAnnotation.Oblivious, _) => b, 55(_, NullableAnnotation.Oblivious) => a, 63public static NullableAnnotation MergeNullableAnnotation(this NullableAnnotation a, NullableAnnotation b, VarianceKind variance) 65Debug.Assert(a != NullableAnnotation.Ignored); 66Debug.Assert(b != NullableAnnotation.Ignored); 77/// The attribute (metadata) representation of <see cref="NullableAnnotation.NotAnnotated"/>. 82/// The attribute (metadata) representation of <see cref="NullableAnnotation.Annotated"/>. 87/// The attribute (metadata) representation of <see cref="NullableAnnotation.Oblivious"/>. 98CSharp.NullableAnnotation internalAnnotation = annotation.ToInternalAnnotation(); 102internal static NullabilityInfo ToNullabilityInfo(this NullableAnnotation annotation, TypeSymbol type) 126internal static CodeAnalysis.NullableAnnotation ToPublicAnnotation(TypeSymbol? type, NullableAnnotation annotation) 128Debug.Assert(annotation != NullableAnnotation.Ignored); 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\PublicModel\Symbol.cs (3)
25builder.Add(TypeWithAnnotations.Create(type, (typeArg?.NullableAnnotation.ToInternalAnnotation() ?? NullableAnnotation.NotAnnotated))); 48var annotation = typeArgumentNullableAnnotations.IsDefault ? NullableAnnotation.Oblivious : typeArgumentNullableAnnotations[i].ToInternalAnnotation();
Symbols\Source\IndexedTypeParameterSymbol.cs (1)
113builder.Add(TypeWithAnnotations.Create(GetTypeParameter(i), NullableAnnotation.Ignored));
Symbols\Source\SourceNamedTypeSymbol_Extension.cs (5)
444static void appendAnnotation(StringBuilder builder, NullableAnnotation annotation) 448case NullableAnnotation.Annotated: 451case NullableAnnotation.NotAnnotated: 454case NullableAnnotation.Oblivious: 456case NullableAnnotation.Ignored:
Symbols\Source\ThisParameterSymbol.cs (1)
151=> TypeWithAnnotations.Create(_containingType, NullableAnnotation.NotAnnotated);
Symbols\Synthesized\Records\SynthesizedRecordBaseEquals.cs (1)
32TypeWithAnnotations.Create(ContainingType.BaseTypeNoUseSiteDiagnostics, NullableAnnotation.Annotated),
Symbols\Synthesized\Records\SynthesizedRecordEqualityContractProperty.cs (1)
83return (TypeWithAnnotations.Create(Binder.GetWellKnownType(DeclaringCompilation, WellKnownType.System_Type, diagnostics, Location), NullableAnnotation.NotAnnotated),
Symbols\Synthesized\Records\SynthesizedRecordEqualityOperatorBase.cs (3)
70var annotation = ContainingType.IsRecordStruct ? NullableAnnotation.Oblivious : NullableAnnotation.Annotated;
Symbols\Synthesized\Records\SynthesizedRecordEquals.cs (3)
36var annotation = ContainingType.IsRecordStruct ? NullableAnnotation.Oblivious : NullableAnnotation.Annotated;
Symbols\Synthesized\Records\SynthesizedRecordObjEquals.cs (3)
31var annotation = ContainingType.IsRecordStruct ? NullableAnnotation.Oblivious : NullableAnnotation.Annotated;
Symbols\Synthesized\Records\SynthesizedRecordPrintMembers.cs (3)
93var annotation = ContainingType.IsRecordStruct ? NullableAnnotation.Oblivious : NullableAnnotation.NotAnnotated;
Symbols\Synthesized\Records\SynthesizedRecordToString.cs (3)
42var annotation = ContainingType.IsRecordStruct ? NullableAnnotation.Oblivious : NullableAnnotation.NotAnnotated;
Symbols\Synthesized\SynthesizedBackingFieldSymbol.cs (21)
84private int _inferredNullableAnnotation = (int)NullableAnnotation.Ignored; 140if (propertyType.NullableAnnotation != NullableAnnotation.NotAnnotated 158internal NullableAnnotation GetInferredNullableAnnotation() 160if (_inferredNullableAnnotation == (int)NullableAnnotation.Ignored) 162var inferredAnnotation = ComputeInferredNullableAnnotation(); 163Debug.Assert(inferredAnnotation is not NullableAnnotation.Ignored); 164Interlocked.CompareExchange(ref _inferredNullableAnnotation, (int)inferredAnnotation, (int)NullableAnnotation.Ignored); 166Debug.Assert((NullableAnnotation)_inferredNullableAnnotation is NullableAnnotation.NotAnnotated or NullableAnnotation.Annotated); 167return (NullableAnnotation)_inferredNullableAnnotation; 170private NullableAnnotation ComputeInferredNullableAnnotation() 179return NullableAnnotation.Annotated; 185return NullableAnnotation.NotAnnotated; 190var annotatedDiagnostics = nullableAnalyzeAndFilterDiagnostics(assumedNullableAnnotation: NullableAnnotation.Annotated); 195return NullableAnnotation.Annotated; 198var notAnnotatedDiagnostics = nullableAnalyzeAndFilterDiagnostics(assumedNullableAnnotation: NullableAnnotation.NotAnnotated); 204return NullableAnnotation.NotAnnotated; 218return NullableAnnotation.NotAnnotated; 223return NullableAnnotation.Annotated; 225DiagnosticBag nullableAnalyzeAndFilterDiagnostics(NullableAnnotation assumedNullableAnnotation)
Symbols\TypeMap.cs (1)
32return typeParameters.SelectAsArray(static (tp) => TypeWithAnnotations.Create(tp, NullableAnnotation.Ignored));
Symbols\TypeSymbol.cs (1)
2503internal CodeAnalysis.NullableAnnotation DefaultNullableAnnotation => NullableAnnotationExtensions.ToPublicAnnotation(this, NullableAnnotation.Oblivious);
Symbols\TypeWithAnnotations.cs (73)
51public readonly NullableAnnotation DefaultNullableAnnotation; 53private TypeWithAnnotations(TypeSymbol defaultType, NullableAnnotation defaultAnnotation, Extensions extensions) 55Debug.Assert(defaultType?.IsNullableType() != true || defaultAnnotation == NullableAnnotation.Annotated); 82return Create(typeSymbol, nullableAnnotation: isAnnotated ? NullableAnnotation.Annotated : isNullableEnabled ? NullableAnnotation.NotAnnotated : NullableAnnotation.Oblivious); 85internal static TypeWithAnnotations Create(TypeSymbol typeSymbol, NullableAnnotation nullableAnnotation = NullableAnnotation.Oblivious, ImmutableArray<CustomModifier> customModifiers = default) 92Debug.Assert(nullableAnnotation != NullableAnnotation.Ignored || typeSymbol.IsTypeParameter()); 95case NullableAnnotation.Oblivious: 96case NullableAnnotation.NotAnnotated: 100nullableAnnotation = NullableAnnotation.Annotated; 115return Create(Type, NullableAnnotation.Annotated, CustomModifiers); 125return Create(Type, NullableAnnotation.NotAnnotated, CustomModifiers); 129internal NullableAnnotation GetValueNullableAnnotation() 138return NullableAnnotation.Annotated; 143return NullableAnnotation.Annotated; 155case NullableAnnotation.Oblivious: 156case NullableAnnotation.Annotated: 159case NullableAnnotation.NotAnnotated: 168private static TypeWithAnnotations CreateNonLazyType(TypeSymbol typeSymbol, NullableAnnotation nullableAnnotation, ImmutableArray<CustomModifier> customModifiers) 175return new TypeWithAnnotations(defaultType: underlying.DefaultType, defaultAnnotation: NullableAnnotation.Annotated, new LazyNullableTypeParameter(compilation, underlying)); 180return new TypeWithAnnotations(defaultType: substitutedTypeSymbol, defaultAnnotation: NullableAnnotation.Ignored, new LazySubstitutedType(customModifiers, typeParameter)); 204return CreateNonLazyType(typeSymbol, NullableAnnotation.Annotated, this.CustomModifiers); 244NullableAnnotation nullableAnnotation = this.NullableAnnotation.MergeNullableAnnotation(other.NullableAnnotation, variance); 255public NullableAnnotation NullableAnnotation => _extensions?.GetResolvedAnnotation(DefaultNullableAnnotation) ?? default; 364var thisAnnotation = NullableAnnotation; 365var otherAnnotation = other.NullableAnnotation; 442Debug.Assert(NullableAnnotation != NullableAnnotation.Ignored); 452Debug.Assert(NullableAnnotation != NullableAnnotation.Ignored); 473else if (Is((TypeParameterSymbol)typeSymbol) && newTypeWithModifiers.NullableAnnotation != NullableAnnotation.Ignored) 483NullableAnnotation newAnnotation; 484Debug.Assert(newTypeWithModifiers.Type is not IndexedTypeParameterSymbol || newTypeWithModifiers.NullableAnnotation == NullableAnnotation.Ignored); 488newAnnotation = NullableAnnotation.Annotated; 490else if (newTypeWithModifiers.NullableAnnotation == NullableAnnotation.Ignored) 494else if (NullableAnnotation != NullableAnnotation.Oblivious) 496Debug.Assert(NullableAnnotation == NullableAnnotation.NotAnnotated); 497if (newTypeWithModifiers.NullableAnnotation == NullableAnnotation.Oblivious) 505newAnnotation = NullableAnnotation.NotAnnotated; 518Debug.Assert(newTypeWithModifiers.NullableAnnotation is NullableAnnotation.NotAnnotated); 519newAnnotation = NullableAnnotation.NotAnnotated; 522else if (newTypeWithModifiers.NullableAnnotation != NullableAnnotation.Oblivious) 596typeWithAnnotationsPredicate: (t, a, b) => t.NullableAnnotation != NullableAnnotation.Oblivious && !t.Type.IsErrorType() && !t.Type.IsValueType, 633var annotation = typeWithAnnotations.NullableAnnotation; 709if (result.NullableAnnotation != NullableAnnotation.Oblivious && 712result = CreateNonLazyType(newTypeSymbol, NullableAnnotation.Oblivious, result.CustomModifiers); 732return CreateNonLazyType(typeSymbol, NullableAnnotation.NotAnnotated, CustomModifiers); 740if (NullableAnnotation != NullableAnnotation.Oblivious) 745return CreateNonLazyType(newTypeSymbol, NullableAnnotation.Oblivious, CustomModifiers); 813static NullableFlowState getFlowState(TypeSymbol type, NullableAnnotation annotation) 821return annotation switch { NullableAnnotation.Annotated => NullableFlowState.MaybeDefault, NullableAnnotation.NotAnnotated => NullableFlowState.MaybeNull, _ => NullableFlowState.NotNull }; 825return annotation switch { NullableAnnotation.Annotated => NullableFlowState.MaybeDefault, _ => NullableFlowState.NotNull }; 831return annotation switch { NullableAnnotation.Annotated => NullableFlowState.MaybeNull, _ => NullableFlowState.NotNull }; 853internal abstract NullableAnnotation GetResolvedAnnotation(NullableAnnotation defaultAnnotation); 894internal override NullableAnnotation GetResolvedAnnotation(NullableAnnotation defaultAnnotation) => defaultAnnotation; 921return CreateNonLazyType(type.DefaultType, NullableAnnotation.Annotated, _customModifiers); 927return CreateNonLazyType(defaultType, defaultType.IsNullableType() ? type.NullableAnnotation : NullableAnnotation.NotAnnotated, _customModifiers); 978internal override NullableAnnotation GetResolvedAnnotation(NullableAnnotation defaultAnnotation) 980Debug.Assert(defaultAnnotation == NullableAnnotation.Ignored); 987return (NullableAnnotation)_resolved; 989NullableAnnotation getResolvedAnnotationCore() 994return NullableAnnotation.NotAnnotated; 1000return NullableAnnotation.Oblivious; 1008internal override bool IsResolved => _resolved != (int)NullableAnnotation.Ignored; 1024return CreateNonLazyType(type.DefaultType, NullableAnnotation.Annotated, _customModifiers); 1030return CreateNonLazyType(defaultType, defaultType.IsNullableType() ? type.NullableAnnotation : NullableAnnotation.NotAnnotated, _customModifiers); 1051_ = GetResolvedAnnotation(NullableAnnotation.Ignored); 1109internal override NullableAnnotation GetResolvedAnnotation(NullableAnnotation defaultAnnotation) => defaultAnnotation;
Symbols\TypeWithState.cs (6)
89var type = TypeWithAnnotations.Create(Type, NullableAnnotation.NotAnnotated); 92NullableAnnotation annotation = asAnnotatedType ? 93(Type?.IsValueType == true ? NullableAnnotation.NotAnnotated : NullableAnnotation.Annotated) : 94(State.IsNotNull() || Type?.CanContainNull() == false ? NullableAnnotation.NotAnnotated : NullableAnnotation.Annotated);
Microsoft.CodeAnalysis.CSharp.Emit.UnitTests (5)
CodeGen\CodeGenLocalFunctionTests.cs (2)
5363Assert.Equal(NullableAnnotation.Annotated, localFn1.ReturnTypeWithAnnotations.NullableAnnotation); 5367Assert.Equal(NullableAnnotation.Annotated, param.TypeWithAnnotations.NullableAnnotation);
CodeGen\CodeGenTupleTest.cs (3)
29001var obliviousObject = TypeWithAnnotations.Create(@object, NullableAnnotation.Oblivious); 29018var nullableObject = TypeWithAnnotations.Create(@object, NullableAnnotation.Annotated); 29019var nonNullableObject = TypeWithAnnotations.Create(@object, NullableAnnotation.NotAnnotated);
Microsoft.CodeAnalysis.CSharp.Emit3.UnitTests (118)
FieldKeywordTests.cs (108)
624Assert.Equal(NullableAnnotation.NotAnnotated, fieldSymbol.TypeWithAnnotations.NullableAnnotation); 625Assert.Equal(NullableAnnotation.Annotated, ((SynthesizedBackingFieldSymbol)fieldSymbol).GetInferredNullableAnnotation()); 672Assert.Equal(NullableAnnotation.NotAnnotated, fieldSymbol.TypeWithAnnotations.NullableAnnotation); 673Assert.Equal(NullableAnnotation.NotAnnotated, ((SynthesizedBackingFieldSymbol)fieldSymbol).GetInferredNullableAnnotation()); 713Assert.Equal(NullableAnnotation.NotAnnotated, fieldSymbol.TypeWithAnnotations.NullableAnnotation); 714Assert.Equal(NullableAnnotation.NotAnnotated, ((SynthesizedBackingFieldSymbol)fieldSymbol).GetInferredNullableAnnotation()); 7526verify(classC.GetMember<SynthesizedBackingFieldSymbol>("<P1>k__BackingField"), NullableAnnotation.Annotated); 7527verify(classC.GetMember<SynthesizedBackingFieldSymbol>("<P2>k__BackingField"), NullableAnnotation.NotAnnotated); 7528verify(classC.GetMember<SynthesizedBackingFieldSymbol>("<P3>k__BackingField"), NullableAnnotation.Annotated); 7529verify(classC.GetMember<SynthesizedBackingFieldSymbol>("<P4>k__BackingField"), NullableAnnotation.Annotated); 7530verify(classC.GetMember<SynthesizedBackingFieldSymbol>("<P5>k__BackingField"), NullableAnnotation.NotAnnotated); 7531verify(classC.GetMember<SynthesizedBackingFieldSymbol>("<P6>k__BackingField"), NullableAnnotation.Annotated); 7533void verify(SynthesizedBackingFieldSymbol field, NullableAnnotation expectedInferredAnnotation) 7535Assert.Equal(NullableAnnotation.NotAnnotated, field.TypeWithAnnotations.NullableAnnotation); 10870Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.GetInferredNullableAnnotation()); 10871Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 10892Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.GetInferredNullableAnnotation()); 10893Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 10924Assert.Equal(NullableAnnotation.Annotated, prop.BackingField.GetInferredNullableAnnotation()); 10925Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 10985Assert.Equal(NullableAnnotation.Annotated, field.GetInferredNullableAnnotation()); 10986Assert.Equal(NullableAnnotation.NotAnnotated, field.TypeWithAnnotations.NullableAnnotation); 11004Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.GetInferredNullableAnnotation()); 11005Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11024Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.GetInferredNullableAnnotation()); 11025Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11045Assert.Equal(NullableAnnotation.Annotated, prop.BackingField.GetInferredNullableAnnotation()); 11046Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11064Assert.Equal(NullableAnnotation.Annotated, prop.BackingField.GetInferredNullableAnnotation()); 11065Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11084Assert.Equal(NullableAnnotation.Annotated, prop.BackingField.GetInferredNullableAnnotation()); 11085Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11108Assert.Equal(NullableAnnotation.Annotated, prop.BackingField.GetInferredNullableAnnotation()); 11109Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11138Assert.Equal(NullableAnnotation.Annotated, prop.BackingField.GetInferredNullableAnnotation()); 11139Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11166Assert.Equal(NullableAnnotation.Annotated, prop.BackingField.GetInferredNullableAnnotation()); 11167Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11193Assert.Equal(NullableAnnotation.Annotated, prop.BackingField.GetInferredNullableAnnotation()); 11194Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11217Assert.Equal(NullableAnnotation.Annotated, prop.BackingField.GetInferredNullableAnnotation()); 11218Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11244Assert.Equal(NullableAnnotation.Annotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11269Assert.Equal(NullableAnnotation.Annotated, prop.BackingField.GetInferredNullableAnnotation()); 11270Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11298Assert.Equal(NullableAnnotation.Annotated, prop.BackingField.GetInferredNullableAnnotation()); 11299Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11322Assert.Equal(NullableAnnotation.Annotated, prop.BackingField.GetInferredNullableAnnotation()); 11323Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11349Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.GetInferredNullableAnnotation()); 11350Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11378Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.GetInferredNullableAnnotation()); 11379Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11408Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.GetInferredNullableAnnotation()); 11409Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11436Assert.Equal(NullableAnnotation.Annotated, prop.BackingField.GetInferredNullableAnnotation()); 11437Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11475Assert.Equal(NullableAnnotation.Annotated, prop.BackingField.GetInferredNullableAnnotation()); 11476Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11507Assert.Equal(NullableAnnotation.Annotated, prop.BackingField.GetInferredNullableAnnotation()); 11508Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11543Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11572Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.GetInferredNullableAnnotation()); 11573Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11596Assert.Equal(NullableAnnotation.Annotated, prop.BackingField.GetInferredNullableAnnotation()); 11597Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11638Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.GetInferredNullableAnnotation()); 11639Assert.Equal(NullableAnnotation.NotAnnotated, prop.BackingField.TypeWithAnnotations.NullableAnnotation); 11662Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.TypeWithAnnotations.NullableAnnotation); 11663Assert.Equal(NullableAnnotation.Annotated, sourceField.GetInferredNullableAnnotation()); 11667Assert.Equal(NullableAnnotation.NotAnnotated, metadataField.TypeWithAnnotations.NullableAnnotation); 11701Assert.Equal(NullableAnnotation.Annotated, sourceField.TypeWithAnnotations.NullableAnnotation); 11738Assert.Equal(NullableAnnotation.Annotated, sourceField.GetInferredNullableAnnotation()); 11739Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.TypeWithAnnotations.NullableAnnotation); 11759Assert.Equal(NullableAnnotation.Annotated, sourceField.GetInferredNullableAnnotation()); 11760Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.TypeWithAnnotations.NullableAnnotation); 11783Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.GetInferredNullableAnnotation()); 11784Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.TypeWithAnnotations.NullableAnnotation); 11808Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.GetInferredNullableAnnotation()); 11809Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.TypeWithAnnotations.NullableAnnotation); 11829Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.GetInferredNullableAnnotation()); 11830Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.TypeWithAnnotations.NullableAnnotation); 11861Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.GetInferredNullableAnnotation()); 11862Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.TypeWithAnnotations.NullableAnnotation); 11894Assert.Equal(NullableAnnotation.Annotated, sourceField.GetInferredNullableAnnotation()); 11895Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.TypeWithAnnotations.NullableAnnotation); 11924Assert.Equal(NullableAnnotation.Annotated, sourceField.GetInferredNullableAnnotation()); 11925Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.TypeWithAnnotations.NullableAnnotation); 11967Assert.Equal(NullableAnnotation.Annotated, sourceField.GetInferredNullableAnnotation()); 11968Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.TypeWithAnnotations.NullableAnnotation); 11996Assert.Equal(NullableAnnotation.Annotated, sourceField.GetInferredNullableAnnotation()); 11997Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.TypeWithAnnotations.NullableAnnotation); 12028Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.GetInferredNullableAnnotation()); 12029Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.TypeWithAnnotations.NullableAnnotation); 12063Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.GetInferredNullableAnnotation()); 12064Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.TypeWithAnnotations.NullableAnnotation); 12094Assert.Equal(NullableAnnotation.Annotated, sourceField.GetInferredNullableAnnotation()); 12095Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.TypeWithAnnotations.NullableAnnotation); 12128Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.GetInferredNullableAnnotation()); 12129Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.TypeWithAnnotations.NullableAnnotation); 12158Assert.Equal(NullableAnnotation.Annotated, sourceField.GetInferredNullableAnnotation()); 12159Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.TypeWithAnnotations.NullableAnnotation); 12191Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.GetInferredNullableAnnotation()); 12192Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.TypeWithAnnotations.NullableAnnotation); 12225Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.GetInferredNullableAnnotation()); 12226Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.TypeWithAnnotations.NullableAnnotation); 12256Assert.Equal(NullableAnnotation.Annotated, sourceField.GetInferredNullableAnnotation()); 12257Assert.Equal(NullableAnnotation.NotAnnotated, sourceField.TypeWithAnnotations.NullableAnnotation);
PartialEventsAndConstructorsTests.cs (3)
2956Assert.Equal(NullableAnnotation.NotAnnotated, e.TypeWithAnnotations.NullableAnnotation); 2960Assert.Equal(NullableAnnotation.Annotated, f.TypeWithAnnotations.NullableAnnotation); 2964Assert.Equal(NullableAnnotation.Oblivious, g.TypeWithAnnotations.NullableAnnotation);
Semantics\ExtensionTests2.cs (7)
24288Assert.Equal(NullableAnnotation.NotAnnotated, extension.ExtensionParameter.TypeWithAnnotations.NullableAnnotation); 24380Assert.Equal(NullableAnnotation.Annotated, tupleElements[0].NullableAnnotation); 24381Assert.Equal(NullableAnnotation.NotAnnotated, tupleElements[1].NullableAnnotation); 24382Assert.Equal(NullableAnnotation.Oblivious, tupleElements[2].NullableAnnotation); 24495Assert.Equal(NullableAnnotation.Annotated, typeArguments[0].NullableAnnotation); 24496Assert.Equal(NullableAnnotation.NotAnnotated, typeArguments[1].NullableAnnotation); 24497Assert.Equal(NullableAnnotation.Oblivious, typeArguments[2].NullableAnnotation);
Microsoft.CodeAnalysis.CSharp.Semantic.UnitTests (240)
Semantics\DelegateTypeTests.cs (4)
15666var funcOfObjectNullable = funcOfT.Construct(ImmutableArray.Create(TypeWithAnnotations.Create(objectType, NullableAnnotation.Annotated))); 15667var funcOfStringNullable = funcOfT.Construct(ImmutableArray.Create(TypeWithAnnotations.Create(stringType, NullableAnnotation.Annotated))); 15668var funcOfStringNotNullable = funcOfT.Construct(ImmutableArray.Create(TypeWithAnnotations.Create(stringType, NullableAnnotation.NotAnnotated))); 15684var setNotNullable = (TypeWithAnnotations type) => TypeWithAnnotations.Create(type.Type, NullableAnnotation.NotAnnotated);
Semantics\NullableReferenceTypesTests.cs (236)
8819Assert.Equal(NullableAnnotation.Oblivious, getParameterType(comp0).NullableAnnotation); 8824Assert.Equal(NullableAnnotation.Oblivious, getParameterType(comp1).NullableAnnotation); 8827Assert.Equal(NullableAnnotation.Oblivious, getParameterType(comp1).NullableAnnotation); 8832Assert.Equal(NullableAnnotation.Oblivious, getParameterType(comp1).NullableAnnotation); 8835Assert.Equal(NullableAnnotation.Oblivious, getParameterType(comp1).NullableAnnotation); 8842Assert.Equal(NullableAnnotation.Oblivious, getParameterType(comp0).NullableAnnotation); 8847Assert.Equal(NullableAnnotation.Oblivious, getParameterType(comp1).NullableAnnotation); 8850Assert.Equal(NullableAnnotation.Oblivious, getParameterType(comp1).NullableAnnotation); 8855Assert.Equal(NullableAnnotation.Oblivious, getParameterType(comp1).NullableAnnotation); 8858Assert.Equal(NullableAnnotation.Oblivious, getParameterType(comp1).NullableAnnotation); 8862Assert.Equal(NullableAnnotation.Oblivious, getParameterType(comp1).NullableAnnotation); 8865Assert.Equal(NullableAnnotation.Oblivious, getParameterType(comp1).NullableAnnotation); 8872Assert.Equal(NullableAnnotation.NotAnnotated, getParameterType(comp0).NullableAnnotation); 8877Assert.Equal(NullableAnnotation.NotAnnotated, getParameterType(comp1).NullableAnnotation); 8880Assert.Equal(NullableAnnotation.NotAnnotated, getParameterType(comp1).NullableAnnotation); 8885Assert.Equal(NullableAnnotation.NotAnnotated, getParameterType(comp1).NullableAnnotation); 8888Assert.Equal(NullableAnnotation.NotAnnotated, getParameterType(comp1).NullableAnnotation); 8895Assert.Equal(NullableAnnotation.NotAnnotated, getParameterType(comp1).NullableAnnotation); 8901Assert.Equal(NullableAnnotation.NotAnnotated, getParameterType(comp1).NullableAnnotation); 8938Assert.Equal(NullableAnnotation.Oblivious, c.GetMember<FieldSymbol>("C.F").TypeWithAnnotations.NullableAnnotation); 8939Assert.Equal(NullableAnnotation.Oblivious, c.GetMember<EventSymbol>("C.E").TypeWithAnnotations.NullableAnnotation); 8940Assert.Equal(NullableAnnotation.Oblivious, c.GetMember<PropertySymbol>("C.P").TypeWithAnnotations.NullableAnnotation); 8942Assert.Equal(NullableAnnotation.Oblivious, indexer.TypeWithAnnotations.NullableAnnotation); 8943Assert.Equal(NullableAnnotation.Oblivious, indexer.Parameters[0].TypeWithAnnotations.NullableAnnotation); 8945Assert.Equal(NullableAnnotation.Oblivious, method.ReturnTypeWithAnnotations.NullableAnnotation); 8946Assert.Equal(NullableAnnotation.Oblivious, method.Parameters[0].TypeWithAnnotations.NullableAnnotation); 8985Assert.Equal(NullableAnnotation.Oblivious, tuple.TupleElements[0].TypeWithAnnotations.NullableAnnotation); 8986Assert.Equal(NullableAnnotation.Oblivious, tuple.TupleElements[1].TypeWithAnnotations.NullableAnnotation); 9026Assert.Equal(NullableAnnotation.Oblivious, constraintType.NullableAnnotation); 9029Assert.Equal(NullableAnnotation.Oblivious, constraintType.NullableAnnotation); 9032Assert.Equal(NullableAnnotation.Oblivious, constraintType.NullableAnnotation); 9052Assert.Equal(NullableAnnotation.Oblivious, typeArg.NullableAnnotation); 9054Assert.Equal(NullableAnnotation.Oblivious, method.ReturnTypeWithAnnotations.NullableAnnotation); 9056Assert.Equal(NullableAnnotation.Oblivious, typeArg.NullableAnnotation); 9058Assert.Equal(NullableAnnotation.Oblivious, parameter.TypeWithAnnotations.NullableAnnotation); 9060Assert.Equal(NullableAnnotation.Oblivious, typeArg.NullableAnnotation); 10359Assert.Equal(NullableAnnotation.Oblivious, typeArg.NullableAnnotation); 10364Assert.Equal(NullableAnnotation.Oblivious, typeArg.NullableAnnotation); 11184verify("C1.F1", "System.String", NullableAnnotation.Oblivious); 11185verify("C1.F2", "System.String?", NullableAnnotation.Annotated); 11186verify("C1.F3", "System.Int32", NullableAnnotation.Oblivious); 11187verify("C1.F4", "System.Int32?", NullableAnnotation.Annotated); 11188verify("C1.F5", "System.Int32?", NullableAnnotation.Annotated); 11189verify("C2.F1", "System.String", NullableAnnotation.Oblivious); 11190verify("C2.F2", "System.String?", NullableAnnotation.Annotated); 11191verify("C2.F3", "System.Int32", NullableAnnotation.Oblivious); 11192verify("C2.F4", "System.Int32?", NullableAnnotation.Annotated); 11193verify("C2.F5", "System.Int32?", NullableAnnotation.Annotated); 11194verify("C3.F1", "System.String!", NullableAnnotation.NotAnnotated); 11195verify("C3.F2", "System.String?", NullableAnnotation.Annotated); 11196verify("C3.F3", "System.Int32", NullableAnnotation.NotAnnotated); 11197verify("C3.F4", "System.Int32?", NullableAnnotation.Annotated); 11198verify("C3.F5", "System.Int32?", NullableAnnotation.Annotated); 11202void verify(string methodName, string displayName, NullableAnnotation nullableAnnotation) 11280verify("C1.F1", "T", NullableAnnotation.Oblivious); 11281verify("C1.F2", "T?", NullableAnnotation.Annotated); 11282verify("C1.F3", "T", NullableAnnotation.Oblivious); 11283verify("C1.F4", "T?", NullableAnnotation.Annotated); 11284verify("C1.F5", "T", NullableAnnotation.Oblivious); 11285verify("C1.F6", "T?", NullableAnnotation.Annotated); 11286verify("C1.F7", "T?", NullableAnnotation.Annotated); 11287verify("C2.F1", "T", NullableAnnotation.Oblivious); 11288verify("C2.F2", "T?", NullableAnnotation.Annotated); 11289verify("C2.F3", "T", NullableAnnotation.Oblivious); 11290verify("C2.F4", "T?", NullableAnnotation.Annotated); 11291verify("C2.F5", "T", NullableAnnotation.Oblivious); 11292verify("C2.F6", "T?", NullableAnnotation.Annotated); 11293verify("C2.F7", "T?", NullableAnnotation.Annotated); 11294verify("C3.F1", "T", NullableAnnotation.NotAnnotated); 11295verify("C3.F2", "T?", NullableAnnotation.Annotated); 11296verify("C3.F3", "T!", NullableAnnotation.NotAnnotated); 11297verify("C3.F4", "T?", NullableAnnotation.Annotated); 11298verify("C3.F5", "T", NullableAnnotation.NotAnnotated); 11299verify("C3.F6", "T?", NullableAnnotation.Annotated); 11300verify("C3.F7", "T?", NullableAnnotation.Annotated); 11305void verify(string methodName, string displayName, NullableAnnotation nullableAnnotation) 12104Assert.Equal(NullableAnnotation.Annotated, m1.Parameters[0].TypeWithAnnotations.NullableAnnotation); 13903Assert.Equal(NullableAnnotation.Annotated, m1.Parameters[0].TypeWithAnnotations.NullableAnnotation); 13909Assert.Equal(NullableAnnotation.Annotated, m2.ReturnTypeWithAnnotations.NullableAnnotation); 59103Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 59137Assert.Equal(NullableAnnotation.Oblivious, symbol.TypeWithAnnotations.NullableAnnotation); 59165Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 59197Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 59226Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 59259Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 59291Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 59324Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 59358Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 59385Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 59415Assert.Equal(NullableAnnotation.Annotated, type.NullableAnnotation); 59443Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 59447Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 59451Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 71361Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 71365Assert.Equal(NullableAnnotation.NotAnnotated, symbol.TypeWithAnnotations.NullableAnnotation); 71397Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 71400Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 71438Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 71441Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 71475Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 71478Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 71512Assert.Equal(NullableAnnotation.NotAnnotated, symbol.TypeWithAnnotations.NullableAnnotation); 71515Assert.Equal(NullableAnnotation.NotAnnotated, symbol.TypeWithAnnotations.NullableAnnotation); 71547Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 71550Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 71580Assert.Equal(NullableAnnotation.NotAnnotated, symbol.TypeWithAnnotations.NullableAnnotation); 71617Assert.Equal(NullableAnnotation.NotAnnotated, symbol.TypeWithAnnotations.NullableAnnotation); 71620Assert.Equal(NullableAnnotation.Annotated, symbol.TypeWithAnnotations.NullableAnnotation); 113239m1.Construct(ImmutableArray.Create(TypeWithAnnotations.Create(a, NullableAnnotation.Annotated))), 113240m1.Construct(ImmutableArray.Create(TypeWithAnnotations.Create(a, NullableAnnotation.NotAnnotated))), 113241m1.Construct(ImmutableArray.Create(TypeWithAnnotations.Create(a, NullableAnnotation.Oblivious))) 113246m1.Construct(ImmutableArray.Create(TypeWithAnnotations.Create(a, NullableAnnotation.Annotated))), 113247m1.Construct(ImmutableArray.Create(TypeWithAnnotations.Create(a, NullableAnnotation.NotAnnotated))), 113248m1.Construct(ImmutableArray.Create(TypeWithAnnotations.Create(a, NullableAnnotation.Oblivious))) 113605Assert.Equal(NullableAnnotation.NotAnnotated, f1.TypeWithAnnotations.NullableAnnotation); 113630Assert.Equal(NullableAnnotation.Oblivious, f1.TypeWithAnnotations.NullableAnnotation); 115921var c2 = cDefinition.Construct(ImmutableArray.Create(TypeWithAnnotations.Create(cDefinition.TypeParameters.Single(), NullableAnnotation.NotAnnotated))); 115933var c3 = cDefinition.Construct(ImmutableArray.Create(TypeWithAnnotations.Create(cDefinition.TypeParameters.Single(), NullableAnnotation.Annotated))); 115963var i1 = iDefinition.Construct(ImmutableArray.Create(TypeWithAnnotations.Create(iDefinition.TypeParameters.Single(), NullableAnnotation.Annotated))); 115972var c2 = cDefinition.Construct(ImmutableArray.Create(TypeWithAnnotations.Create(cDefinition.TypeParameters.Single(), NullableAnnotation.NotAnnotated))); 115984var i2b = i2.Construct(ImmutableArray.Create(TypeWithAnnotations.Create(iDefinition.TypeParameters.Single(), NullableAnnotation.Annotated))); 115989var i2c = i2.Construct(ImmutableArray.Create(TypeWithAnnotations.Create(i2.TypeParameters.Single(), NullableAnnotation.Annotated))); 115993var c3 = cDefinition.Construct(ImmutableArray.Create(TypeWithAnnotations.Create(cDefinition.TypeParameters.Single(), NullableAnnotation.Annotated))); 115998var i3b = i3.Construct(ImmutableArray.Create(TypeWithAnnotations.Create(i3.TypeParameters.Single(), NullableAnnotation.Annotated))); 126960private static readonly NullableAnnotation[] s_AllNullableAnnotations = ((NullableAnnotation[])Enum.GetValues(typeof(NullableAnnotation))).Where(n => n != NullableAnnotation.Ignored).ToArray(); 126966var inputs = new[] { NullableAnnotation.Annotated, NullableAnnotation.Oblivious, NullableAnnotation.NotAnnotated }; 126967Func<int, int, NullableAnnotation> getResult = (i, j) => NullableAnnotationExtensions.Join(inputs[i], inputs[j]); 126969var expected = new NullableAnnotation[3, 3] 126971{ NullableAnnotation.Annotated, NullableAnnotation.Annotated, NullableAnnotation.Annotated }, 126972{ NullableAnnotation.Annotated, NullableAnnotation.Oblivious, NullableAnnotation.Oblivious }, 126973{ NullableAnnotation.Annotated, NullableAnnotation.Oblivious, NullableAnnotation.NotAnnotated }, 126998var inputs = new[] { NullableAnnotation.Annotated, NullableAnnotation.Oblivious, NullableAnnotation.NotAnnotated }; 126999Func<int, int, NullableAnnotation> getResult = (i, j) => NullableAnnotationExtensions.Meet(inputs[i], inputs[j]); 127001var expected = new NullableAnnotation[3, 3] 127003{ NullableAnnotation.Annotated, NullableAnnotation.Oblivious, NullableAnnotation.NotAnnotated }, 127004{ NullableAnnotation.Oblivious, NullableAnnotation.Oblivious, NullableAnnotation.NotAnnotated }, 127005{ NullableAnnotation.NotAnnotated, NullableAnnotation.NotAnnotated, NullableAnnotation.NotAnnotated }, 127029var inputs = new[] { NullableAnnotation.Annotated, NullableAnnotation.Oblivious, NullableAnnotation.NotAnnotated }; 127030Func<int, int, NullableAnnotation> getResult = (i, j) => NullableAnnotationExtensions.EnsureCompatible(inputs[i], inputs[j]); 127032var expected = new NullableAnnotation[3, 3] 127034{ NullableAnnotation.Annotated, NullableAnnotation.Annotated, NullableAnnotation.NotAnnotated }, 127035{ NullableAnnotation.Annotated, NullableAnnotation.Oblivious, NullableAnnotation.NotAnnotated }, 127036{ NullableAnnotation.NotAnnotated, NullableAnnotation.NotAnnotated, NullableAnnotation.NotAnnotated }, 127042private static void AssertEqual(NullableAnnotation[,] expected, Func<int, int, NullableAnnotation> getResult, int size) 127044AssertEx.Equal<NullableAnnotation>(expected, getResult, (na1, na2) => na1 == na2, na => $"NullableAnnotation.{na}", "{0,-32:G}", size); 127055foreach (var a in s_AllNullableAnnotations) 127057foreach (var b in s_AllNullableAnnotations) 127081foreach (var a in s_AllNullableAnnotations) 127083foreach (var b in s_AllNullableAnnotations) 127085foreach (var c in s_AllNullableAnnotations) 127087var leftFirst = a.Join(b).Join(c); 127088var rightFirst = a.Join(b.Join(c)); 127115foreach (var a in s_AllNullableAnnotations) 127117foreach (var b in s_AllNullableAnnotations) 127119foreach (var c in s_AllNullableAnnotations) 127121var leftFirst = a.Meet(b).Meet(c); 127122var rightFirst = a.Meet(b.Meet(c)); 127150foreach (var a in s_AllNullableAnnotations) 127152foreach (var b in s_AllNullableAnnotations) 127154foreach (var c in s_AllNullableAnnotations) 127158var leftFirst = a.EnsureCompatible(b).EnsureCompatible(c); 127159var rightFirst = a.EnsureCompatible(b.EnsureCompatible(c)); 127170foreach (var a in s_AllNullableAnnotations) 127172foreach (var b in s_AllNullableAnnotations) 127174var leftFirst = a.Join(b); 127175var rightFirst = b.Join(a); 127199foreach (var a in s_AllNullableAnnotations) 127201foreach (var b in s_AllNullableAnnotations) 127203var leftFirst = a.Meet(b); 127204var rightFirst = b.Meet(a); 127227foreach (var a in s_AllNullableAnnotations) 127229foreach (var b in s_AllNullableAnnotations) 127231var leftFirst = a.EnsureCompatible(b); 127232var rightFirst = b.EnsureCompatible(a); 138373Assert.Equal(NullableAnnotation.NotAnnotated, interfaces[0].TypeArgumentsWithAnnotationsNoUseSiteDiagnostics.Single().NullableAnnotation); 138375Assert.Equal(NullableAnnotation.Oblivious, interfaces[1].TypeArgumentsWithAnnotationsNoUseSiteDiagnostics.Single().NullableAnnotation); 139545Assert.True(dGoo.Parameters[0].TypeWithAnnotations.NullableAnnotation == NullableAnnotation.Annotated); 139573Assert.Equal(NullableAnnotation.Annotated, c2Goo.Parameters[0].TypeWithAnnotations.NullableAnnotation); 139601Assert.Equal(NullableAnnotation.Annotated, ((ArrayTypeSymbol)c2Goo.Parameters[0].Type).ElementTypeWithAnnotations.NullableAnnotation); 139631Assert.Equal(NullableAnnotation.NotAnnotated, tuple.TupleElements[0].TypeWithAnnotations.NullableAnnotation); 139633Assert.Equal(NullableAnnotation.Annotated, tuple.TupleElements[1].TypeWithAnnotations.NullableAnnotation); 139661Assert.Equal(NullableAnnotation.Annotated, c2Goo.ReturnTypeWithAnnotations.NullableAnnotation); 139689Assert.Equal(NullableAnnotation.Annotated, ((ArrayTypeSymbol)c2Goo.ReturnType).ElementTypeWithAnnotations.NullableAnnotation); 139719Assert.Equal(NullableAnnotation.NotAnnotated, tuple.TupleElements[0].TypeWithAnnotations.NullableAnnotation); 139721Assert.Equal(NullableAnnotation.Annotated, tuple.TupleElements[1].TypeWithAnnotations.NullableAnnotation); 139744Assert.Equal(NullableAnnotation.Annotated, dGoo.Parameters[0].TypeWithAnnotations.NullableAnnotation); 139767Assert.Equal(NullableAnnotation.Annotated, ((ArrayTypeSymbol)dGoo.Parameters[0].Type).ElementTypeWithAnnotations.NullableAnnotation); 139792Assert.Equal(NullableAnnotation.NotAnnotated, tuple.TupleElements[0].TypeWithAnnotations.NullableAnnotation); 139794Assert.Equal(NullableAnnotation.Annotated, tuple.TupleElements[1].TypeWithAnnotations.NullableAnnotation); 139817Assert.Equal(NullableAnnotation.Annotated, dGoo.ReturnTypeWithAnnotations.NullableAnnotation); 139840Assert.Equal(NullableAnnotation.Annotated, ((ArrayTypeSymbol)dGoo.ReturnType).ElementTypeWithAnnotations.NullableAnnotation); 139865Assert.Equal(NullableAnnotation.NotAnnotated, tuple.TupleElements[0].TypeWithAnnotations.NullableAnnotation); 139867Assert.Equal(NullableAnnotation.Annotated, tuple.TupleElements[1].TypeWithAnnotations.NullableAnnotation); 139892Assert.Equal(NullableAnnotation.Annotated, dGoo.ReturnTypeWithAnnotations.NullableAnnotation); 139898Assert.Equal(NullableAnnotation.Annotated, tuple.TupleElements[0].TypeWithAnnotations.NullableAnnotation); 150152Assert.Equal(NullableAnnotation.Annotated, parameterType.NullableAnnotation); 154986VerifyVariableAnnotation(model, locals[0], "T? t1", NullableAnnotation.Annotated); 154987VerifyVariableAnnotation(model, locals[1], "T? t2", NullableAnnotation.Annotated); 154988VerifyVariableAnnotation(model, locals[2], "T? t3", NullableAnnotation.Annotated); 154989VerifyVariableAnnotation(model, locals[3], "T? t4", NullableAnnotation.Annotated); 154990VerifyVariableAnnotation(model, locals[4], "T? t5", NullableAnnotation.Annotated); 155055VerifyVariableAnnotation(model, locals[0], "T? y1", NullableAnnotation.Annotated); 155056VerifyVariableAnnotation(model, locals[1], "T? y2", NullableAnnotation.Annotated); 155057VerifyVariableAnnotation(model, locals[2], "T? y3", NullableAnnotation.Annotated); 155058VerifyVariableAnnotation(model, locals[3], "T? y4", NullableAnnotation.Annotated); 155059VerifyVariableAnnotation(model, locals[4], "U? y5", NullableAnnotation.Annotated); 155062private static void VerifyVariableAnnotation(SemanticModel model, VariableDeclaratorSyntax syntax, string expectedDisplay, NullableAnnotation expectedAnnotation) 155067(expectedAnnotation == NullableAnnotation.Annotated) ? CodeAnalysis.NullableAnnotation.Annotated : CodeAnalysis.NullableAnnotation.NotAnnotated,
Microsoft.CodeAnalysis.CSharp.Symbol.UnitTests (6)
Symbols\PartialPropertiesTests.cs (3)
1707Assert.Equal(NullableAnnotation.NotAnnotated, p1.TypeWithAnnotations.NullableAnnotation); 1711Assert.Equal(NullableAnnotation.Annotated, p2.TypeWithAnnotations.NullableAnnotation); 1715Assert.Equal(NullableAnnotation.Oblivious, p3.TypeWithAnnotations.NullableAnnotation);
Symbols\Source\UpdatedContainingSymbolAndNullableAnntotationTests.cs (3)
43var wrappedLocal1 = UpdatedContainingSymbolAndNullableAnnotationLocal.CreateForTest(local1, m2, TypeWithAnnotations.Create(local1.Type, NullableAnnotation.Annotated)); 44var wrappedLocal1a = UpdatedContainingSymbolAndNullableAnnotationLocal.CreateForTest(local1, m2, TypeWithAnnotations.Create(local1.Type, NullableAnnotation.Annotated)); 45var wrappedLocal2 = UpdatedContainingSymbolAndNullableAnnotationLocal.CreateForTest(local2, m2, TypeWithAnnotations.Create(local1.Type, NullableAnnotation.NotAnnotated));
Microsoft.CodeAnalysis.CSharp.Test.Utilities (1)
UsesIsNullableVisitor.cs (1)
158return (type.NullableAnnotation != NullableAnnotation.Oblivious && typeSymbol.IsReferenceType && !typeSymbol.IsErrorType()) ||