public override void OnMethodInvocationExpression(MethodInvocationExpression node)
{
if (null != node.ExpressionType)
{
_context.TraceVerbose("{0}: Method invocation already bound.", node.LexicalInfo);
return;
}
Visit(node.Target);
if (ProcessSwitchInvocation(node)) return;
if (ProcessMetaMethodInvocation(node, false)) return;
Visit(node.Arguments);
if (TypeSystemServices.IsError(node.Target)
|| TypeSystemServices.IsErrorAny(node.Arguments))
{
Error(node);
return;
}
IEntity targetEntity = node.Target.Entity;
if (null == targetEntity)
{
ProcessGenericMethodInvocation(node);
return;
}
ProcessMethodInvocationExpression(node, targetEntity);
}