bool ResolveOperator(Expression node, IType type, string operatorName, MethodInvocationExpression mie)
{
IMethod entity = FindOperator(type, operatorName, mie.Arguments);
if (null == entity)
return false;
EnsureRelatedNodeWasVisited(node, entity);
mie.Target = new ReferenceExpression(entity.FullName);
IMethod operatorMethod = entity;
BindExpressionType(mie, operatorMethod.ReturnType);
BindExpressionType(mie.Target, operatorMethod.Type);
Bind(mie.Target, entity);
node.ParentNode.Replace(node, mie);
return true;
}