{"action":"created","comment":{"url":"https://api.github.com/repos/dotnet/roslyn/pulls/comments/69631185","id":69631185,"diff_hunk":"@@ -71,6 +76,12 @@ protected override void CheckBase(DiagnosticBag diagnostics)\n             }\n         }\n \n+        protected override void CheckExtensionClass(DiagnosticBag diagnostics)\n+        {\n+            var extensionClass = this.ExtensionClassTypeNoUseSiteDiagnostics;","path":"src/Compilers/CSharp/Portable/Symbols/Source/ImplicitNamedTypeSymbol.cs","position":18,"original_position":18,"commit_id":"b7d8e864f95e69bcf4b10ecc6a7fbd320735cee4","original_commit_id":"b7d8e864f95e69bcf4b10ecc6a7fbd320735cee4","user":{"login":"cston","id":10732005,"avatar_url":"https://avatars.githubusercontent.com/u/10732005?v=3","gravatar_id":"","url":"https://api.github.com/users/cston","html_url":"https://github.com/cston","followers_url":"https://api.github.com/users/cston/followers","following_url":"https://api.github.com/users/cston/following{/other_user}","gists_url":"https://api.github.com/users/cston/gists{/gist_id}","starred_url":"https://api.github.com/users/cston/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cston/subscriptions","organizations_url":"https://api.github.com/users/cston/orgs","repos_url":"https://api.github.com/users/cston/repos","events_url":"https://api.github.com/users/cston/events{/privacy}","received_events_url":"https://api.github.com/users/cston/received_events","type":"User","site_admin":false},"body":"Inline `ExtensionClassTypeNoUseSiteDiagnostics` in `Debug.Assert` to avoid making the call in release builds.","created_at":"2016-07-05T20:24:17Z","updated_at":"2016-07-05T20:24:17Z","html_url":"https://github.com/dotnet/roslyn/pull/12341#discussion_r69631185","pull_request_url":"https://api.github.com/repos/dotnet/roslyn/pulls/12341","_links":{"self":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/comments/69631185"},"html":{"href":"https://github.com/dotnet/roslyn/pull/12341#discussion_r69631185"},"pull_request":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/12341"}}},"pull_request":{"url":"https://api.github.com/repos/dotnet/roslyn/pulls/12341","id":76306880,"html_url":"https://github.com/dotnet/roslyn/pull/12341","diff_url":"https://github.com/dotnet/roslyn/pull/12341.diff","patch_url":"https://github.com/dotnet/roslyn/pull/12341.patch","issue_url":"https://api.github.com/repos/dotnet/roslyn/issues/12341","number":12341,"state":"open","locked":false,"title":"Extension everything feature cleanup","user":{"login":"khyperia","id":953151,"avatar_url":"https://avatars.githubusercontent.com/u/953151?v=3","gravatar_id":"","url":"https://api.github.com/users/khyperia","html_url":"https://github.com/khyperia","followers_url":"https://api.github.com/users/khyperia/followers","following_url":"https://api.github.com/users/khyperia/following{/other_user}","gists_url":"https://api.github.com/users/khyperia/gists{/gist_id}","starred_url":"https://api.github.com/users/khyperia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/khyperia/subscriptions","organizations_url":"https://api.github.com/users/khyperia/orgs","repos_url":"https://api.github.com/users/khyperia/repos","events_url":"https://api.github.com/users/khyperia/events{/privacy}","received_events_url":"https://api.github.com/users/khyperia/received_events","type":"User","site_admin":false},"body":"**NOTE:** As opposed to the previous Extension Everything PR, this one is open to review and should go through the standard review process. Ping @dotnet/roslyn-compiler .\r\n\r\nThis PR sweeps through a few low-hanging fruit `// PROTOTYPE` comments and fixing up skipped tests. Features/fixes in this PR:\r\n\r\n* Fix extension method `Add` in collection initializers (was broken by reduced extension method refactoring).\r\n* Fix GetAwaiter pattern with extension members (same thing).\r\n* Create `ExtensionTypeClass` property instead of using `BaseClass`. The semantics of what types are allowed/disallowed are not nailed down yet, and I believe this property accepts too many types as valid - e.g. `dynamic` and pointers are allowed. I'm holding off on more work for this until it's more clear (maybe needs LDM?).\r\n * Later commit forces diagnostics of `ExtensionTypeClass`.\r\n* Fix many instances of `BoundThisReference`/`ThisParameterSymbol` assuming they had the type of the containing type. I am guessing there are more assumptions like this scattered around, as it was a valid assumption in the past, but this feature breaks that assumption.\r\n* Emit a diagnostic when `replace` is used in an extension class... which I only just realized was removed a week ago. Will remove the diagnostic next time I merge with master.\r\n\r\n**NOTE:** We should bring the GetAwaiter decisions to LDM - whether or not we should allow IsCompleted to be an extension property (and other members - I'm not sure what things are allowed to be extension methods, but we might want to re-evaluate now that we have extension properties) - I'm guessing this also interacts with the ValueTask feature. This PR currently allows IsCompleted to be an extension property, but that's simply because it fell out of the existing code and was easier to implement that way.","created_at":"2016-07-05T16:51:32Z","updated_at":"2016-07-05T20:24:18Z","closed_at":null,"merged_at":null,"merge_commit_sha":"e17e74585c40653474d93d48d31034053a3389ea","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/dotnet/roslyn/pulls/12341/commits","review_comments_url":"https://api.github.com/repos/dotnet/roslyn/pulls/12341/comments","review_comment_url":"https://api.github.com/repos/dotnet/roslyn/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/roslyn/issues/12341/comments","statuses_url":"https://api.github.com/repos/dotnet/roslyn/statuses/b7d8e864f95e69bcf4b10ecc6a7fbd320735cee4","head":{"label":"khyperia:extensionEverything","ref":"extensionEverything","sha":"b7d8e864f95e69bcf4b10ecc6a7fbd320735cee4","user":{"login":"khyperia","id":953151,"avatar_url":"https://avatars.githubusercontent.com/u/953151?v=3","gravatar_id":"","url":"https://api.github.com/users/khyperia","html_url":"https://github.com/khyperia","followers_url":"https://api.github.com/users/khyperia/followers","following_url":"https://api.github.com/users/khyperia/following{/other_user}","gists_url":"https://api.github.com/users/khyperia/gists{/gist_id}","starred_url":"https://api.github.com/users/khyperia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/khyperia/subscriptions","organizations_url":"https://api.github.com/users/khyperia/orgs","repos_url":"https://api.github.com/users/khyperia/repos","events_url":"https://api.github.com/users/khyperia/events{/privacy}","received_events_url":"https://api.github.com/users/khyperia/received_events","type":"User","site_admin":false},"repo":{"id":35454040,"name":"roslyn","full_name":"khyperia/roslyn","owner":{"login":"khyperia","id":953151,"avatar_url":"https://avatars.githubusercontent.com/u/953151?v=3","gravatar_id":"","url":"https://api.github.com/users/khyperia","html_url":"https://github.com/khyperia","followers_url":"https://api.github.com/users/khyperia/followers","following_url":"https://api.github.com/users/khyperia/following{/other_user}","gists_url":"https://api.github.com/users/khyperia/gists{/gist_id}","starred_url":"https://api.github.com/users/khyperia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/khyperia/subscriptions","organizations_url":"https://api.github.com/users/khyperia/orgs","repos_url":"https://api.github.com/users/khyperia/repos","events_url":"https://api.github.com/users/khyperia/events{/privacy}","received_events_url":"https://api.github.com/users/khyperia/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/khyperia/roslyn","description":"The .NET Compiler Platform (\"Roslyn\") provides open-source C# and Visual Basic compilers with rich code analysis APIs.","fork":true,"url":"https://api.github.com/repos/khyperia/roslyn","forks_url":"https://api.github.com/repos/khyperia/roslyn/forks","keys_url":"https://api.github.com/repos/khyperia/roslyn/keys{/key_id}","collaborators_url":"https://api.github.com/repos/khyperia/roslyn/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/khyperia/roslyn/teams","hooks_url":"https://api.github.com/repos/khyperia/roslyn/hooks","issue_events_url":"https://api.github.com/repos/khyperia/roslyn/issues/events{/number}","events_url":"https://api.github.com/repos/khyperia/roslyn/events","assignees_url":"https://api.github.com/repos/khyperia/roslyn/assignees{/user}","branches_url":"https://api.github.com/repos/khyperia/roslyn/branches{/branch}","tags_url":"https://api.github.com/repos/khyperia/roslyn/tags","blobs_url":"https://api.github.com/repos/khyperia/roslyn/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/khyperia/roslyn/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/khyperia/roslyn/git/refs{/sha}","trees_url":"https://api.github.com/repos/khyperia/roslyn/git/trees{/sha}","statuses_url":"https://api.github.com/repos/khyperia/roslyn/statuses/{sha}","languages_url":"https://api.github.com/repos/khyperia/roslyn/languages","stargazers_url":"https://api.github.com/repos/khyperia/roslyn/stargazers","contributors_url":"https://api.github.com/repos/khyperia/roslyn/contributors","subscribers_url":"https://api.github.com/repos/khyperia/roslyn/subscribers","subscription_url":"https://api.github.com/repos/khyperia/roslyn/subscription","commits_url":"https://api.github.com/repos/khyperia/roslyn/commits{/sha}","git_commits_url":"https://api.github.com/repos/khyperia/roslyn/git/commits{/sha}","comments_url":"https://api.github.com/repos/khyperia/roslyn/comments{/number}","issue_comment_url":"https://api.github.com/repos/khyperia/roslyn/issues/comments{/number}","contents_url":"https://api.github.com/repos/khyperia/roslyn/contents/{+path}","compare_url":"https://api.github.com/repos/khyperia/roslyn/compare/{base}...{head}","merges_url":"https://api.github.com/repos/khyperia/roslyn/merges","archive_url":"https://api.github.com/repos/khyperia/roslyn/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/khyperia/roslyn/downloads","issues_url":"https://api.github.com/repos/khyperia/roslyn/issues{/number}","pulls_url":"https://api.github.com/repos/khyperia/roslyn/pulls{/number}","milestones_url":"https://api.github.com/repos/khyperia/roslyn/milestones{/number}","notifications_url":"https://api.github.com/repos/khyperia/roslyn/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/khyperia/roslyn/labels{/name}","releases_url":"https://api.github.com/repos/khyperia/roslyn/releases{/id}","deployments_url":"https://api.github.com/repos/khyperia/roslyn/deployments","created_at":"2015-05-11T22:43:33Z","updated_at":"2016-05-09T23:12:38Z","pushed_at":"2016-07-01T23:30:45Z","git_url":"git://github.com/khyperia/roslyn.git","ssh_url":"git@github.com:khyperia/roslyn.git","clone_url":"https://github.com/khyperia/roslyn.git","svn_url":"https://github.com/khyperia/roslyn","homepage":"","size":163998,"stargazers_count":0,"watchers_count":0,"language":"C#","has_issues":false,"has_downloads":true,"has_wiki":true,"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":"dotnet:features/extensionEverything","ref":"features/extensionEverything","sha":"47a8024464024c9f1fd0ef23b5d1b0645c863168","user":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars.githubusercontent.com/u/9141961?v=3","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"repo":{"id":29078997,"name":"roslyn","full_name":"dotnet/roslyn","owner":{"login":"dotnet","id":9141961,"avatar_url":"https://avatars.githubusercontent.com/u/9141961?v=3","gravatar_id":"","url":"https://api.github.com/users/dotnet","html_url":"https://github.com/dotnet","followers_url":"https://api.github.com/users/dotnet/followers","following_url":"https://api.github.com/users/dotnet/following{/other_user}","gists_url":"https://api.github.com/users/dotnet/gists{/gist_id}","starred_url":"https://api.github.com/users/dotnet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dotnet/subscriptions","organizations_url":"https://api.github.com/users/dotnet/orgs","repos_url":"https://api.github.com/users/dotnet/repos","events_url":"https://api.github.com/users/dotnet/events{/privacy}","received_events_url":"https://api.github.com/users/dotnet/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dotnet/roslyn","description":"The .NET Compiler Platform (\"Roslyn\") provides open-source C# and Visual Basic compilers with rich code analysis APIs.","fork":false,"url":"https://api.github.com/repos/dotnet/roslyn","forks_url":"https://api.github.com/repos/dotnet/roslyn/forks","keys_url":"https://api.github.com/repos/dotnet/roslyn/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dotnet/roslyn/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dotnet/roslyn/teams","hooks_url":"https://api.github.com/repos/dotnet/roslyn/hooks","issue_events_url":"https://api.github.com/repos/dotnet/roslyn/issues/events{/number}","events_url":"https://api.github.com/repos/dotnet/roslyn/events","assignees_url":"https://api.github.com/repos/dotnet/roslyn/assignees{/user}","branches_url":"https://api.github.com/repos/dotnet/roslyn/branches{/branch}","tags_url":"https://api.github.com/repos/dotnet/roslyn/tags","blobs_url":"https://api.github.com/repos/dotnet/roslyn/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dotnet/roslyn/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dotnet/roslyn/git/refs{/sha}","trees_url":"https://api.github.com/repos/dotnet/roslyn/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dotnet/roslyn/statuses/{sha}","languages_url":"https://api.github.com/repos/dotnet/roslyn/languages","stargazers_url":"https://api.github.com/repos/dotnet/roslyn/stargazers","contributors_url":"https://api.github.com/repos/dotnet/roslyn/contributors","subscribers_url":"https://api.github.com/repos/dotnet/roslyn/subscribers","subscription_url":"https://api.github.com/repos/dotnet/roslyn/subscription","commits_url":"https://api.github.com/repos/dotnet/roslyn/commits{/sha}","git_commits_url":"https://api.github.com/repos/dotnet/roslyn/git/commits{/sha}","comments_url":"https://api.github.com/repos/dotnet/roslyn/comments{/number}","issue_comment_url":"https://api.github.com/repos/dotnet/roslyn/issues/comments{/number}","contents_url":"https://api.github.com/repos/dotnet/roslyn/contents/{+path}","compare_url":"https://api.github.com/repos/dotnet/roslyn/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dotnet/roslyn/merges","archive_url":"https://api.github.com/repos/dotnet/roslyn/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dotnet/roslyn/downloads","issues_url":"https://api.github.com/repos/dotnet/roslyn/issues{/number}","pulls_url":"https://api.github.com/repos/dotnet/roslyn/pulls{/number}","milestones_url":"https://api.github.com/repos/dotnet/roslyn/milestones{/number}","notifications_url":"https://api.github.com/repos/dotnet/roslyn/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dotnet/roslyn/labels{/name}","releases_url":"https://api.github.com/repos/dotnet/roslyn/releases{/id}","deployments_url":"https://api.github.com/repos/dotnet/roslyn/deployments","created_at":"2015-01-11T02:39:03Z","updated_at":"2016-07-05T19:37:50Z","pushed_at":"2016-07-05T20:00:18Z","git_url":"git://github.com/dotnet/roslyn.git","ssh_url":"git@github.com:dotnet/roslyn.git","clone_url":"https://github.com/dotnet/roslyn.git","svn_url":"https://github.com/dotnet/roslyn","homepage":"","size":312192,"stargazers_count":5747,"watchers_count":5747,"language":"C#","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1376,"mirror_url":null,"open_issues_count":2991,"forks":1376,"open_issues":2991,"watchers":5747,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/12341"},"html":{"href":"https://github.com/dotnet/roslyn/pull/12341"},"issue":{"href":"https://api.github.com/repos/dotnet/roslyn/issues/12341"},"comments":{"href":"https://api.github.com/repos/dotnet/roslyn/issues/12341/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/12341/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/12341/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/roslyn/statuses/b7d8e864f95e69bcf4b10ecc6a7fbd320735cee4"}}}}
{"actor":{"display_login":"cston"}}