{"action":"created","issue":{"url":"https://api.github.com/repos/eslint/typescript-eslint-parser/issues/92","repository_url":"https://api.github.com/repos/eslint/typescript-eslint-parser","labels_url":"https://api.github.com/repos/eslint/typescript-eslint-parser/issues/92/labels{/name}","comments_url":"https://api.github.com/repos/eslint/typescript-eslint-parser/issues/92/comments","events_url":"https://api.github.com/repos/eslint/typescript-eslint-parser/issues/92/events","html_url":"https://github.com/eslint/typescript-eslint-parser/issues/92","id":177538214,"number":92,"title":"Parsing multiple call signatures throws exception","user":{"login":"corbinu","id":533625,"avatar_url":"https://avatars.githubusercontent.com/u/533625?v=3","gravatar_id":"","url":"https://api.github.com/users/corbinu","html_url":"https://github.com/corbinu","followers_url":"https://api.github.com/users/corbinu/followers","following_url":"https://api.github.com/users/corbinu/following{/other_user}","gists_url":"https://api.github.com/users/corbinu/gists{/gist_id}","starred_url":"https://api.github.com/users/corbinu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/corbinu/subscriptions","organizations_url":"https://api.github.com/users/corbinu/orgs","repos_url":"https://api.github.com/users/corbinu/repos","events_url":"https://api.github.com/users/corbinu/events{/privacy}","received_events_url":"https://api.github.com/users/corbinu/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/eslint/typescript-eslint-parser/labels/bug","name":"bug","color":"fc2929"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":21,"created_at":"2016-09-16T23:12:35Z","updated_at":"2016-10-02T08:57:50Z","closed_at":null,"body":"For fun I decided to test VSCode using this parser (seemed like a good large project to test) and my first error was this:\r\n\r\nIf you guys are open to it I would be happy to actually fork VSCode and setup Travis to smoke test the parser against it. That way I can easily open new issues as fixes are released.\r\n\r\n**What version of TypeScript are you using?**\r\n1.8.10\r\n\r\n**What version of `typescript-eslint-parser` are you using?**\r\n0.3.0\r\n\r\n**What code were you trying to parse?**\r\n\r\n```\r\nexport class Test {\r\n\r\n\tconstructor() {\r\n\t}\r\n\r\n\tpublic test(param1: Number): Test;\r\n\tpublic test(param1: Test): Test;\r\n\tpublic test(param1: any): Test {\r\n\t\treturn new Test();\r\n\t}\r\n\r\n}\r\n```\r\n\r\n**What did you expect to happen?**\r\nShould parse out the multiple function definitions\r\n\r\n**What happened?**\r\n```\r\nCannot read property 'type' of null\r\nTypeError: Cannot read property 'type' of null\r\n    at Referencer.visitFunction (/usr/local/lib/node_modules/eslint/node_modules/escope/lib/referencer.js:258:26)\r\n    at Referencer.FunctionExpression (/usr/local/lib/node_modules/eslint/node_modules/escope/lib/referencer.js:569:18)\r\n    at Referencer.Visitor.visit (/usr/local/lib/node_modules/eslint/node_modules/esrecurse/esrecurse.js:122:34)\r\n    at Referencer.visitProperty (/usr/local/lib/node_modules/eslint/node_modules/escope/lib/referencer.js:297:18)\r\n    at Referencer.MethodDefinition (/usr/local/lib/node_modules/eslint/node_modules/escope/lib/referencer.js:452:18)\r\n    at Referencer.Visitor.visit (/usr/local/lib/node_modules/eslint/node_modules/esrecurse/esrecurse.js:122:34)\r\n    at Referencer.Visitor.visitChildren (/usr/local/lib/node_modules/eslint/node_modules/esrecurse/esrecurse.js:101:38)\r\n    at Referencer.Visitor.visit (/usr/local/lib/node_modules/eslint/node_modules/esrecurse/esrecurse.js:125:14)\r\n    at Referencer.visitClass (/usr/local/lib/node_modules/eslint/node_modules/escope/lib/referencer.js:281:18)\r\n    at Referencer.ClassDeclaration (/usr/local/lib/node_modules/eslint/node_modules/escope/lib/referencer.js:488:18)\r\n```"},"comment":{"url":"https://api.github.com/repos/eslint/typescript-eslint-parser/issues/comments/250961206","html_url":"https://github.com/eslint/typescript-eslint-parser/issues/92#issuecomment-250961206","issue_url":"https://api.github.com/repos/eslint/typescript-eslint-parser/issues/92","id":250961206,"user":{"login":"corbinu","id":533625,"avatar_url":"https://avatars.githubusercontent.com/u/533625?v=3","gravatar_id":"","url":"https://api.github.com/users/corbinu","html_url":"https://github.com/corbinu","followers_url":"https://api.github.com/users/corbinu/followers","following_url":"https://api.github.com/users/corbinu/following{/other_user}","gists_url":"https://api.github.com/users/corbinu/gists{/gist_id}","starred_url":"https://api.github.com/users/corbinu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/corbinu/subscriptions","organizations_url":"https://api.github.com/users/corbinu/orgs","repos_url":"https://api.github.com/users/corbinu/repos","events_url":"https://api.github.com/users/corbinu/events{/privacy}","received_events_url":"https://api.github.com/users/corbinu/received_events","type":"User","site_admin":false},"created_at":"2016-10-02T08:57:50Z","updated_at":"2016-10-02T08:57:50Z","body":"@nzakas @JamesHenry Ok diffrent plan sounds like a lot of this plugin would benefit from escope changes. I can easily fork and update escope for eslint (update to node 4 and eslint the code and update deps etc. However I am wondering would the better option be if I create a PR for ESlint that allows plugins to override escope for there own analyzer. That way the plug could simply shim in its own version that is ok with the strange syntax? If that is a crazy idea please let me know!"}}
{"actor":{"display_login":"corbinu"}}