in src/Epam.GraphQL/Helpers/ExpressionEqualityComparer.cs [195:220]
private static bool Equals(ParameterScope? parameterScope, LambdaExpression x, LambdaExpression y)
{
if (x.Parameters.Count != y.Parameters.Count || x.ReturnType != y.ReturnType)
{
return false;
}
if (x.Parameters.Count > 0)
{
for (var i = 0; i < x.Parameters.Count; i++)
{
if (x.Parameters[i].Type != y.Parameters[i].Type)
{
return false;
}
}
parameterScope = new ParameterScope(parameterScope);
for (var i = 0; i < x.Parameters.Count; i++)
{
parameterScope.Add(x.Parameters[i], y.Parameters[i], i);
}
}
return Equals(parameterScope, x.Body, y.Body);
}