Exemplo n.º 1
0
        internal override TypeSymbol MergeNullability(TypeSymbol other, VarianceKind variance)
        {
            Debug.Assert(this.Equals(other, TypeCompareKind.IgnoreDynamicAndTupleNames | TypeCompareKind.IgnoreNullableModifiersForReferenceTypes));
            TypeSymbolWithAnnotations pointedAtType = PointedAtType.MergeNullability(((PointerTypeSymbol)other).PointedAtType, VarianceKind.None);

            return(WithPointedAtType(pointedAtType));
        }
Exemplo n.º 2
0
        internal override TypeSymbol MergeNullability(TypeSymbol other, VarianceKind variance, out bool hadNullabilityMismatch)
        {
            Debug.Assert(this.Equals(other, TypeCompareKind.IgnoreDynamicAndTupleNames));
            TypeSymbolWithAnnotations pointedAtType = PointedAtType.MergeNullability(((PointerTypeSymbol)other).PointedAtType, VarianceKind.None, out hadNullabilityMismatch);

            return(WithPointedAtType(pointedAtType));
        }
Exemplo n.º 3
0
 private PointerTypeSymbol WithPointedAtType(TypeSymbolWithAnnotations newPointedAtType)
 {
     return(PointedAtType.IsSameAs(newPointedAtType) ? this : new PointerTypeSymbol(newPointedAtType));
 }
Exemplo n.º 4
0
 internal override void AddNullableTransforms(ArrayBuilder <byte> transforms)
 {
     PointedAtType.AddNullableTransforms(transforms);
 }
Exemplo n.º 5
0
 internal override TypeSymbol SetUnknownNullabilityForReferenceTypes()
 {
     return(WithPointedAtType(PointedAtType.SetUnknownNullabilityForReferenceTypes()));
 }