public override void VisitInvocationExpression(IInvocationExpression operation) { var targetMethod = operation.TargetMethod; var isVirtual = operation.IsVirtual; // base.VisitInvocationExpression only visit operations in ArgumentsInSourceOrder foreach (var argument in operation.ArgumentsInParameterOrder) { Visit(argument); } if (targetMethod != null) { foreach (var parameter in targetMethod.Parameters) { var matchingArgument = operation.GetArgumentMatchingParameter(parameter); Visit(matchingArgument); } } base.VisitInvocationExpression(operation); }