private void RecordInvocation(IMethodSymbol invokedMethodSymbol, SyntaxNode methodInvocationNode, ArgumentListSyntax methodArguments) { var argumentNodeToMethodParameter = new Dictionary <SyntaxNodeOrToken, (string parameterName, ITypeSymbol parameterType)>(); if (methodArguments != null) { foreach (var arg in methodArguments.Arguments) { var paramSymbol = MethodUtils.DetermineParameter(methodArguments, arg, invokedMethodSymbol); Debug.Assert(arg.Expression != null); Debug.Assert(paramSymbol != null); argumentNodeToMethodParameter.Add(arg.Expression, (paramSymbol.Name, paramSymbol.Type)); } } var invocationInfo = new MethodInvocationInformation(invokedMethodSymbol, methodInvocationNode, argumentNodeToMethodParameter); _graph.MethodInvocationSites.Add(invocationInfo); }