{"action":"created","issue":{"url":"https://api.github.com/repos/privat/nit/issues/1320","labels_url":"https://api.github.com/repos/privat/nit/issues/1320/labels{/name}","comments_url":"https://api.github.com/repos/privat/nit/issues/1320/comments","events_url":"https://api.github.com/repos/privat/nit/issues/1320/events","html_url":"https://github.com/privat/nit/pull/1320","id":74082576,"number":1320,"title":"Add missing nodes in the AST","user":{"login":"privat","id":135828,"avatar_url":"https://avatars.githubusercontent.com/u/135828?v=3","gravatar_id":"","url":"https://api.github.com/users/privat","html_url":"https://github.com/privat","followers_url":"https://api.github.com/users/privat/followers","following_url":"https://api.github.com/users/privat/following{/other_user}","gists_url":"https://api.github.com/users/privat/gists{/gist_id}","starred_url":"https://api.github.com/users/privat/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/privat/subscriptions","organizations_url":"https://api.github.com/users/privat/orgs","repos_url":"https://api.github.com/users/privat/repos","events_url":"https://api.github.com/users/privat/events{/privacy}","received_events_url":"https://api.github.com/users/privat/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/privat/nit/labels/need_review","name":"need_review","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-05-07T18:29:43Z","updated_at":"2015-05-08T13:49:50Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/privat/nit/pulls/1320","html_url":"https://github.com/privat/nit/pull/1320","diff_url":"https://github.com/privat/nit/pull/1320.diff","patch_url":"https://github.com/privat/nit/pull/1320.patch"},"body":"Originally, the AST was very abstract and included only node that useful semantically, thus dropped most keywords and symbols during the AST transformation done by sablecc.\r\n\r\nAfter all these years, I was a very bad idea that cause useless complexity for preople that wanted to program precise error messages or develop tools like nitlight or nitpretty.\r\n\r\nSo, this PR add back most of these nodes in the AST. Future PR may simplify the code of the tools to deal we a more complete AST thus remove heuristics to retrieve the missing tokens."},"comment":{"url":"https://api.github.com/repos/privat/nit/issues/comments/100238571","html_url":"https://github.com/privat/nit/pull/1320#issuecomment-100238571","issue_url":"https://api.github.com/repos/privat/nit/issues/1320","id":100238571,"user":{"login":"MehdiAit","id":3407293,"avatar_url":"https://avatars.githubusercontent.com/u/3407293?v=3","gravatar_id":"","url":"https://api.github.com/users/MehdiAit","html_url":"https://github.com/MehdiAit","followers_url":"https://api.github.com/users/MehdiAit/followers","following_url":"https://api.github.com/users/MehdiAit/following{/other_user}","gists_url":"https://api.github.com/users/MehdiAit/gists{/gist_id}","starred_url":"https://api.github.com/users/MehdiAit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MehdiAit/subscriptions","organizations_url":"https://api.github.com/users/MehdiAit/orgs","repos_url":"https://api.github.com/users/MehdiAit/repos","events_url":"https://api.github.com/users/MehdiAit/events{/privacy}","received_events_url":"https://api.github.com/users/MehdiAit/received_events","type":"User","site_admin":false},"created_at":"2015-05-08T13:49:50Z","updated_at":"2015-05-08T13:49:50Z","body":"For example I have n_node as production and i want to check if this node is null or not. I can't do \r\n\"if n_node != null\". I must create a variable : var node = n_node after this I can check if the node is null or not ( I don't know if this PR have a link with this case. I've seen \"missing nodes\" on the PR title's) "}}