From 0de733b66aae21a35e1ecb81d7d90405ab41a2c8 Mon Sep 17 00:00:00 2001 From: Henry Zhu Date: Wed, 17 Jun 2015 09:18:51 -0400 Subject: [PATCH] flow: create var declaration for flow declarations --- eslint/babel-eslint-parser/index.js | 4 ++++ eslint/babel-eslint-parser/test/non-regression.js | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/eslint/babel-eslint-parser/index.js b/eslint/babel-eslint-parser/index.js index f69d9f0a2c..93400573d1 100644 --- a/eslint/babel-eslint-parser/index.js +++ b/eslint/babel-eslint-parser/index.js @@ -309,6 +309,10 @@ function monkeypatch() { referencer.prototype.DeclareFunction = referencer.prototype.DeclareVariable = referencer.prototype.DeclareClass = function(node) { + if (node.id) { + createScopeVariable.call(this, node, node.id); + } + var typeParamScope; if (node.typeParameters) { typeParamScope = nestTypeParamScope(this.scopeManager, node); diff --git a/eslint/babel-eslint-parser/test/non-regression.js b/eslint/babel-eslint-parser/test/non-regression.js index 4b4665f270..6420d1abdd 100644 --- a/eslint/babel-eslint-parser/test/non-regression.js +++ b/eslint/babel-eslint-parser/test/non-regression.js @@ -376,7 +376,8 @@ describe("verify", function () { "declare class A { static () : number }", "declare module B { declare var x: number; }", "declare function foo(): void;", - "declare var bar" + "declare var bar", + "A; B; foo(); bar;" ].join("\n"), { "no-undef": 1, "no-unused-vars": 1 }, []