1 write to UnderlyingType
Microsoft.CSharp (1)
Microsoft\CSharp\RuntimeBinder\Semantics\Types\NullableType.cs (1)
25
UnderlyingType
= underlyingType;
38 references to UnderlyingType
Microsoft.CSharp (38)
Microsoft\CSharp\RuntimeBinder\Errors\UserStringBuilder.cs (1)
526
ErrAppendType(((NullableType)pType).
UnderlyingType
, null);
Microsoft\CSharp\RuntimeBinder\Semantics\Conversion.cs (4)
320
!nub1.
UnderlyingType
.IsPredefined ||
321
!nub2.
UnderlyingType
.IsPredefined)
326
PredefinedType pt1 = (type1 as NullableType).
UnderlyingType
.PredefinedType;
327
PredefinedType pt2 = (type2 as NullableType).
UnderlyingType
.PredefinedType;
Microsoft\CSharp\RuntimeBinder\Semantics\Conversions.cs (1)
326
public static bool FWrappingConv(CType typeSrc, CType typeDst) => typeDst is NullableType nubDst && typeSrc == nubDst.
UnderlyingType
;
Microsoft\CSharp\RuntimeBinder\Semantics\ImplicitConversion.cs (2)
275
if (SymbolLoader.HasBaseConversion(nubDst.
UnderlyingType
, _typeSrc) && !CConversions.FWrappingConv(_typeSrc, nubDst))
447
if (SymbolLoader.HasBaseConversion(nubSrc.
UnderlyingType
, _typeDest) && !CConversions.FUnwrappingConv(nubSrc, _typeDest))
Microsoft\CSharp\RuntimeBinder\Semantics\MethodTypeInferrer.cs (2)
843
ExactInference(nubSource.
UnderlyingType
, nubDest.
UnderlyingType
);
Microsoft\CSharp\RuntimeBinder\Semantics\Nullable.cs (1)
52
CType typeBase = nubSrc.
UnderlyingType
;
Microsoft\CSharp\RuntimeBinder\Semantics\Operators.cs (11)
673
pNonLiftedArgument = mustCast(pNonLiftedArgument, paramNub.
UnderlyingType
);
1162
CType nonNub = nub.
UnderlyingType
;
1744
nonLiftedArg = mustCast(nonLiftedArg, type.
UnderlyingType
);
1745
Expr nonLiftedResult = BindIncOpCore(ek, flags, nonLiftedArg, type.
UnderlyingType
);
1859
Debug.Assert(arg1.Type.IsPredefType(PredefinedType.PT_BOOL) || arg1.Type is NullableType argNubType1 && argNubType1.
UnderlyingType
.IsPredefType(PredefinedType.PT_BOOL));
1860
Debug.Assert(arg2.Type.IsPredefType(PredefinedType.PT_BOOL) || arg2.Type is NullableType argNubType2 && argNubType2.
UnderlyingType
.IsPredefType(PredefinedType.PT_BOOL));
1869
Debug.Assert(expr1.Type.IsPredefType(PredefinedType.PT_BOOL) || expr1.Type is NullableType expNubType1 && expNubType1.
UnderlyingType
.IsPredefType(PredefinedType.PT_BOOL));
1870
Debug.Assert(expr2.Type.IsPredefType(PredefinedType.PT_BOOL) || expr2.Type is NullableType expNubType2 && expNubType2.
UnderlyingType
.IsPredefType(PredefinedType.PT_BOOL));
2042
CType nonNullableType1 = arg1.Type is NullableType arg1NubType ? arg1NubType.
UnderlyingType
: arg1.Type;
2043
CType nonNullableType2 = arg2.Type is NullableType arg2NubType ? arg2NubType.
UnderlyingType
: arg2.Type;
2374
type = nt.
UnderlyingType
;
Microsoft\CSharp\RuntimeBinder\Semantics\Symbols\SymbolLoader.cs (1)
421
pSource = nubSource.
UnderlyingType
; // pSource.IsValType() known to be true.
Microsoft\CSharp\RuntimeBinder\Semantics\Tree\Visitors\ExpressionTreeRewriter.cs (7)
425
else if (typeL is NullableType nubL && nubL.
UnderlyingType
.IsEnumType)
428
convertL = TypeManager.GetNullable(nubL.
UnderlyingType
.UnderlyingEnumType);
439
else if (typeR is NullableType nubR && nubR.
UnderlyingType
.IsEnumType)
442
convertR = TypeManager.GetNullable(nubR.
UnderlyingType
.UnderlyingEnumType);
446
if (typeL is NullableType nubL2 && nubL2.
UnderlyingType
== typeR)
450
if (typeR is NullableType nubR2 && nubR2.
UnderlyingType
== typeL)
494
Debug.Assert(!(origOp.Type is NullableType nub) || !nub.
UnderlyingType
.IsEnumType);
Microsoft\CSharp\RuntimeBinder\Semantics\TypeBind.cs (2)
233
else if (arg is NullableType nubArg && SymbolLoader.HasBaseConversion(nubArg.
UnderlyingType
, typeBnd)) // This is inlining FBoxingConv
237
if (typeBnd.IsPredefType(PredefinedType.PT_ENUM) || nubArg.
UnderlyingType
== typeBnd)
Microsoft\CSharp\RuntimeBinder\Semantics\Types\NullableType.cs (5)
30
_ats ??= TypeManager.GetAggregate(TypeManager.GetNullable(), TypeArray.Allocate(
UnderlyingType
));
32
public override CType StripNubs() =>
UnderlyingType
;
37
return
UnderlyingType
;
51
get => typeof(Nullable<>).MakeGenericType(
UnderlyingType
.AssociatedSystemType);
54
public override CType BaseOrParameterOrElementType =>
UnderlyingType
;
Microsoft\CSharp\RuntimeBinder\Semantics\Types\TypeManager.cs (1)
281
typeDst = SubstTypeCore(typeSrc = ((NullableType)type).
UnderlyingType
, pctx);