{"action":"created","comment":{"url":"https://api.github.com/repos/OData/odata.net/pulls/comments/49390928","id":49390928,"diff_hunk":"@@ -140,16 +140,22 @@ internal static FunctionSignatureWithReturnType MatchSignatureToBuiltInFunction(\n \r\n         /// <summary>\r\n         /// Finds all signatures for the given function name.\r\n+        /// Search in BuiltIn uri functions first, and then in custom uri functions.\r\n         /// </summary>\r\n         /// <param name=\"functionName\">The function to get the signatures for.</param>\r\n         /// <returns>The signatures which match the supplied function name.</returns>\r\n-        internal static FunctionSignatureWithReturnType[] GetBuiltInFunctionSignatures(string functionName)\r\n+        internal static FunctionSignatureWithReturnType[] GetUriFunctionSignatures(string functionName)\r\n         {\r\n-            // Try to find the function in our built-in functions\r\n             FunctionSignatureWithReturnType[] signatures;\r\n-            if (!BuiltInFunctions.TryGetBuiltInFunction(functionName, out signatures))\r\n+\r\n+            // Try to find the function in the user custom functions\r\n+            if (!CustomUriFunctions.TryGetCustomFunction(functionName, out signatures))\r","path":"src/Microsoft.OData.Core/UriParser/Binders/FunctionCallBinder.cs","position":34,"original_position":34,"commit_id":"d4c4d8fbe4bbb645e2f498d7df2f113c5fbca08a","original_commit_id":"6565fd58ac6f5cdf9b5318688cb45b06178cff08","user":{"login":"YogiBear52","id":10381032,"avatar_url":"https://avatars.githubusercontent.com/u/10381032?v=3","gravatar_id":"","url":"https://api.github.com/users/YogiBear52","html_url":"https://github.com/YogiBear52","followers_url":"https://api.github.com/users/YogiBear52/followers","following_url":"https://api.github.com/users/YogiBear52/following{/other_user}","gists_url":"https://api.github.com/users/YogiBear52/gists{/gist_id}","starred_url":"https://api.github.com/users/YogiBear52/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/YogiBear52/subscriptions","organizations_url":"https://api.github.com/users/YogiBear52/orgs","repos_url":"https://api.github.com/users/YogiBear52/repos","events_url":"https://api.github.com/users/YogiBear52/events{/privacy}","received_events_url":"https://api.github.com/users/YogiBear52/received_events","type":"User","site_admin":false},"body":"So you say that we keep the 'AddCustomUriFunction' method as is, and modify the 'GetUriFunctionSignatures' method to combine the overloads of both Built-In functions and CustomFunctions. Seems like a better solution : )\r\n\r\nConfirm that this is what you ment and I will code, document and add tests.","created_at":"2016-01-11T22:46:09Z","updated_at":"2016-01-11T22:46:09Z","html_url":"https://github.com/OData/odata.net/pull/430#discussion_r49390928","pull_request_url":"https://api.github.com/repos/OData/odata.net/pulls/430","_links":{"self":{"href":"https://api.github.com/repos/OData/odata.net/pulls/comments/49390928"},"html":{"href":"https://github.com/OData/odata.net/pull/430#discussion_r49390928"},"pull_request":{"href":"https://api.github.com/repos/OData/odata.net/pulls/430"}}},"pull_request":{"url":"https://api.github.com/repos/OData/odata.net/pulls/430","id":54416651,"html_url":"https://github.com/OData/odata.net/pull/430","diff_url":"https://github.com/OData/odata.net/pull/430.diff","patch_url":"https://github.com/OData/odata.net/pull/430.patch","issue_url":"https://api.github.com/repos/OData/odata.net/issues/430","number":430,"state":"open","locked":false,"title":"Custom Uri Functions #378","user":{"login":"YogiBear52","id":10381032,"avatar_url":"https://avatars.githubusercontent.com/u/10381032?v=3","gravatar_id":"","url":"https://api.github.com/users/YogiBear52","html_url":"https://github.com/YogiBear52","followers_url":"https://api.github.com/users/YogiBear52/followers","following_url":"https://api.github.com/users/YogiBear52/following{/other_user}","gists_url":"https://api.github.com/users/YogiBear52/gists{/gist_id}","starred_url":"https://api.github.com/users/YogiBear52/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/YogiBear52/subscriptions","organizations_url":"https://api.github.com/users/YogiBear52/orgs","repos_url":"https://api.github.com/users/YogiBear52/repos","events_url":"https://api.github.com/users/YogiBear52/events{/privacy}","received_events_url":"https://api.github.com/users/YogiBear52/received_events","type":"User","site_admin":false},"body":"* CustomUriFunctions - public API to add/remove custom functions or override built-In functions.\r\n* CustomUriFunctions and BuiltInUriFunctions tests.\r\n* Renamed class from 'BuiltInFunctions' to 'BuiltInUriFunctions'.\r\n* The new class 'UriFunctionsHelper' contains general usage for both Built-In and Custom functions.","created_at":"2015-12-22T21:25:07Z","updated_at":"2016-01-11T22:46:09Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d6a04400366af414dea571c17a37ad258fc6f770","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/OData/odata.net/pulls/430/commits","review_comments_url":"https://api.github.com/repos/OData/odata.net/pulls/430/comments","review_comment_url":"https://api.github.com/repos/OData/odata.net/pulls/comments{/number}","comments_url":"https://api.github.com/repos/OData/odata.net/issues/430/comments","statuses_url":"https://api.github.com/repos/OData/odata.net/statuses/d4c4d8fbe4bbb645e2f498d7df2f113c5fbca08a","head":{"label":"YogiBear52:master","ref":"master","sha":"d4c4d8fbe4bbb645e2f498d7df2f113c5fbca08a","user":{"login":"YogiBear52","id":10381032,"avatar_url":"https://avatars.githubusercontent.com/u/10381032?v=3","gravatar_id":"","url":"https://api.github.com/users/YogiBear52","html_url":"https://github.com/YogiBear52","followers_url":"https://api.github.com/users/YogiBear52/followers","following_url":"https://api.github.com/users/YogiBear52/following{/other_user}","gists_url":"https://api.github.com/users/YogiBear52/gists{/gist_id}","starred_url":"https://api.github.com/users/YogiBear52/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/YogiBear52/subscriptions","organizations_url":"https://api.github.com/users/YogiBear52/orgs","repos_url":"https://api.github.com/users/YogiBear52/repos","events_url":"https://api.github.com/users/YogiBear52/events{/privacy}","received_events_url":"https://api.github.com/users/YogiBear52/received_events","type":"User","site_admin":false},"repo":{"id":47287368,"name":"odata.net","full_name":"YogiBear52/odata.net","owner":{"login":"YogiBear52","id":10381032,"avatar_url":"https://avatars.githubusercontent.com/u/10381032?v=3","gravatar_id":"","url":"https://api.github.com/users/YogiBear52","html_url":"https://github.com/YogiBear52","followers_url":"https://api.github.com/users/YogiBear52/followers","following_url":"https://api.github.com/users/YogiBear52/following{/other_user}","gists_url":"https://api.github.com/users/YogiBear52/gists{/gist_id}","starred_url":"https://api.github.com/users/YogiBear52/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/YogiBear52/subscriptions","organizations_url":"https://api.github.com/users/YogiBear52/orgs","repos_url":"https://api.github.com/users/YogiBear52/repos","events_url":"https://api.github.com/users/YogiBear52/events{/privacy}","received_events_url":"https://api.github.com/users/YogiBear52/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/YogiBear52/odata.net","description":"ODataLib: Open Data Protocol - .NET/Silverlight/WP8.1 Libraries and Frameworks","fork":true,"url":"https://api.github.com/repos/YogiBear52/odata.net","forks_url":"https://api.github.com/repos/YogiBear52/odata.net/forks","keys_url":"https://api.github.com/repos/YogiBear52/odata.net/keys{/key_id}","collaborators_url":"https://api.github.com/repos/YogiBear52/odata.net/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/YogiBear52/odata.net/teams","hooks_url":"https://api.github.com/repos/YogiBear52/odata.net/hooks","issue_events_url":"https://api.github.com/repos/YogiBear52/odata.net/issues/events{/number}","events_url":"https://api.github.com/repos/YogiBear52/odata.net/events","assignees_url":"https://api.github.com/repos/YogiBear52/odata.net/assignees{/user}","branches_url":"https://api.github.com/repos/YogiBear52/odata.net/branches{/branch}","tags_url":"https://api.github.com/repos/YogiBear52/odata.net/tags","blobs_url":"https://api.github.com/repos/YogiBear52/odata.net/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/YogiBear52/odata.net/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/YogiBear52/odata.net/git/refs{/sha}","trees_url":"https://api.github.com/repos/YogiBear52/odata.net/git/trees{/sha}","statuses_url":"https://api.github.com/repos/YogiBear52/odata.net/statuses/{sha}","languages_url":"https://api.github.com/repos/YogiBear52/odata.net/languages","stargazers_url":"https://api.github.com/repos/YogiBear52/odata.net/stargazers","contributors_url":"https://api.github.com/repos/YogiBear52/odata.net/contributors","subscribers_url":"https://api.github.com/repos/YogiBear52/odata.net/subscribers","subscription_url":"https://api.github.com/repos/YogiBear52/odata.net/subscription","commits_url":"https://api.github.com/repos/YogiBear52/odata.net/commits{/sha}","git_commits_url":"https://api.github.com/repos/YogiBear52/odata.net/git/commits{/sha}","comments_url":"https://api.github.com/repos/YogiBear52/odata.net/comments{/number}","issue_comment_url":"https://api.github.com/repos/YogiBear52/odata.net/issues/comments{/number}","contents_url":"https://api.github.com/repos/YogiBear52/odata.net/contents/{+path}","compare_url":"https://api.github.com/repos/YogiBear52/odata.net/compare/{base}...{head}","merges_url":"https://api.github.com/repos/YogiBear52/odata.net/merges","archive_url":"https://api.github.com/repos/YogiBear52/odata.net/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/YogiBear52/odata.net/downloads","issues_url":"https://api.github.com/repos/YogiBear52/odata.net/issues{/number}","pulls_url":"https://api.github.com/repos/YogiBear52/odata.net/pulls{/number}","milestones_url":"https://api.github.com/repos/YogiBear52/odata.net/milestones{/number}","notifications_url":"https://api.github.com/repos/YogiBear52/odata.net/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/YogiBear52/odata.net/labels{/name}","releases_url":"https://api.github.com/repos/YogiBear52/odata.net/releases{/id}","created_at":"2015-12-02T20:41:42Z","updated_at":"2015-12-02T20:42:05Z","pushed_at":"2016-01-08T22:55:01Z","git_url":"git://github.com/YogiBear52/odata.net.git","ssh_url":"git@github.com:YogiBear52/odata.net.git","clone_url":"https://github.com/YogiBear52/odata.net.git","svn_url":"https://github.com/YogiBear52/odata.net","homepage":"http://odata.github.io/odata.net","size":32566,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"OData:master","ref":"master","sha":"ca909f1056de187c8f550f5d4f22ed80e5af8da5","user":{"login":"OData","id":916520,"avatar_url":"https://avatars.githubusercontent.com/u/916520?v=3","gravatar_id":"","url":"https://api.github.com/users/OData","html_url":"https://github.com/OData","followers_url":"https://api.github.com/users/OData/followers","following_url":"https://api.github.com/users/OData/following{/other_user}","gists_url":"https://api.github.com/users/OData/gists{/gist_id}","starred_url":"https://api.github.com/users/OData/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OData/subscriptions","organizations_url":"https://api.github.com/users/OData/orgs","repos_url":"https://api.github.com/users/OData/repos","events_url":"https://api.github.com/users/OData/events{/privacy}","received_events_url":"https://api.github.com/users/OData/received_events","type":"Organization","site_admin":false},"repo":{"id":23308338,"name":"odata.net","full_name":"OData/odata.net","owner":{"login":"OData","id":916520,"avatar_url":"https://avatars.githubusercontent.com/u/916520?v=3","gravatar_id":"","url":"https://api.github.com/users/OData","html_url":"https://github.com/OData","followers_url":"https://api.github.com/users/OData/followers","following_url":"https://api.github.com/users/OData/following{/other_user}","gists_url":"https://api.github.com/users/OData/gists{/gist_id}","starred_url":"https://api.github.com/users/OData/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OData/subscriptions","organizations_url":"https://api.github.com/users/OData/orgs","repos_url":"https://api.github.com/users/OData/repos","events_url":"https://api.github.com/users/OData/events{/privacy}","received_events_url":"https://api.github.com/users/OData/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/OData/odata.net","description":"ODataLib: Open Data Protocol - .NET/Silverlight/WP8.1 Libraries and Frameworks","fork":false,"url":"https://api.github.com/repos/OData/odata.net","forks_url":"https://api.github.com/repos/OData/odata.net/forks","keys_url":"https://api.github.com/repos/OData/odata.net/keys{/key_id}","collaborators_url":"https://api.github.com/repos/OData/odata.net/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/OData/odata.net/teams","hooks_url":"https://api.github.com/repos/OData/odata.net/hooks","issue_events_url":"https://api.github.com/repos/OData/odata.net/issues/events{/number}","events_url":"https://api.github.com/repos/OData/odata.net/events","assignees_url":"https://api.github.com/repos/OData/odata.net/assignees{/user}","branches_url":"https://api.github.com/repos/OData/odata.net/branches{/branch}","tags_url":"https://api.github.com/repos/OData/odata.net/tags","blobs_url":"https://api.github.com/repos/OData/odata.net/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/OData/odata.net/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/OData/odata.net/git/refs{/sha}","trees_url":"https://api.github.com/repos/OData/odata.net/git/trees{/sha}","statuses_url":"https://api.github.com/repos/OData/odata.net/statuses/{sha}","languages_url":"https://api.github.com/repos/OData/odata.net/languages","stargazers_url":"https://api.github.com/repos/OData/odata.net/stargazers","contributors_url":"https://api.github.com/repos/OData/odata.net/contributors","subscribers_url":"https://api.github.com/repos/OData/odata.net/subscribers","subscription_url":"https://api.github.com/repos/OData/odata.net/subscription","commits_url":"https://api.github.com/repos/OData/odata.net/commits{/sha}","git_commits_url":"https://api.github.com/repos/OData/odata.net/git/commits{/sha}","comments_url":"https://api.github.com/repos/OData/odata.net/comments{/number}","issue_comment_url":"https://api.github.com/repos/OData/odata.net/issues/comments{/number}","contents_url":"https://api.github.com/repos/OData/odata.net/contents/{+path}","compare_url":"https://api.github.com/repos/OData/odata.net/compare/{base}...{head}","merges_url":"https://api.github.com/repos/OData/odata.net/merges","archive_url":"https://api.github.com/repos/OData/odata.net/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/OData/odata.net/downloads","issues_url":"https://api.github.com/repos/OData/odata.net/issues{/number}","pulls_url":"https://api.github.com/repos/OData/odata.net/pulls{/number}","milestones_url":"https://api.github.com/repos/OData/odata.net/milestones{/number}","notifications_url":"https://api.github.com/repos/OData/odata.net/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/OData/odata.net/labels{/name}","releases_url":"https://api.github.com/repos/OData/odata.net/releases{/id}","created_at":"2014-08-25T09:15:23Z","updated_at":"2016-01-11T03:22:14Z","pushed_at":"2016-01-11T03:28:35Z","git_url":"git://github.com/OData/odata.net.git","ssh_url":"git@github.com:OData/odata.net.git","clone_url":"https://github.com/OData/odata.net.git","svn_url":"https://github.com/OData/odata.net","homepage":"http://odata.github.io/odata.net","size":34461,"stargazers_count":157,"watchers_count":157,"language":"C#","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":83,"mirror_url":null,"open_issues_count":235,"forks":83,"open_issues":235,"watchers":157,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/OData/odata.net/pulls/430"},"html":{"href":"https://github.com/OData/odata.net/pull/430"},"issue":{"href":"https://api.github.com/repos/OData/odata.net/issues/430"},"comments":{"href":"https://api.github.com/repos/OData/odata.net/issues/430/comments"},"review_comments":{"href":"https://api.github.com/repos/OData/odata.net/pulls/430/comments"},"review_comment":{"href":"https://api.github.com/repos/OData/odata.net/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/OData/odata.net/pulls/430/commits"},"statuses":{"href":"https://api.github.com/repos/OData/odata.net/statuses/d4c4d8fbe4bbb645e2f498d7df2f113c5fbca08a"}}}}