Beispiel #1
0
        internal override TypeSymbol SetUnknownNullabilityForReferenceTypes()
        {
            TypeSymbolWithAnnotations oldPointedAtType = PointedAtType;
            TypeSymbolWithAnnotations newPointedAtType = oldPointedAtType.SetUnknownNullabilityForReferenceTypes();

            if (oldPointedAtType.IsSameAs(newPointedAtType))
            {
                return(this);
            }
            else
            {
                return(new PointerTypeSymbol(newPointedAtType));
            }
        }
Beispiel #2
0
        internal override TypeSymbol SetUnknownNullabilityForReferenceTypes()
        {
            TypeSymbolWithAnnotations oldElementType = ElementType;
            TypeSymbolWithAnnotations newElementType = oldElementType.SetUnknownNullabilityForReferenceTypes();

            if (oldElementType.IsSameAs(newElementType))
            {
                return(this);
            }
            else
            {
                return(IsSZArray ?
                       ArrayTypeSymbol.CreateSZArray(newElementType, _baseType) :
                       ArrayTypeSymbol.CreateMDArray(newElementType, Rank, Sizes, LowerBounds, _baseType));
            }
        }