1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-09 20:12:21 +02:00

Nullable fixes for ??

This commit is contained in:
Brian Fiete 2019-12-13 14:23:06 -08:00
parent 8b17718fed
commit ad11792940
2 changed files with 14 additions and 1 deletions

View file

@ -54,6 +54,14 @@ namespace System
return mValue;
}
public bool TryGetValue(ref T outValue)
{
if (!mHasValue)
return false;
outValue = mValue;
return true;
}
public T GetValueOrDefault(T defaultmValue)
{
return mHasValue ? mValue : defaultmValue;
@ -383,6 +391,11 @@ namespace System
//
public static T operator??(Nullable<T> lhs, T rhs)
{
return (lhs.mHasValue) ? lhs.mValue : rhs;
}
public static TResult? operator??<TOther, TResult>(TOther lhs, Nullable<T> rhs) where TResult = operator TOther ?? T where TResult : struct
{
if (!rhs.mHasValue) return null;

View file

@ -1559,7 +1559,7 @@ const char* Beefy::BfGetOpName(BfBinaryOp binOp)
case BfBinaryOp_Compare: return "<=>";
case BfBinaryOp_ConditionalAnd: return "&&";
case BfBinaryOp_ConditionalOr: return "||";
case BfBinaryOp_NullCoalesce: return "&&";
case BfBinaryOp_NullCoalesce: return "??";
case BfBinaryOp_Is: return "is";
case BfBinaryOp_As: return "as";
default: return "???";