diff options
author | Jon Hanna <jon@hackcraft.net> | 2017-08-22 22:05:02 +0300 |
---|---|---|
committer | Omar Tawfik <OmarTawfik@users.noreply.github.com> | 2017-08-22 22:05:02 +0300 |
commit | 02d647bba44e63496aaa4aa4b5953a355a4c8f1b (patch) | |
tree | 29a033df86477813a6506b9f7cf97da74c1730e1 /src | |
parent | 158b600e764c7dcc1e7117609c4d9709d62f1755 (diff) |
Remove Microsoft.CSharp.RuntimeBinder.Semantics.SymbolLoader.FCanLift (#23062)
Always returns true (flag for static compiling where nullable and hence
lifting is not available).
Remove, and paths for it being false.
Diffstat (limited to 'src')
3 files changed, 5 insertions, 18 deletions
diff --git a/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/ExpressionBinder.cs b/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/ExpressionBinder.cs index 1e7c3bb6be..f29937a477 100644 --- a/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/ExpressionBinder.cs +++ b/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/ExpressionBinder.cs @@ -911,7 +911,7 @@ namespace Microsoft.CSharp.RuntimeBinder.Semantics 0, false)); } - else if (GetSymbolLoader().FCanLift() && typeParam.IsNonNubValType() && + else if (typeParam.IsNonNubValType() && GetTypes().SubstType(methCur.RetType, atsCur).IsNonNubValType() && canConvert(arg, nubParam = GetTypes().GetNullable(typeParam))) { diff --git a/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Operators.cs b/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Operators.cs index c744b7f1dd..5d250aab53 100644 --- a/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Operators.cs +++ b/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Operators.cs @@ -154,11 +154,8 @@ namespace Microsoft.CSharp.RuntimeBinder.Semantics { Debug.Assert(rgbofs != null); - int ibos; - int ibosMinLift; - - ibosMinLift = GetSymbolLoader().FCanLift() ? 0 : g_binopSignatures.Length; - for (ibos = 0; ibos < g_binopSignatures.Length; ibos++) + int ibosMinLift = 0; + for (int ibos = 0; ibos < g_binopSignatures.Length; ibos++) { BinOpSig bos = g_binopSignatures[ibos]; if ((bos.mask & info.mask) == 0) @@ -704,8 +701,6 @@ namespace Microsoft.CSharp.RuntimeBinder.Semantics else { pgrflt = LiftFlags.None; - if (!GetSymbolLoader().FCanLift()) - return false; typeDst = GetSymbolLoader().GetTypeManager().GetNullable(typeDst); if (!canConvert(info.arg1, typeDst)) return false; @@ -740,8 +735,6 @@ namespace Microsoft.CSharp.RuntimeBinder.Semantics else { pgrflt = LiftFlags.None; - if (!GetSymbolLoader().FCanLift()) - return false; typeDst = GetSymbolLoader().GetTypeManager().GetNullable(typeDst); if (!canConvert(info.arg2, typeDst)) return false; @@ -1490,7 +1483,7 @@ namespace Microsoft.CSharp.RuntimeBinder.Semantics Debug.Assert(pArgument != null); Debug.Assert(pArgument.Type != null); - long iuosMinLift = GetSymbolLoader().FCanLift() ? 0 : g_rguos.Length; + long iuosMinLift = 0; CType pArgumentType = pArgument.Type; CType pRawType = pArgumentType.StripNubs(); @@ -2630,8 +2623,7 @@ namespace Microsoft.CSharp.RuntimeBinder.Semantics false)); return true; } - if (fDontLift || !GetSymbolLoader().FCanLift() || - !UserDefinedBinaryOperatorCanBeLifted(ek, method, ats, paramsCur)) + if (fDontLift || !UserDefinedBinaryOperatorCanBeLifted(ek, method, ats, paramsCur)) { return false; } diff --git a/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Symbols/SymbolLoader.cs b/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Symbols/SymbolLoader.cs index 28f344f1b9..4940c4c308 100644 --- a/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Symbols/SymbolLoader.cs +++ b/src/Microsoft.CSharp/src/Microsoft/CSharp/RuntimeBinder/Semantics/Symbols/SymbolLoader.cs @@ -719,11 +719,6 @@ namespace Microsoft.CSharp.RuntimeBinder.Semantics return pSource is TypeParameterType srcParType && HasImplicitTypeParameterBaseConversion(srcParType, pDest); } - public bool FCanLift() - { - return null != GetPredefAgg(PredefinedType.PT_G_OPTIONAL); - } - public bool IsBaseAggregate(AggregateSymbol derived, AggregateSymbol @base) { Debug.Assert(!derived.IsEnum() && !@base.IsEnum()); |