//----------------------------------------------------------------------------------------------------------------------------------------------------- private static ExpressionSyntax EmitMethodCallSyntax(MethodCallExpression call) { InvocationExpressionSyntax syntax; var methodIdentifier = IdentifierName(call.MethodName ?? call.Method.Name); if (call.Target != null) { syntax = InvocationExpression( MemberAccessExpression( SyntaxKind.SimpleMemberAccessExpression, EmitSyntax(call.Target), methodIdentifier)); } else { syntax = InvocationExpression(methodIdentifier); } if (call.Arguments.Count > 0) { syntax = syntax.WithArgumentList(call.GetArgumentListSyntax()); } return(syntax); }