{"action":"created","comment":{"url":"https://api.github.com/repos/karies/root/pulls/comments/49741621","id":49741621,"diff_hunk":"@@ -203,28 +89,15 @@ namespace cling {\n           if (ArgIndexs.test(index)) {\n             // Get the argument with the nonnull attribute.\n             Expr* Arg = CE->getArg(index);\n-            CE->setArg(index,\n-                      (clang::Expr*)SynthesizeCheck(Arg->getLocStart(), Arg));\n+            Expr* newArg = SynthesizeCheck(Arg->getLocStart(), Arg);\n+            CE->setArg(index, newArg);\n           }\n         }\n       }\n-      return result;\n-    }\n-\n-    NodeContext VisitCXXMemberCallExpr(CXXMemberCallExpr* CME) {\n-      Expr* Callee = CME->getCallee();\n-      if (isa<MemberExpr>(Callee)) {\n-        NodeContext ME = Visit(Callee);\n-        if (!ME.isSingleStmt())\n-          CME->setCallee((clang::Expr*)ME.getStmt());\n-      }\n-\n-      NodeContext result(CME);\n-      return result;\n     }\n \n   private:\n-    Stmt* SynthesizeCheck(SourceLocation Loc, Expr* Arg) {\n+    Expr* SynthesizeCheck(SourceLocation Loc, Expr* Arg) {","path":"interpreter/cling/lib/Interpreter/NullDerefProtectionTransformer.cpp","position":206,"original_position":206,"commit_id":"27fbf110f844d828ee0e19d049927628d13e12a8","original_commit_id":"27fbf110f844d828ee0e19d049927628d13e12a8","user":{"login":"karies","id":144675,"avatar_url":"https://avatars.githubusercontent.com/u/144675?v=3","gravatar_id":"","url":"https://api.github.com/users/karies","html_url":"https://github.com/karies","followers_url":"https://api.github.com/users/karies/followers","following_url":"https://api.github.com/users/karies/following{/other_user}","gists_url":"https://api.github.com/users/karies/gists{/gist_id}","starred_url":"https://api.github.com/users/karies/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/karies/subscriptions","organizations_url":"https://api.github.com/users/karies/orgs","repos_url":"https://api.github.com/users/karies/repos","events_url":"https://api.github.com/users/karies/events{/privacy}","received_events_url":"https://api.github.com/users/karies/received_events","type":"User","site_admin":false},"body":"`Loc` seems to always be `Arg->getLocStart()`. Do we really need to pass it in?","created_at":"2016-01-14T15:44:05Z","updated_at":"2016-01-14T15:44:05Z","html_url":"https://github.com/karies/root/pull/152#discussion_r49741621","pull_request_url":"https://api.github.com/repos/karies/root/pulls/152","_links":{"self":{"href":"https://api.github.com/repos/karies/root/pulls/comments/49741621"},"html":{"href":"https://github.com/karies/root/pull/152#discussion_r49741621"},"pull_request":{"href":"https://api.github.com/repos/karies/root/pulls/152"}}},"pull_request":{"url":"https://api.github.com/repos/karies/root/pulls/152","id":55916033,"html_url":"https://github.com/karies/root/pull/152","diff_url":"https://github.com/karies/root/pull/152.diff","patch_url":"https://github.com/karies/root/pull/152.patch","issue_url":"https://api.github.com/repos/karies/root/issues/152","number":152,"state":"open","locked":false,"title":"Visit Stmt children for null deref check.","user":{"login":"CristinaCristescu","id":4940839,"avatar_url":"https://avatars.githubusercontent.com/u/4940839?v=3","gravatar_id":"","url":"https://api.github.com/users/CristinaCristescu","html_url":"https://github.com/CristinaCristescu","followers_url":"https://api.github.com/users/CristinaCristescu/followers","following_url":"https://api.github.com/users/CristinaCristescu/following{/other_user}","gists_url":"https://api.github.com/users/CristinaCristescu/gists{/gist_id}","starred_url":"https://api.github.com/users/CristinaCristescu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CristinaCristescu/subscriptions","organizations_url":"https://api.github.com/users/CristinaCristescu/orgs","repos_url":"https://api.github.com/users/CristinaCristescu/repos","events_url":"https://api.github.com/users/CristinaCristescu/events{/privacy}","received_events_url":"https://api.github.com/users/CristinaCristescu/received_events","type":"User","site_admin":false},"body":"The previous version of the Null deref visitor was defaulting to\r\nVisitStmt when the Stmt type was unknown, thus allowing for some\r\ntypes of Stmt X for which a VisitX was not implemented to default\r\nto VisitStmt and not check the content of it. In order to check\r\nany type of Stmt for possible subexpressions which contain s Stmt\r\nthat derefrences a Null, the VisitStmt was extended to check its\r\nchildren.\r\n\r\nOnly the Stmt types, X, which directly containing a null deref expression\r\nhave an explicit VisitX with the exception of CXXMemberCallExpr,\r\nbecause this type would otherwise default to VisitCallExpr which has\r\na different check for its structure.","created_at":"2016-01-13T15:58:11Z","updated_at":"2016-01-14T15:44:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4e2520ec083591bd880f52ce313e5412e138fe1b","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/karies/root/pulls/152/commits","review_comments_url":"https://api.github.com/repos/karies/root/pulls/152/comments","review_comment_url":"https://api.github.com/repos/karies/root/pulls/comments{/number}","comments_url":"https://api.github.com/repos/karies/root/issues/152/comments","statuses_url":"https://api.github.com/repos/karies/root/statuses/27fbf110f844d828ee0e19d049927628d13e12a8","head":{"label":"CristinaCristescu:CleanRobustNullDeref","ref":"CleanRobustNullDeref","sha":"27fbf110f844d828ee0e19d049927628d13e12a8","user":{"login":"CristinaCristescu","id":4940839,"avatar_url":"https://avatars.githubusercontent.com/u/4940839?v=3","gravatar_id":"","url":"https://api.github.com/users/CristinaCristescu","html_url":"https://github.com/CristinaCristescu","followers_url":"https://api.github.com/users/CristinaCristescu/followers","following_url":"https://api.github.com/users/CristinaCristescu/following{/other_user}","gists_url":"https://api.github.com/users/CristinaCristescu/gists{/gist_id}","starred_url":"https://api.github.com/users/CristinaCristescu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CristinaCristescu/subscriptions","organizations_url":"https://api.github.com/users/CristinaCristescu/orgs","repos_url":"https://api.github.com/users/CristinaCristescu/repos","events_url":"https://api.github.com/users/CristinaCristescu/events{/privacy}","received_events_url":"https://api.github.com/users/CristinaCristescu/received_events","type":"User","site_admin":false},"repo":{"id":11178465,"name":"root","full_name":"CristinaCristescu/root","owner":{"login":"CristinaCristescu","id":4940839,"avatar_url":"https://avatars.githubusercontent.com/u/4940839?v=3","gravatar_id":"","url":"https://api.github.com/users/CristinaCristescu","html_url":"https://github.com/CristinaCristescu","followers_url":"https://api.github.com/users/CristinaCristescu/followers","following_url":"https://api.github.com/users/CristinaCristescu/following{/other_user}","gists_url":"https://api.github.com/users/CristinaCristescu/gists{/gist_id}","starred_url":"https://api.github.com/users/CristinaCristescu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CristinaCristescu/subscriptions","organizations_url":"https://api.github.com/users/CristinaCristescu/orgs","repos_url":"https://api.github.com/users/CristinaCristescu/repos","events_url":"https://api.github.com/users/CristinaCristescu/events{/privacy}","received_events_url":"https://api.github.com/users/CristinaCristescu/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/CristinaCristescu/root","description":"Mirror of official ROOT git repository located at ","fork":true,"url":"https://api.github.com/repos/CristinaCristescu/root","forks_url":"https://api.github.com/repos/CristinaCristescu/root/forks","keys_url":"https://api.github.com/repos/CristinaCristescu/root/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CristinaCristescu/root/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CristinaCristescu/root/teams","hooks_url":"https://api.github.com/repos/CristinaCristescu/root/hooks","issue_events_url":"https://api.github.com/repos/CristinaCristescu/root/issues/events{/number}","events_url":"https://api.github.com/repos/CristinaCristescu/root/events","assignees_url":"https://api.github.com/repos/CristinaCristescu/root/assignees{/user}","branches_url":"https://api.github.com/repos/CristinaCristescu/root/branches{/branch}","tags_url":"https://api.github.com/repos/CristinaCristescu/root/tags","blobs_url":"https://api.github.com/repos/CristinaCristescu/root/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CristinaCristescu/root/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CristinaCristescu/root/git/refs{/sha}","trees_url":"https://api.github.com/repos/CristinaCristescu/root/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CristinaCristescu/root/statuses/{sha}","languages_url":"https://api.github.com/repos/CristinaCristescu/root/languages","stargazers_url":"https://api.github.com/repos/CristinaCristescu/root/stargazers","contributors_url":"https://api.github.com/repos/CristinaCristescu/root/contributors","subscribers_url":"https://api.github.com/repos/CristinaCristescu/root/subscribers","subscription_url":"https://api.github.com/repos/CristinaCristescu/root/subscription","commits_url":"https://api.github.com/repos/CristinaCristescu/root/commits{/sha}","git_commits_url":"https://api.github.com/repos/CristinaCristescu/root/git/commits{/sha}","comments_url":"https://api.github.com/repos/CristinaCristescu/root/comments{/number}","issue_comment_url":"https://api.github.com/repos/CristinaCristescu/root/issues/comments{/number}","contents_url":"https://api.github.com/repos/CristinaCristescu/root/contents/{+path}","compare_url":"https://api.github.com/repos/CristinaCristescu/root/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CristinaCristescu/root/merges","archive_url":"https://api.github.com/repos/CristinaCristescu/root/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CristinaCristescu/root/downloads","issues_url":"https://api.github.com/repos/CristinaCristescu/root/issues{/number}","pulls_url":"https://api.github.com/repos/CristinaCristescu/root/pulls{/number}","milestones_url":"https://api.github.com/repos/CristinaCristescu/root/milestones{/number}","notifications_url":"https://api.github.com/repos/CristinaCristescu/root/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CristinaCristescu/root/labels{/name}","releases_url":"https://api.github.com/repos/CristinaCristescu/root/releases{/id}","created_at":"2013-07-04T13:59:54Z","updated_at":"2014-06-26T09:36:02Z","pushed_at":"2016-01-14T15:17:54Z","git_url":"git://github.com/CristinaCristescu/root.git","ssh_url":"git@github.com:CristinaCristescu/root.git","clone_url":"https://github.com/CristinaCristescu/root.git","svn_url":"https://github.com/CristinaCristescu/root","homepage":"http://root.cern.ch","size":534579,"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":"karies:master","ref":"master","sha":"0a42326d6ca7a6175d4e5e95bee3ff688278ed75","user":{"login":"karies","id":144675,"avatar_url":"https://avatars.githubusercontent.com/u/144675?v=3","gravatar_id":"","url":"https://api.github.com/users/karies","html_url":"https://github.com/karies","followers_url":"https://api.github.com/users/karies/followers","following_url":"https://api.github.com/users/karies/following{/other_user}","gists_url":"https://api.github.com/users/karies/gists{/gist_id}","starred_url":"https://api.github.com/users/karies/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/karies/subscriptions","organizations_url":"https://api.github.com/users/karies/orgs","repos_url":"https://api.github.com/users/karies/repos","events_url":"https://api.github.com/users/karies/events{/privacy}","received_events_url":"https://api.github.com/users/karies/received_events","type":"User","site_admin":false},"repo":{"id":11053789,"name":"root","full_name":"karies/root","owner":{"login":"karies","id":144675,"avatar_url":"https://avatars.githubusercontent.com/u/144675?v=3","gravatar_id":"","url":"https://api.github.com/users/karies","html_url":"https://github.com/karies","followers_url":"https://api.github.com/users/karies/followers","following_url":"https://api.github.com/users/karies/following{/other_user}","gists_url":"https://api.github.com/users/karies/gists{/gist_id}","starred_url":"https://api.github.com/users/karies/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/karies/subscriptions","organizations_url":"https://api.github.com/users/karies/orgs","repos_url":"https://api.github.com/users/karies/repos","events_url":"https://api.github.com/users/karies/events{/privacy}","received_events_url":"https://api.github.com/users/karies/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/karies/root","description":"Mirror of official ROOT git repository located at ","fork":true,"url":"https://api.github.com/repos/karies/root","forks_url":"https://api.github.com/repos/karies/root/forks","keys_url":"https://api.github.com/repos/karies/root/keys{/key_id}","collaborators_url":"https://api.github.com/repos/karies/root/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/karies/root/teams","hooks_url":"https://api.github.com/repos/karies/root/hooks","issue_events_url":"https://api.github.com/repos/karies/root/issues/events{/number}","events_url":"https://api.github.com/repos/karies/root/events","assignees_url":"https://api.github.com/repos/karies/root/assignees{/user}","branches_url":"https://api.github.com/repos/karies/root/branches{/branch}","tags_url":"https://api.github.com/repos/karies/root/tags","blobs_url":"https://api.github.com/repos/karies/root/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/karies/root/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/karies/root/git/refs{/sha}","trees_url":"https://api.github.com/repos/karies/root/git/trees{/sha}","statuses_url":"https://api.github.com/repos/karies/root/statuses/{sha}","languages_url":"https://api.github.com/repos/karies/root/languages","stargazers_url":"https://api.github.com/repos/karies/root/stargazers","contributors_url":"https://api.github.com/repos/karies/root/contributors","subscribers_url":"https://api.github.com/repos/karies/root/subscribers","subscription_url":"https://api.github.com/repos/karies/root/subscription","commits_url":"https://api.github.com/repos/karies/root/commits{/sha}","git_commits_url":"https://api.github.com/repos/karies/root/git/commits{/sha}","comments_url":"https://api.github.com/repos/karies/root/comments{/number}","issue_comment_url":"https://api.github.com/repos/karies/root/issues/comments{/number}","contents_url":"https://api.github.com/repos/karies/root/contents/{+path}","compare_url":"https://api.github.com/repos/karies/root/compare/{base}...{head}","merges_url":"https://api.github.com/repos/karies/root/merges","archive_url":"https://api.github.com/repos/karies/root/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/karies/root/downloads","issues_url":"https://api.github.com/repos/karies/root/issues{/number}","pulls_url":"https://api.github.com/repos/karies/root/pulls{/number}","milestones_url":"https://api.github.com/repos/karies/root/milestones{/number}","notifications_url":"https://api.github.com/repos/karies/root/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/karies/root/labels{/name}","releases_url":"https://api.github.com/repos/karies/root/releases{/id}","created_at":"2013-06-29T14:35:42Z","updated_at":"2015-11-30T15:40:16Z","pushed_at":"2016-01-14T15:17:55Z","git_url":"git://github.com/karies/root.git","ssh_url":"git@github.com:karies/root.git","clone_url":"https://github.com/karies/root.git","svn_url":"https://github.com/karies/root","homepage":"http://root.cern.ch","size":545015,"stargazers_count":2,"watchers_count":2,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3,"mirror_url":null,"open_issues_count":7,"forks":3,"open_issues":7,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/karies/root/pulls/152"},"html":{"href":"https://github.com/karies/root/pull/152"},"issue":{"href":"https://api.github.com/repos/karies/root/issues/152"},"comments":{"href":"https://api.github.com/repos/karies/root/issues/152/comments"},"review_comments":{"href":"https://api.github.com/repos/karies/root/pulls/152/comments"},"review_comment":{"href":"https://api.github.com/repos/karies/root/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/karies/root/pulls/152/commits"},"statuses":{"href":"https://api.github.com/repos/karies/root/statuses/27fbf110f844d828ee0e19d049927628d13e12a8"}}}}