{"action":"created","comment":{"url":"https://api.github.com/repos/angr/pyvex/pulls/comments/200198660","pull_request_review_id":134467589,"id":200198660,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDIwMDE5ODY2MA==","diff_hunk":"@@ -251,13 +258,12 @@ def direct_next(self):\n     @property\n     def expressions(self):\n         \"\"\"\n-        A list of all expressions contained in the IRSB.\n+        Return an iterator of all expressions contained in the IRSB.","path":"pyvex/block.py","position":23,"original_position":23,"commit_id":"e589effa71dabd9a5dc5d1db2f7979ce73372a8f","original_commit_id":"e589effa71dabd9a5dc5d1db2f7979ce73372a8f","user":{"login":"danse-macabre","id":2642045,"node_id":"MDQ6VXNlcjI2NDIwNDU=","avatar_url":"https://avatars2.githubusercontent.com/u/2642045?v=4","gravatar_id":"","url":"https://api.github.com/users/danse-macabre","html_url":"https://github.com/danse-macabre","followers_url":"https://api.github.com/users/danse-macabre/followers","following_url":"https://api.github.com/users/danse-macabre/following{/other_user}","gists_url":"https://api.github.com/users/danse-macabre/gists{/gist_id}","starred_url":"https://api.github.com/users/danse-macabre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danse-macabre/subscriptions","organizations_url":"https://api.github.com/users/danse-macabre/orgs","repos_url":"https://api.github.com/users/danse-macabre/repos","events_url":"https://api.github.com/users/danse-macabre/events{/privacy}","received_events_url":"https://api.github.com/users/danse-macabre/received_events","type":"User","site_admin":false},"body":"@ltfish Oh, my... I never thought it could work this way! I thought that the property would be the *generator* itself, rather than it would return a *generator*, hence it seemed to me, that the property would yield nothing, once exhausted.\r\nIt seems like my Python knowledge is far not as good as I thought :-) Sorry about the confusion.\r\n\r\nNevertheless, the code looks perfectly OK, except the two moments:\r\n1) The length of the expressions list can't be obtained using the `len` function. \r\n2) IMHO, one might expect that the method/property that is supposed to return an iterator over items should be named like `iter_items`, or something. But this is, of course, deeply subjective.\r\n","created_at":"2018-07-04T20:37:34Z","updated_at":"2018-07-04T20:37:35Z","html_url":"https://github.com/angr/pyvex/pull/140#discussion_r200198660","pull_request_url":"https://api.github.com/repos/angr/pyvex/pulls/140","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/angr/pyvex/pulls/comments/200198660"},"html":{"href":"https://github.com/angr/pyvex/pull/140#discussion_r200198660"},"pull_request":{"href":"https://api.github.com/repos/angr/pyvex/pulls/140"}},"in_reply_to_id":200152993},"pull_request":{"url":"https://api.github.com/repos/angr/pyvex/pulls/140","id":198508234,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk4NTA4MjM0","html_url":"https://github.com/angr/pyvex/pull/140","diff_url":"https://github.com/angr/pyvex/pull/140.diff","patch_url":"https://github.com/angr/pyvex/pull/140.patch","issue_url":"https://api.github.com/repos/angr/pyvex/issues/140","number":140,"state":"closed","locked":false,"title":"Implement expression replacing for IRStmt and IRExpr.","user":{"login":"ltfish","id":5071575,"node_id":"MDQ6VXNlcjUwNzE1NzU=","avatar_url":"https://avatars1.githubusercontent.com/u/5071575?v=4","gravatar_id":"","url":"https://api.github.com/users/ltfish","html_url":"https://github.com/ltfish","followers_url":"https://api.github.com/users/ltfish/followers","following_url":"https://api.github.com/users/ltfish/following{/other_user}","gists_url":"https://api.github.com/users/ltfish/gists{/gist_id}","starred_url":"https://api.github.com/users/ltfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ltfish/subscriptions","organizations_url":"https://api.github.com/users/ltfish/orgs","repos_url":"https://api.github.com/users/ltfish/repos","events_url":"https://api.github.com/users/ltfish/events{/privacy}","received_events_url":"https://api.github.com/users/ltfish/received_events","type":"User","site_admin":false},"body":"This commit fixes issue angr/angr#1096. Thanks @Alexeyan for reporting.","created_at":"2018-07-01T05:26:57Z","updated_at":"2018-07-04T20:37:35Z","closed_at":"2018-07-01T17:57:51Z","merged_at":"2018-07-01T17:57:51Z","merge_commit_sha":"30009df4dcdd46331ceb891be5619679a8f0a919","assignee":{"login":"ltfish","id":5071575,"node_id":"MDQ6VXNlcjUwNzE1NzU=","avatar_url":"https://avatars1.githubusercontent.com/u/5071575?v=4","gravatar_id":"","url":"https://api.github.com/users/ltfish","html_url":"https://github.com/ltfish","followers_url":"https://api.github.com/users/ltfish/followers","following_url":"https://api.github.com/users/ltfish/following{/other_user}","gists_url":"https://api.github.com/users/ltfish/gists{/gist_id}","starred_url":"https://api.github.com/users/ltfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ltfish/subscriptions","organizations_url":"https://api.github.com/users/ltfish/orgs","repos_url":"https://api.github.com/users/ltfish/repos","events_url":"https://api.github.com/users/ltfish/events{/privacy}","received_events_url":"https://api.github.com/users/ltfish/received_events","type":"User","site_admin":false},"assignees":[{"login":"ltfish","id":5071575,"node_id":"MDQ6VXNlcjUwNzE1NzU=","avatar_url":"https://avatars1.githubusercontent.com/u/5071575?v=4","gravatar_id":"","url":"https://api.github.com/users/ltfish","html_url":"https://github.com/ltfish","followers_url":"https://api.github.com/users/ltfish/followers","following_url":"https://api.github.com/users/ltfish/following{/other_user}","gists_url":"https://api.github.com/users/ltfish/gists{/gist_id}","starred_url":"https://api.github.com/users/ltfish/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ltfish/subscriptions","organizations_url":"https://api.github.com/users/ltfish/orgs","repos_url":"https://api.github.com/users/ltfish/repos","events_url":"https://api.github.com/users/ltfish/events{/privacy}","received_events_url":"https://api.github.com/users/ltfish/received_events","type":"User","site_admin":false}],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":57591533,"node_id":"MDU6TGFiZWw1NzU5MTUzMw==","url":"https://api.github.com/repos/angr/pyvex/labels/bug","name":"bug","color":"fc2929","default":true}],"milestone":null,"commits_url":"https://api.github.com/repos/angr/pyvex/pulls/140/commits","review_comments_url":"https://api.github.com/repos/angr/pyvex/pulls/140/comments","review_comment_url":"https://api.github.com/repos/angr/pyvex/pulls/comments{/number}","comments_url":"https://api.github.com/repos/angr/pyvex/issues/140/comments","statuses_url":"https://api.github.com/repos/angr/pyvex/statuses/e589effa71dabd9a5dc5d1db2f7979ce73372a8f","head":{"label":"angr:fix/extender_replace_expressions","ref":"fix/extender_replace_expressions","sha":"e589effa71dabd9a5dc5d1db2f7979ce73372a8f","user":{"login":"angr","id":12520807,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNTIwODA3","avatar_url":"https://avatars3.githubusercontent.com/u/12520807?v=4","gravatar_id":"","url":"https://api.github.com/users/angr","html_url":"https://github.com/angr","followers_url":"https://api.github.com/users/angr/followers","following_url":"https://api.github.com/users/angr/following{/other_user}","gists_url":"https://api.github.com/users/angr/gists{/gist_id}","starred_url":"https://api.github.com/users/angr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/angr/subscriptions","organizations_url":"https://api.github.com/users/angr/orgs","repos_url":"https://api.github.com/users/angr/repos","events_url":"https://api.github.com/users/angr/events{/privacy}","received_events_url":"https://api.github.com/users/angr/received_events","type":"Organization","site_admin":false},"repo":{"id":13027352,"node_id":"MDEwOlJlcG9zaXRvcnkxMzAyNzM1Mg==","name":"pyvex","full_name":"angr/pyvex","owner":{"login":"angr","id":12520807,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNTIwODA3","avatar_url":"https://avatars3.githubusercontent.com/u/12520807?v=4","gravatar_id":"","url":"https://api.github.com/users/angr","html_url":"https://github.com/angr","followers_url":"https://api.github.com/users/angr/followers","following_url":"https://api.github.com/users/angr/following{/other_user}","gists_url":"https://api.github.com/users/angr/gists{/gist_id}","starred_url":"https://api.github.com/users/angr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/angr/subscriptions","organizations_url":"https://api.github.com/users/angr/orgs","repos_url":"https://api.github.com/users/angr/repos","events_url":"https://api.github.com/users/angr/events{/privacy}","received_events_url":"https://api.github.com/users/angr/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/angr/pyvex","description":"Python bindings for Valgrind's VEX IR.","fork":false,"url":"https://api.github.com/repos/angr/pyvex","forks_url":"https://api.github.com/repos/angr/pyvex/forks","keys_url":"https://api.github.com/repos/angr/pyvex/keys{/key_id}","collaborators_url":"https://api.github.com/repos/angr/pyvex/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/angr/pyvex/teams","hooks_url":"https://api.github.com/repos/angr/pyvex/hooks","issue_events_url":"https://api.github.com/repos/angr/pyvex/issues/events{/number}","events_url":"https://api.github.com/repos/angr/pyvex/events","assignees_url":"https://api.github.com/repos/angr/pyvex/assignees{/user}","branches_url":"https://api.github.com/repos/angr/pyvex/branches{/branch}","tags_url":"https://api.github.com/repos/angr/pyvex/tags","blobs_url":"https://api.github.com/repos/angr/pyvex/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/angr/pyvex/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/angr/pyvex/git/refs{/sha}","trees_url":"https://api.github.com/repos/angr/pyvex/git/trees{/sha}","statuses_url":"https://api.github.com/repos/angr/pyvex/statuses/{sha}","languages_url":"https://api.github.com/repos/angr/pyvex/languages","stargazers_url":"https://api.github.com/repos/angr/pyvex/stargazers","contributors_url":"https://api.github.com/repos/angr/pyvex/contributors","subscribers_url":"https://api.github.com/repos/angr/pyvex/subscribers","subscription_url":"https://api.github.com/repos/angr/pyvex/subscription","commits_url":"https://api.github.com/repos/angr/pyvex/commits{/sha}","git_commits_url":"https://api.github.com/repos/angr/pyvex/git/commits{/sha}","comments_url":"https://api.github.com/repos/angr/pyvex/comments{/number}","issue_comment_url":"https://api.github.com/repos/angr/pyvex/issues/comments{/number}","contents_url":"https://api.github.com/repos/angr/pyvex/contents/{+path}","compare_url":"https://api.github.com/repos/angr/pyvex/compare/{base}...{head}","merges_url":"https://api.github.com/repos/angr/pyvex/merges","archive_url":"https://api.github.com/repos/angr/pyvex/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/angr/pyvex/downloads","issues_url":"https://api.github.com/repos/angr/pyvex/issues{/number}","pulls_url":"https://api.github.com/repos/angr/pyvex/pulls{/number}","milestones_url":"https://api.github.com/repos/angr/pyvex/milestones{/number}","notifications_url":"https://api.github.com/repos/angr/pyvex/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/angr/pyvex/labels{/name}","releases_url":"https://api.github.com/repos/angr/pyvex/releases{/id}","deployments_url":"https://api.github.com/repos/angr/pyvex/deployments","created_at":"2013-09-23T05:02:20Z","updated_at":"2018-07-02T06:42:06Z","pushed_at":"2018-07-04T20:33:02Z","git_url":"git://github.com/angr/pyvex.git","ssh_url":"git@github.com:angr/pyvex.git","clone_url":"https://github.com/angr/pyvex.git","svn_url":"https://github.com/angr/pyvex","homepage":null,"size":913,"stargazers_count":133,"watchers_count":133,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":64,"mirror_url":null,"archived":false,"open_issues_count":22,"license":{"key":"bsd-2-clause","name":"BSD 2-Clause \"Simplified\" License","spdx_id":"BSD-2-Clause","url":"https://api.github.com/licenses/bsd-2-clause","node_id":"MDc6TGljZW5zZTQ="},"forks":64,"open_issues":22,"watchers":133,"default_branch":"master"}},"base":{"label":"angr:master","ref":"master","sha":"34167b7989d5714f7e21b3162c7daa0013acb800","user":{"login":"angr","id":12520807,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNTIwODA3","avatar_url":"https://avatars3.githubusercontent.com/u/12520807?v=4","gravatar_id":"","url":"https://api.github.com/users/angr","html_url":"https://github.com/angr","followers_url":"https://api.github.com/users/angr/followers","following_url":"https://api.github.com/users/angr/following{/other_user}","gists_url":"https://api.github.com/users/angr/gists{/gist_id}","starred_url":"https://api.github.com/users/angr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/angr/subscriptions","organizations_url":"https://api.github.com/users/angr/orgs","repos_url":"https://api.github.com/users/angr/repos","events_url":"https://api.github.com/users/angr/events{/privacy}","received_events_url":"https://api.github.com/users/angr/received_events","type":"Organization","site_admin":false},"repo":{"id":13027352,"node_id":"MDEwOlJlcG9zaXRvcnkxMzAyNzM1Mg==","name":"pyvex","full_name":"angr/pyvex","owner":{"login":"angr","id":12520807,"node_id":"MDEyOk9yZ2FuaXphdGlvbjEyNTIwODA3","avatar_url":"https://avatars3.githubusercontent.com/u/12520807?v=4","gravatar_id":"","url":"https://api.github.com/users/angr","html_url":"https://github.com/angr","followers_url":"https://api.github.com/users/angr/followers","following_url":"https://api.github.com/users/angr/following{/other_user}","gists_url":"https://api.github.com/users/angr/gists{/gist_id}","starred_url":"https://api.github.com/users/angr/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/angr/subscriptions","organizations_url":"https://api.github.com/users/angr/orgs","repos_url":"https://api.github.com/users/angr/repos","events_url":"https://api.github.com/users/angr/events{/privacy}","received_events_url":"https://api.github.com/users/angr/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/angr/pyvex","description":"Python bindings for Valgrind's VEX IR.","fork":false,"url":"https://api.github.com/repos/angr/pyvex","forks_url":"https://api.github.com/repos/angr/pyvex/forks","keys_url":"https://api.github.com/repos/angr/pyvex/keys{/key_id}","collaborators_url":"https://api.github.com/repos/angr/pyvex/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/angr/pyvex/teams","hooks_url":"https://api.github.com/repos/angr/pyvex/hooks","issue_events_url":"https://api.github.com/repos/angr/pyvex/issues/events{/number}","events_url":"https://api.github.com/repos/angr/pyvex/events","assignees_url":"https://api.github.com/repos/angr/pyvex/assignees{/user}","branches_url":"https://api.github.com/repos/angr/pyvex/branches{/branch}","tags_url":"https://api.github.com/repos/angr/pyvex/tags","blobs_url":"https://api.github.com/repos/angr/pyvex/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/angr/pyvex/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/angr/pyvex/git/refs{/sha}","trees_url":"https://api.github.com/repos/angr/pyvex/git/trees{/sha}","statuses_url":"https://api.github.com/repos/angr/pyvex/statuses/{sha}","languages_url":"https://api.github.com/repos/angr/pyvex/languages","stargazers_url":"https://api.github.com/repos/angr/pyvex/stargazers","contributors_url":"https://api.github.com/repos/angr/pyvex/contributors","subscribers_url":"https://api.github.com/repos/angr/pyvex/subscribers","subscription_url":"https://api.github.com/repos/angr/pyvex/subscription","commits_url":"https://api.github.com/repos/angr/pyvex/commits{/sha}","git_commits_url":"https://api.github.com/repos/angr/pyvex/git/commits{/sha}","comments_url":"https://api.github.com/repos/angr/pyvex/comments{/number}","issue_comment_url":"https://api.github.com/repos/angr/pyvex/issues/comments{/number}","contents_url":"https://api.github.com/repos/angr/pyvex/contents/{+path}","compare_url":"https://api.github.com/repos/angr/pyvex/compare/{base}...{head}","merges_url":"https://api.github.com/repos/angr/pyvex/merges","archive_url":"https://api.github.com/repos/angr/pyvex/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/angr/pyvex/downloads","issues_url":"https://api.github.com/repos/angr/pyvex/issues{/number}","pulls_url":"https://api.github.com/repos/angr/pyvex/pulls{/number}","milestones_url":"https://api.github.com/repos/angr/pyvex/milestones{/number}","notifications_url":"https://api.github.com/repos/angr/pyvex/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/angr/pyvex/labels{/name}","releases_url":"https://api.github.com/repos/angr/pyvex/releases{/id}","deployments_url":"https://api.github.com/repos/angr/pyvex/deployments","created_at":"2013-09-23T05:02:20Z","updated_at":"2018-07-02T06:42:06Z","pushed_at":"2018-07-04T20:33:02Z","git_url":"git://github.com/angr/pyvex.git","ssh_url":"git@github.com:angr/pyvex.git","clone_url":"https://github.com/angr/pyvex.git","svn_url":"https://github.com/angr/pyvex","homepage":null,"size":913,"stargazers_count":133,"watchers_count":133,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":64,"mirror_url":null,"archived":false,"open_issues_count":22,"license":{"key":"bsd-2-clause","name":"BSD 2-Clause \"Simplified\" License","spdx_id":"BSD-2-Clause","url":"https://api.github.com/licenses/bsd-2-clause","node_id":"MDc6TGljZW5zZTQ="},"forks":64,"open_issues":22,"watchers":133,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/angr/pyvex/pulls/140"},"html":{"href":"https://github.com/angr/pyvex/pull/140"},"issue":{"href":"https://api.github.com/repos/angr/pyvex/issues/140"},"comments":{"href":"https://api.github.com/repos/angr/pyvex/issues/140/comments"},"review_comments":{"href":"https://api.github.com/repos/angr/pyvex/pulls/140/comments"},"review_comment":{"href":"https://api.github.com/repos/angr/pyvex/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/angr/pyvex/pulls/140/commits"},"statuses":{"href":"https://api.github.com/repos/angr/pyvex/statuses/e589effa71dabd9a5dc5d1db2f7979ce73372a8f"}},"author_association":"MEMBER"}}
{"actor":{"display_login":"danse-macabre"}}