{"action":"created","comment":{"url":"https://api.github.com/repos/aspnet/Extensions/pulls/comments/237310580","pull_request_review_id":179577807,"id":237310580,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIzNzMxMDU4MA==","diff_hunk":"@@ -276,42 +270,7 @@ private void AddCacheKey(ILEmitResolverBuilderContext argument, ServiceCacheKey\n             argument.Generator.Emit(OpCodes.Newobj, CacheKeyCtor);\n         }\n \n-\n-        private Func<ServiceProviderEngineScope, object> BuildType(ServiceCallSite callSite)\n-        {\n-            // We need to skip visibility checks because services/constructors might be private\n-            var dynamicMethod = new DynamicMethod(\"ResolveService\",\n-                attributes: MethodAttributes.Public | MethodAttributes.Static,\n-                callingConvention: CallingConventions.Standard,\n-                returnType: typeof(object),\n-                parameterTypes: new [] {typeof(ILEmitResolverBuilderRuntimeContext), typeof(ServiceProviderEngineScope) },\n-                owner: GetType(),\n-                skipVisibility: true);\n-\n-            var info = ILEmitCallSiteAnalyzer.Instance.CollectGenerationInfo(callSite);\n-            var runtimeContext = GenerateMethodBody(callSite, dynamicMethod.GetILGenerator(info.Size), info);\n-\n-#if SAVE_ASSEMBLY","path":"src/DependencyInjection/DI/src/ServiceLookup/ILEmit/ILEmitResolverBuilder.cs","position":255,"original_position":255,"commit_id":"3b81087d7c4a0c68dde19b03f8eb65822f69b97a","original_commit_id":"3b81087d7c4a0c68dde19b03f8eb65822f69b97a","user":{"login":"halter73","id":54385,"node_id":"MDQ6VXNlcjU0Mzg1","avatar_url":"https://avatars3.githubusercontent.com/u/54385?v=4","gravatar_id":"","url":"https://api.github.com/users/halter73","html_url":"https://github.com/halter73","followers_url":"https://api.github.com/users/halter73/followers","following_url":"https://api.github.com/users/halter73/following{/other_user}","gists_url":"https://api.github.com/users/halter73/gists{/gist_id}","starred_url":"https://api.github.com/users/halter73/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/halter73/subscriptions","organizations_url":"https://api.github.com/users/halter73/orgs","repos_url":"https://api.github.com/users/halter73/repos","events_url":"https://api.github.com/users/halter73/events{/privacy}","received_events_url":"https://api.github.com/users/halter73/received_events","type":"User","site_admin":false},"body":"Do we have a test for this? Apparently this should have been SAVE_ASSEMBLIES even before this change.","created_at":"2018-11-29T00:08:56Z","updated_at":"2018-11-29T00:08:56Z","html_url":"https://github.com/aspnet/Extensions/pull/570#discussion_r237310580","pull_request_url":"https://api.github.com/repos/aspnet/Extensions/pulls/570","author_association":"MEMBER","_links":{"self":{"href":"https://api.github.com/repos/aspnet/Extensions/pulls/comments/237310580"},"html":{"href":"https://github.com/aspnet/Extensions/pull/570#discussion_r237310580"},"pull_request":{"href":"https://api.github.com/repos/aspnet/Extensions/pulls/570"}}},"pull_request":{"url":"https://api.github.com/repos/aspnet/Extensions/pulls/570","id":234049801,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM0MDQ5ODAx","html_url":"https://github.com/aspnet/Extensions/pull/570","diff_url":"https://github.com/aspnet/Extensions/pull/570.diff","patch_url":"https://github.com/aspnet/Extensions/pull/570.patch","issue_url":"https://api.github.com/repos/aspnet/Extensions/issues/570","number":570,"state":"open","locked":false,"title":"Split scope resolution logic into seperate dynamic methods","user":{"login":"pakrym","id":1697911,"node_id":"MDQ6VXNlcjE2OTc5MTE=","avatar_url":"https://avatars0.githubusercontent.com/u/1697911?v=4","gravatar_id":"","url":"https://api.github.com/users/pakrym","html_url":"https://github.com/pakrym","followers_url":"https://api.github.com/users/pakrym/followers","following_url":"https://api.github.com/users/pakrym/following{/other_user}","gists_url":"https://api.github.com/users/pakrym/gists{/gist_id}","starred_url":"https://api.github.com/users/pakrym/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pakrym/subscriptions","organizations_url":"https://api.github.com/users/pakrym/orgs","repos_url":"https://api.github.com/users/pakrym/repos","events_url":"https://api.github.com/users/pakrym/events{/privacy}","received_events_url":"https://api.github.com/users/pakrym/received_events","type":"User","site_admin":false},"body":"Goal is to decrease method size in cases of large service trees with a lot of scoped services.\r\n\r\nThis change is based on https://github.com/aspnet/Extensions/pull/546.\r\nI'll rebase once it goes in.\r\n\r\nFixes https://github.com/aspnet/AspNetCore/issues/3054 and https://github.com/aspnet/AspNetCore/issues/2737\r\n\r\nPerf doesn't seem to be impacted. ","created_at":"2018-11-27T20:29:06Z","updated_at":"2018-11-29T00:08:56Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ad99caad8e4222f110ac05f622dd9aca4dc9f387","assignee":null,"assignees":[],"requested_reviewers":[{"login":"davidfowl","id":95136,"node_id":"MDQ6VXNlcjk1MTM2","avatar_url":"https://avatars3.githubusercontent.com/u/95136?v=4","gravatar_id":"","url":"https://api.github.com/users/davidfowl","html_url":"https://github.com/davidfowl","followers_url":"https://api.github.com/users/davidfowl/followers","following_url":"https://api.github.com/users/davidfowl/following{/other_user}","gists_url":"https://api.github.com/users/davidfowl/gists{/gist_id}","starred_url":"https://api.github.com/users/davidfowl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/davidfowl/subscriptions","organizations_url":"https://api.github.com/users/davidfowl/orgs","repos_url":"https://api.github.com/users/davidfowl/repos","events_url":"https://api.github.com/users/davidfowl/events{/privacy}","received_events_url":"https://api.github.com/users/davidfowl/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/aspnet/Extensions/pulls/570/commits","review_comments_url":"https://api.github.com/repos/aspnet/Extensions/pulls/570/comments","review_comment_url":"https://api.github.com/repos/aspnet/Extensions/pulls/comments{/number}","comments_url":"https://api.github.com/repos/aspnet/Extensions/issues/570/comments","statuses_url":"https://api.github.com/repos/aspnet/Extensions/statuses/3b81087d7c4a0c68dde19b03f8eb65822f69b97a","head":{"label":"aspnet:pakrym/split-scopes","ref":"pakrym/split-scopes","sha":"3b81087d7c4a0c68dde19b03f8eb65822f69b97a","user":{"login":"aspnet","id":6476660,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY0NzY2NjA=","avatar_url":"https://avatars3.githubusercontent.com/u/6476660?v=4","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"repo":{"id":30932325,"node_id":"MDEwOlJlcG9zaXRvcnkzMDkzMjMyNQ==","name":"Extensions","full_name":"aspnet/Extensions","private":false,"owner":{"login":"aspnet","id":6476660,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY0NzY2NjA=","avatar_url":"https://avatars3.githubusercontent.com/u/6476660?v=4","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/aspnet/Extensions","description":".NET APIs for commonly used programming patterns and utilities, such as dependency injection, logging, and configuration. ","fork":false,"url":"https://api.github.com/repos/aspnet/Extensions","forks_url":"https://api.github.com/repos/aspnet/Extensions/forks","keys_url":"https://api.github.com/repos/aspnet/Extensions/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aspnet/Extensions/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aspnet/Extensions/teams","hooks_url":"https://api.github.com/repos/aspnet/Extensions/hooks","issue_events_url":"https://api.github.com/repos/aspnet/Extensions/issues/events{/number}","events_url":"https://api.github.com/repos/aspnet/Extensions/events","assignees_url":"https://api.github.com/repos/aspnet/Extensions/assignees{/user}","branches_url":"https://api.github.com/repos/aspnet/Extensions/branches{/branch}","tags_url":"https://api.github.com/repos/aspnet/Extensions/tags","blobs_url":"https://api.github.com/repos/aspnet/Extensions/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aspnet/Extensions/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aspnet/Extensions/git/refs{/sha}","trees_url":"https://api.github.com/repos/aspnet/Extensions/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aspnet/Extensions/statuses/{sha}","languages_url":"https://api.github.com/repos/aspnet/Extensions/languages","stargazers_url":"https://api.github.com/repos/aspnet/Extensions/stargazers","contributors_url":"https://api.github.com/repos/aspnet/Extensions/contributors","subscribers_url":"https://api.github.com/repos/aspnet/Extensions/subscribers","subscription_url":"https://api.github.com/repos/aspnet/Extensions/subscription","commits_url":"https://api.github.com/repos/aspnet/Extensions/commits{/sha}","git_commits_url":"https://api.github.com/repos/aspnet/Extensions/git/commits{/sha}","comments_url":"https://api.github.com/repos/aspnet/Extensions/comments{/number}","issue_comment_url":"https://api.github.com/repos/aspnet/Extensions/issues/comments{/number}","contents_url":"https://api.github.com/repos/aspnet/Extensions/contents/{+path}","compare_url":"https://api.github.com/repos/aspnet/Extensions/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aspnet/Extensions/merges","archive_url":"https://api.github.com/repos/aspnet/Extensions/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aspnet/Extensions/downloads","issues_url":"https://api.github.com/repos/aspnet/Extensions/issues{/number}","pulls_url":"https://api.github.com/repos/aspnet/Extensions/pulls{/number}","milestones_url":"https://api.github.com/repos/aspnet/Extensions/milestones{/number}","notifications_url":"https://api.github.com/repos/aspnet/Extensions/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aspnet/Extensions/labels{/name}","releases_url":"https://api.github.com/repos/aspnet/Extensions/releases{/id}","deployments_url":"https://api.github.com/repos/aspnet/Extensions/deployments","created_at":"2015-02-17T19:02:08Z","updated_at":"2018-11-28T20:40:22Z","pushed_at":"2018-11-28T23:49:53Z","git_url":"git://github.com/aspnet/Extensions.git","ssh_url":"git@github.com:aspnet/Extensions.git","clone_url":"https://github.com/aspnet/Extensions.git","svn_url":"https://github.com/aspnet/Extensions","homepage":"","size":16737,"stargazers_count":238,"watchers_count":238,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":83,"mirror_url":null,"archived":false,"open_issues_count":64,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":83,"open_issues":64,"watchers":238,"default_branch":"master"}},"base":{"label":"aspnet:master","ref":"master","sha":"9fd6c6d5942e2f3e7c95f7cfddc4f105a6847dc9","user":{"login":"aspnet","id":6476660,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY0NzY2NjA=","avatar_url":"https://avatars3.githubusercontent.com/u/6476660?v=4","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"repo":{"id":30932325,"node_id":"MDEwOlJlcG9zaXRvcnkzMDkzMjMyNQ==","name":"Extensions","full_name":"aspnet/Extensions","private":false,"owner":{"login":"aspnet","id":6476660,"node_id":"MDEyOk9yZ2FuaXphdGlvbjY0NzY2NjA=","avatar_url":"https://avatars3.githubusercontent.com/u/6476660?v=4","gravatar_id":"","url":"https://api.github.com/users/aspnet","html_url":"https://github.com/aspnet","followers_url":"https://api.github.com/users/aspnet/followers","following_url":"https://api.github.com/users/aspnet/following{/other_user}","gists_url":"https://api.github.com/users/aspnet/gists{/gist_id}","starred_url":"https://api.github.com/users/aspnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aspnet/subscriptions","organizations_url":"https://api.github.com/users/aspnet/orgs","repos_url":"https://api.github.com/users/aspnet/repos","events_url":"https://api.github.com/users/aspnet/events{/privacy}","received_events_url":"https://api.github.com/users/aspnet/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/aspnet/Extensions","description":".NET APIs for commonly used programming patterns and utilities, such as dependency injection, logging, and configuration. ","fork":false,"url":"https://api.github.com/repos/aspnet/Extensions","forks_url":"https://api.github.com/repos/aspnet/Extensions/forks","keys_url":"https://api.github.com/repos/aspnet/Extensions/keys{/key_id}","collaborators_url":"https://api.github.com/repos/aspnet/Extensions/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/aspnet/Extensions/teams","hooks_url":"https://api.github.com/repos/aspnet/Extensions/hooks","issue_events_url":"https://api.github.com/repos/aspnet/Extensions/issues/events{/number}","events_url":"https://api.github.com/repos/aspnet/Extensions/events","assignees_url":"https://api.github.com/repos/aspnet/Extensions/assignees{/user}","branches_url":"https://api.github.com/repos/aspnet/Extensions/branches{/branch}","tags_url":"https://api.github.com/repos/aspnet/Extensions/tags","blobs_url":"https://api.github.com/repos/aspnet/Extensions/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/aspnet/Extensions/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/aspnet/Extensions/git/refs{/sha}","trees_url":"https://api.github.com/repos/aspnet/Extensions/git/trees{/sha}","statuses_url":"https://api.github.com/repos/aspnet/Extensions/statuses/{sha}","languages_url":"https://api.github.com/repos/aspnet/Extensions/languages","stargazers_url":"https://api.github.com/repos/aspnet/Extensions/stargazers","contributors_url":"https://api.github.com/repos/aspnet/Extensions/contributors","subscribers_url":"https://api.github.com/repos/aspnet/Extensions/subscribers","subscription_url":"https://api.github.com/repos/aspnet/Extensions/subscription","commits_url":"https://api.github.com/repos/aspnet/Extensions/commits{/sha}","git_commits_url":"https://api.github.com/repos/aspnet/Extensions/git/commits{/sha}","comments_url":"https://api.github.com/repos/aspnet/Extensions/comments{/number}","issue_comment_url":"https://api.github.com/repos/aspnet/Extensions/issues/comments{/number}","contents_url":"https://api.github.com/repos/aspnet/Extensions/contents/{+path}","compare_url":"https://api.github.com/repos/aspnet/Extensions/compare/{base}...{head}","merges_url":"https://api.github.com/repos/aspnet/Extensions/merges","archive_url":"https://api.github.com/repos/aspnet/Extensions/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/aspnet/Extensions/downloads","issues_url":"https://api.github.com/repos/aspnet/Extensions/issues{/number}","pulls_url":"https://api.github.com/repos/aspnet/Extensions/pulls{/number}","milestones_url":"https://api.github.com/repos/aspnet/Extensions/milestones{/number}","notifications_url":"https://api.github.com/repos/aspnet/Extensions/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/aspnet/Extensions/labels{/name}","releases_url":"https://api.github.com/repos/aspnet/Extensions/releases{/id}","deployments_url":"https://api.github.com/repos/aspnet/Extensions/deployments","created_at":"2015-02-17T19:02:08Z","updated_at":"2018-11-28T20:40:22Z","pushed_at":"2018-11-28T23:49:53Z","git_url":"git://github.com/aspnet/Extensions.git","ssh_url":"git@github.com:aspnet/Extensions.git","clone_url":"https://github.com/aspnet/Extensions.git","svn_url":"https://github.com/aspnet/Extensions","homepage":"","size":16737,"stargazers_count":238,"watchers_count":238,"language":"C#","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":83,"mirror_url":null,"archived":false,"open_issues_count":64,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0","node_id":"MDc6TGljZW5zZTI="},"forks":83,"open_issues":64,"watchers":238,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/aspnet/Extensions/pulls/570"},"html":{"href":"https://github.com/aspnet/Extensions/pull/570"},"issue":{"href":"https://api.github.com/repos/aspnet/Extensions/issues/570"},"comments":{"href":"https://api.github.com/repos/aspnet/Extensions/issues/570/comments"},"review_comments":{"href":"https://api.github.com/repos/aspnet/Extensions/pulls/570/comments"},"review_comment":{"href":"https://api.github.com/repos/aspnet/Extensions/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/aspnet/Extensions/pulls/570/commits"},"statuses":{"href":"https://api.github.com/repos/aspnet/Extensions/statuses/3b81087d7c4a0c68dde19b03f8eb65822f69b97a"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"halter73"}}