public override void LeaveMethodInvocationExpression(Boo.Lang.Compiler.Ast.MethodInvocationExpression node)
{
ICallableType callable = node.Target.ExpressionType as ICallableType;
if (callable != null)
{
CallableSignature signature = callable.GetSignature();
if (!signature.AcceptVarArgs) return;
ExpandInvocation(node, signature.Parameters);
return;
}
IMethod method = TypeSystemServices.GetOptionalEntity(node.Target) as IMethod;
if (null == method || !method.AcceptVarArgs) return;
ExpandInvocation(node, method.GetParameters());
}