public override void OnMethodInvocationExpression(MethodInvocationExpression node)
{
if (!IsDuckTyped(node.Target))
{
base.OnMethodInvocationExpression(node);
return;
}
if (TypeSystemServices.IsQuackBuiltin(node.Target))
{
ExpandQuackInvocation(node);
return;
}
base.OnMethodInvocationExpression(node);
if(node.GetAncestor(NodeType.Constructor) == null
|| (node.Target.NodeType != NodeType.SelfLiteralExpression
&& node.Target.NodeType != NodeType.SuperLiteralExpression)
|| TypeSystemServices.GetOptionalEntity(node.Target) as IConstructor == null)
ExpandCallableInvocation(node);
}