{"action":"created","comment":{"url":"https://api.github.com/repos/dotnet/roslyn/pulls/comments/52811257","id":52811257,"diff_hunk":"@@ -212,26 +220,26 @@ public void Accept(OperationVisitor visitor)\n \n         private sealed class CompoundAssignmentExpression : ICompoundAssignmentExpression\n         {\n-            public CompoundAssignmentExpression(IReferenceExpression target, IExpression value, BinaryOperationKind binaryKind, IMethodSymbol operatorMethod, SyntaxNode syntax)\n+            public CompoundAssignmentExpression(IReferenceExpression target, IOperation value, BinaryOperationKind binaryKind, IMethodSymbol operatorMethod, SyntaxNode syntax)\n             {\n                 this.Target = target;\n                 this.Value = value;\n-                this.BinaryKind = binaryKind;\n-                this.Operator = operatorMethod;\n+                this.BinaryOperationKind = binaryKind;","path":"src/Compilers/Core/Portable/Compilation/Expression.cs","position":107,"original_position":107,"commit_id":"c21c17491f55cdcda4ee98ad78efce59cbdde49d","original_commit_id":"c21c17491f55cdcda4ee98ad78efce59cbdde49d","user":{"login":"JohnHamby","id":10982715,"avatar_url":"https://avatars.githubusercontent.com/u/10982715?v=3","gravatar_id":"","url":"https://api.github.com/users/JohnHamby","html_url":"https://github.com/JohnHamby","followers_url":"https://api.github.com/users/JohnHamby/followers","following_url":"https://api.github.com/users/JohnHamby/following{/other_user}","gists_url":"https://api.github.com/users/JohnHamby/gists{/gist_id}","starred_url":"https://api.github.com/users/JohnHamby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JohnHamby/subscriptions","organizations_url":"https://api.github.com/users/JohnHamby/orgs","repos_url":"https://api.github.com/users/JohnHamby/repos","events_url":"https://api.github.com/users/JohnHamby/events{/privacy}","received_events_url":"https://api.github.com/users/JohnHamby/received_events","type":"User","site_admin":false},"body":"OK.","created_at":"2016-02-12T23:11:59Z","updated_at":"2016-02-12T23:11:59Z","html_url":"https://github.com/dotnet/roslyn/pull/8624#discussion_r52811257","pull_request_url":"https://api.github.com/repos/dotnet/roslyn/pulls/8624","_links":{"self":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/comments/52811257"},"html":{"href":"https://github.com/dotnet/roslyn/pull/8624#discussion_r52811257"},"pull_request":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/8624"}}},"pull_request":{"url":"https://api.github.com/repos/dotnet/roslyn/pulls/8624","id":59145643,"html_url":"https://github.com/dotnet/roslyn/pull/8624","diff_url":"https://github.com/dotnet/roslyn/pull/8624.diff","patch_url":"https://github.com/dotnet/roslyn/pull/8624.patch","issue_url":"https://api.github.com/repos/dotnet/roslyn/issues/8624","number":8624,"state":"open","locked":false,"title":"IOperation API review","user":{"login":"JohnHamby","id":10982715,"avatar_url":"https://avatars.githubusercontent.com/u/10982715?v=3","gravatar_id":"","url":"https://api.github.com/users/JohnHamby","html_url":"https://github.com/JohnHamby","followers_url":"https://api.github.com/users/JohnHamby/followers","following_url":"https://api.github.com/users/JohnHamby/following{/other_user}","gists_url":"https://api.github.com/users/JohnHamby/gists{/gist_id}","starred_url":"https://api.github.com/users/JohnHamby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JohnHamby/subscriptions","organizations_url":"https://api.github.com/users/JohnHamby/orgs","repos_url":"https://api.github.com/users/JohnHamby/repos","events_url":"https://api.github.com/users/JohnHamby/events{/privacy}","received_events_url":"https://api.github.com/users/JohnHamby/received_events","type":"User","site_admin":false},"body":"This change set includes IOperation API changes suggested by a formal API review, as well as thoughtful independent reviews by @AnthonyDGreen, @nguerrera, @genlu, Don Syme, and probably others. There are no deliberate changes in behavior beyond what is necessary to conform to the new API, but there is some additional testing.\r\n\r\nThis is a rather large change set. The changes are almost entirely mechanical, but there are a lot of them.\r\n\r\nSummary of the changes:\r\n1)\tIntroduced SimpleUnaryOperationKind and SimpleBinaryOperationKind to describe unary and binary operations from an operand-type-independent perspective. Introduced UnaryOperandKind and BinaryOperandsKind to describe unary and binary operations from an operation-independent perspective. Introduced UnaryAndBinaryOperationsExtensions class to provide convenient access to these. Replaced occurrences of “Operator” with “OperatorMethod” in enumerations.\r\n2)\tMoved IOperation and OperationKind from Microsoft.CodeAnalysis.Semantics to Microsoft.CodeAnalysis.\r\n3)\tRemoved IExpressionExtensions.\r\n4)\tRenamed IExpression.ResultType to “Type”. I’m not crazy about this change.\r\n5)\tRenamed ILiteralExpression.Spelling to “Text”.\r\n6)\tRenamed ILockStatement.Locked to “LockedObject”.\r\n7)\tIntroduced IHasArgumensExpression as a common base interface of IInvocationExpression and IObjectCreationExpression.\r\n8)\tRenamed IHasArgumentsExpression.ArgumentMatchingParameter to “GetArgumentMatchingParameter”.\r\n9)\tRenamed IThowStatement.Thrown to”ThrownObject”.\r\n10)\tRenamed IUsingWithDeclaration.Variables to “Declaration”.\r\n11)\tRemoved ITypeOperationExpression.TypeOperationKind. Introduced ISizeOfExpression and ITypeOfExpression.\r\n12)\tRenamed IVariable to “IVariableDeclaration”.\r\n13)\tAdded Compilation property to OperationBlockAnalysisContext and OperationBlockStartAnalysisContext.\r\n14)\tRenamed IReturnStatement.Returned to “ReturnedValue”.\r\n15)\tRemoved IStatement.\r\n16)\tReplaced operation kinds GoToStatement, BreakStatement, and ContinueStatement with BranchStatement. Added BranchKind to IBranchStatement.\r\n17)\tRenamed ConversionKind.AsCast to “TryCast”.\r\n18)\tRenamed ICatch to “ICatchClause”. Renamed OperationKind.CatchHandler to “CatchClause”.\r\n19)\tRenamed ICase to “ISwitchCase”. Renamed OperationKind.SwitchSection to “SwitchCase”.\r\n20)\tRemoved ILabeledStatement and OperationKind.LabeledStatement.\r\n21)\tReworked IInstanceReferenceExpression to no longer expose the this parameter symbol.\r\n22)\tRemoved IExpression. Moved members of IExpression to IOperation.\r\n\r\n@genlu @nguerrera @mavasani @srivatsn @ManishJayaswal @mattwar @jaredpar @terrajobst @AnthonyDGreen participated in the review and might glance at the outcome.","created_at":"2016-02-12T08:40:23Z","updated_at":"2016-02-12T23:11:59Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3a7498c6486406c62e3e0eb9f9e23572951da92a","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/dotnet/roslyn/pulls/8624/commits","review_comments_url":"https://api.github.com/repos/dotnet/roslyn/pulls/8624/comments","review_comment_url":"https://api.github.com/repos/dotnet/roslyn/pulls/comments{/number}","comments_url":"https://api.github.com/repos/dotnet/roslyn/issues/8624/comments","statuses_url":"https://api.github.com/repos/dotnet/roslyn/statuses/c21c17491f55cdcda4ee98ad78efce59cbdde49d","head":{"label":"JohnHamby:IOperationAPIReview","ref":"IOperationAPIReview","sha":"c21c17491f55cdcda4ee98ad78efce59cbdde49d","user":{"login":"JohnHamby","id":10982715,"avatar_url":"https://avatars.githubusercontent.com/u/10982715?v=3","gravatar_id":"","url":"https://api.github.com/users/JohnHamby","html_url":"https://github.com/JohnHamby","followers_url":"https://api.github.com/users/JohnHamby/followers","following_url":"https://api.github.com/users/JohnHamby/following{/other_user}","gists_url":"https://api.github.com/users/JohnHamby/gists{/gist_id}","starred_url":"https://api.github.com/users/JohnHamby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JohnHamby/subscriptions","organizations_url":"https://api.github.com/users/JohnHamby/orgs","repos_url":"https://api.github.com/users/JohnHamby/repos","events_url":"https://api.github.com/users/JohnHamby/events{/privacy}","received_events_url":"https://api.github.com/users/JohnHamby/received_events","type":"User","site_admin":false},"repo":{"id":30732063,"name":"roslyn","full_name":"JohnHamby/roslyn","owner":{"login":"JohnHamby","id":10982715,"avatar_url":"https://avatars.githubusercontent.com/u/10982715?v=3","gravatar_id":"","url":"https://api.github.com/users/JohnHamby","html_url":"https://github.com/JohnHamby","followers_url":"https://api.github.com/users/JohnHamby/followers","following_url":"https://api.github.com/users/JohnHamby/following{/other_user}","gists_url":"https://api.github.com/users/JohnHamby/gists{/gist_id}","starred_url":"https://api.github.com/users/JohnHamby/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JohnHamby/subscriptions","organizations_url":"https://api.github.com/users/JohnHamby/orgs","repos_url":"https://api.github.com/users/JohnHamby/repos","events_url":"https://api.github.com/users/JohnHamby/events{/privacy}","received_events_url":"https://api.github.com/users/JohnHamby/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/JohnHamby/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/JohnHamby/roslyn","forks_url":"https://api.github.com/repos/JohnHamby/roslyn/forks","keys_url":"https://api.github.com/repos/JohnHamby/roslyn/keys{/key_id}","collaborators_url":"https://api.github.com/repos/JohnHamby/roslyn/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/JohnHamby/roslyn/teams","hooks_url":"https://api.github.com/repos/JohnHamby/roslyn/hooks","issue_events_url":"https://api.github.com/repos/JohnHamby/roslyn/issues/events{/number}","events_url":"https://api.github.com/repos/JohnHamby/roslyn/events","assignees_url":"https://api.github.com/repos/JohnHamby/roslyn/assignees{/user}","branches_url":"https://api.github.com/repos/JohnHamby/roslyn/branches{/branch}","tags_url":"https://api.github.com/repos/JohnHamby/roslyn/tags","blobs_url":"https://api.github.com/repos/JohnHamby/roslyn/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/JohnHamby/roslyn/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/JohnHamby/roslyn/git/refs{/sha}","trees_url":"https://api.github.com/repos/JohnHamby/roslyn/git/trees{/sha}","statuses_url":"https://api.github.com/repos/JohnHamby/roslyn/statuses/{sha}","languages_url":"https://api.github.com/repos/JohnHamby/roslyn/languages","stargazers_url":"https://api.github.com/repos/JohnHamby/roslyn/stargazers","contributors_url":"https://api.github.com/repos/JohnHamby/roslyn/contributors","subscribers_url":"https://api.github.com/repos/JohnHamby/roslyn/subscribers","subscription_url":"https://api.github.com/repos/JohnHamby/roslyn/subscription","commits_url":"https://api.github.com/repos/JohnHamby/roslyn/commits{/sha}","git_commits_url":"https://api.github.com/repos/JohnHamby/roslyn/git/commits{/sha}","comments_url":"https://api.github.com/repos/JohnHamby/roslyn/comments{/number}","issue_comment_url":"https://api.github.com/repos/JohnHamby/roslyn/issues/comments{/number}","contents_url":"https://api.github.com/repos/JohnHamby/roslyn/contents/{+path}","compare_url":"https://api.github.com/repos/JohnHamby/roslyn/compare/{base}...{head}","merges_url":"https://api.github.com/repos/JohnHamby/roslyn/merges","archive_url":"https://api.github.com/repos/JohnHamby/roslyn/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/JohnHamby/roslyn/downloads","issues_url":"https://api.github.com/repos/JohnHamby/roslyn/issues{/number}","pulls_url":"https://api.github.com/repos/JohnHamby/roslyn/pulls{/number}","milestones_url":"https://api.github.com/repos/JohnHamby/roslyn/milestones{/number}","notifications_url":"https://api.github.com/repos/JohnHamby/roslyn/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/JohnHamby/roslyn/labels{/name}","releases_url":"https://api.github.com/repos/JohnHamby/roslyn/releases{/id}","deployments_url":"https://api.github.com/repos/JohnHamby/roslyn/deployments","created_at":"2015-02-13T00:07:31Z","updated_at":"2015-02-13T00:07:58Z","pushed_at":"2016-02-12T08:08:02Z","git_url":"git://github.com/JohnHamby/roslyn.git","ssh_url":"git@github.com:JohnHamby/roslyn.git","clone_url":"https://github.com/JohnHamby/roslyn.git","svn_url":"https://github.com/JohnHamby/roslyn","homepage":"","size":129581,"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:master","ref":"master","sha":"df14d0fd1275c05b79e6da1b7a4436ea4c8096ff","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-02-12T22:38:40Z","pushed_at":"2016-02-12T22:57:30Z","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":157509,"stargazers_count":4412,"watchers_count":4412,"language":"C#","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1089,"mirror_url":null,"open_issues_count":2097,"forks":1089,"open_issues":2097,"watchers":4412,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/8624"},"html":{"href":"https://github.com/dotnet/roslyn/pull/8624"},"issue":{"href":"https://api.github.com/repos/dotnet/roslyn/issues/8624"},"comments":{"href":"https://api.github.com/repos/dotnet/roslyn/issues/8624/comments"},"review_comments":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/8624/comments"},"review_comment":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/dotnet/roslyn/pulls/8624/commits"},"statuses":{"href":"https://api.github.com/repos/dotnet/roslyn/statuses/c21c17491f55cdcda4ee98ad78efce59cbdde49d"}}}}