66 references to AreEquivalent
System.Linq.Expressions (66)
System\Dynamic\BindingRestrictions.cs (1)
270return obj is TypeRestriction other && other._expression == _expression && TypeUtils.AreEquivalent(other._type, _type);
System\Dynamic\DynamicObject.cs (1)
847if (TypeUtils.AreEquivalent(Expression.Type, typeof(DynamicObject)))
System\Dynamic\ExpandoObject.cs (1)
997if (TypeUtils.AreEquivalent(Expression.Type, LimitType))
System\Dynamic\Utils\TypeUtils.cs (15)
293if (AreEquivalent(source, dest)) 299if (IsNullableType(source) && AreEquivalent(dest, GetNonNullableType(source))) 304if (IsNullableType(dest) && AreEquivalent(source, GetNonNullableType(dest))) 457if (AreEquivalent(destGen, iface)) 484if (AreEquivalent(sourceGen, iface)) 561if (AreEquivalent(sourceArgument, destArgument)) 663if (!AreEquivalent(left, right)) 679AreEquivalent(source, destination) // identity conversion 709if (AreEquivalent(nnExprType, convertFrom) && AreEquivalent(nnConvType, convertToType)) 725if ((mi.Name == "op_Implicit" || mi.Name == "op_Explicit") && AreEquivalent(mi.ReturnType, typeTo)) 728if (pis.Length == 1 && AreEquivalent(pis[0].ParameterType, typeFrom)) 872if (type.IsConstructedGenericType && AreEquivalent(type.GetGenericTypeDefinition(), definition)) 919if (AreEquivalent(dest, src)) 928AreEquivalent(type, subType) || subType.IsSubclassOf(type);
System\Linq\Expressions\BinaryExpression.cs (12)
294!TypeUtils.AreEquivalent(method.GetParametersCached()[0].ParameterType.GetNonRefType(), Left.Type); 318Debug.Assert(method == null && TypeUtils.AreEquivalent(type, right.Type) && nodeType == ExpressionType.Coalesce); 343TypeUtils.AreEquivalent(right, left) && 346TypeUtils.AreEquivalent(method.ReturnType, left.GetNonNullableType()); 725if (method == null && !TypeUtils.AreEquivalent(leftType, rightType)) 858return TypeUtils.AreEquivalent(left, right) && 860TypeUtils.AreEquivalent(pms[1].ParameterType, right.GetNonNullableType()); 1288returnType = (left.Type.IsNullableType() && TypeUtils.AreEquivalent(method.ReturnType, left.Type.GetNonNullableType())) ? left.Type : method.ReturnType; 1294returnType = (left.Type.IsNullableType() && TypeUtils.AreEquivalent(method.ReturnType, left.Type.GetNonNullableType())) ? left.Type : method.ReturnType; 1409if (!TypeUtils.AreEquivalent(method.ReturnType, right.Type)) 1557if (!TypeUtils.AreEquivalent(mi.ReturnType, left.Type)) 1563if (!TypeUtils.AreEquivalent(pms[0].ParameterType, method.ReturnType))
System\Linq\Expressions\BlockExpression.cs (1)
1051if (!TypeUtils.AreEquivalent(type, last.Type))
System\Linq\Expressions\CatchBlock.cs (1)
138ContractUtils.Requires(variable == null || TypeUtils.AreEquivalent(variable.Type, type), nameof(variable));
System\Linq\Expressions\Compiler\ILGen.cs (1)
554if (TypeUtils.AreEquivalent(typeFrom, typeTo))
System\Linq\Expressions\Compiler\LambdaCompiler.Address.cs (5)
70if (TypeUtils.AreEquivalent(type, node.Type)) 85if (TypeUtils.AreEquivalent(type, node.Type)) 114if (TypeUtils.AreEquivalent(type, node.Type)) 188if (!TypeUtils.AreEquivalent(type, node.Type) || node.Indexer != null) 237if (TypeUtils.AreEquivalent(type, node.Type))
System\Linq\Expressions\Compiler\LambdaCompiler.Expressions.cs (6)
133if (!TypeUtils.AreEquivalent(node.Type, type)) 1114Debug.Assert(TypeUtils.AreEquivalent(resultType.GetNonNullableType(), mc.Type.GetNonNullableType())); 1162if (resultType.IsNullableType() && !TypeUtils.AreEquivalent(resultType, mc.Type)) 1169if (TypeUtils.AreEquivalent(resultType, mc.Type.GetNullableType())) 1200if (TypeUtils.AreEquivalent(resultType, mc.Type.GetNullableType())) 1266if (resultType.IsNullableType() && !TypeUtils.AreEquivalent(resultType, mc.Type))
System\Linq\Expressions\Compiler\LambdaCompiler.Logical.cs (5)
148else if (TypeUtils.AreEquivalent(b.Type, b.Left.Type)) 156if (!TypeUtils.AreEquivalent(b.Type, nnLeftType)) 167if (!TypeUtils.AreEquivalent(b.Right.Type, b.Type)) 214if (!TypeUtils.AreEquivalent(b.Right.Type, b.Type)) 224if (!TypeUtils.AreEquivalent(b.Left.Type, b.Type))
System\Linq\Expressions\Compiler\LambdaCompiler.Statements.cs (1)
375!TypeUtils.AreEquivalent(type, node.Cases[0].TestValues[0].Type))
System\Linq\Expressions\Compiler\LambdaCompiler.Unary.cs (2)
149Debug.Assert(TypeUtils.AreEquivalent(operandType, resultType)); 336if (TypeUtils.AreEquivalent(node.Operand.Type, node.Type))
System\Linq\Expressions\ConditionalExpression.cs (1)
144if (!TypeUtils.AreEquivalent(ifTrue.Type, ifFalse.Type))
System\Linq\Expressions\ExpressionVisitor.cs (1)
690if (TypeUtils.AreEquivalent(before, after))
System\Linq\Expressions\Interpreter\LightCompiler.cs (2)
2610if (!TypeUtils.AreEquivalent(node.Type, typeToCompare)) 2631else if (node.Right.Type.IsValueType && !TypeUtils.AreEquivalent(node.Type, node.Right.Type))
System\Linq\Expressions\NewExpression.cs (1)
241if (!TypeUtils.AreEquivalent(member.DeclaringType, constructor.DeclaringType))
System\Linq\Expressions\SwitchExpression.cs (3)
75!TypeUtils.AreEquivalent(SwitchValue.Type, Comparison.GetParametersCached()[0].ParameterType.GetNonRefType()); 261if (!TypeUtils.AreEquivalent(firstTestValue.Type, c.TestValues[i].Type)) 308if (!TypeUtils.AreEquivalent(resultType, @case.Type))
System\Linq\Expressions\TryExpression.cs (1)
222if (!TypeUtils.AreEquivalent(cb.Body.Type, type))
System\Linq\Expressions\UnaryExpression.cs (5)
66return (operandIsNullable && !TypeUtils.AreEquivalent(Method.GetParametersCached()[0].ParameterType, Operand.Type)) || 67(resultIsNullable && !TypeUtils.AreEquivalent(Method.ReturnType, this.Type)); 435if (ParameterIsAssignable(pms[0], operand.Type) && TypeUtils.AreEquivalent(method.ReturnType, convertToType)) 442(TypeUtils.AreEquivalent(method.ReturnType, convertToType.GetNonNullableType()) || 443TypeUtils.AreEquivalent(method.ReturnType, convertToType)))