From 93a9a8d638853086ebf8ab1cc5a254951a60b70c Mon Sep 17 00:00:00 2001 From: Daniel Tschinder Date: Mon, 20 Jun 2016 23:11:38 +0200 Subject: [PATCH] Reset TypeParameters to Identifier (babel/babel-eslint#325) --- eslint/babel-eslint-parser/babylon-to-espree/toAST.js | 6 ++++++ eslint/babel-eslint-parser/index.js | 3 ++- eslint/babel-eslint-parser/test/non-regression.js | 6 +++--- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/eslint/babel-eslint-parser/babylon-to-espree/toAST.js b/eslint/babel-eslint-parser/babylon-to-espree/toAST.js index f82c4e598e..5dce899a52 100644 --- a/eslint/babel-eslint-parser/babylon-to-espree/toAST.js +++ b/eslint/babel-eslint-parser/babylon-to-espree/toAST.js @@ -167,6 +167,12 @@ var astTransformVisitor = { node.type = "Experimental" + node.type; } + if (path.isTypeParameter && path.isTypeParameter()) { + node.type = "Identifier"; + node.typeAnnotation = node.bound; + delete node.bound; + } + // flow: prevent "no-undef" // for "Component" in: "let x: React.Component" if (path.isQualifiedTypeIdentifier()) { diff --git a/eslint/babel-eslint-parser/index.js b/eslint/babel-eslint-parser/index.js index 46a196e87d..ea963b9e7c 100644 --- a/eslint/babel-eslint-parser/index.js +++ b/eslint/babel-eslint-parser/index.js @@ -250,7 +250,8 @@ function monkeypatch() { this.close(node); } }; - // visit decorators that are in: Property / MethodDefinition + + // visit decorators that are in: Property / MethodDefinition var visitProperty = referencer.prototype.visitProperty; referencer.prototype.visitProperty = function(node) { if (node.value && node.value.type === "TypeCastExpression") { diff --git a/eslint/babel-eslint-parser/test/non-regression.js b/eslint/babel-eslint-parser/test/non-regression.js index 1d1889c5d6..9b338ec785 100644 --- a/eslint/babel-eslint-parser/test/non-regression.js +++ b/eslint/babel-eslint-parser/test/non-regression.js @@ -396,7 +396,7 @@ describe("verify", function () { ); }); - it.skip("polymorphpic/generic types - outside of fn scope #123", function () { + it("polymorphpic/generic types - outside of fn scope #123", function () { verifyAndAssertMessages([ "export function foo(value) { value; };", "var b: T = 1; b;" @@ -407,7 +407,7 @@ describe("verify", function () { ); }); - it.skip("polymorphpic/generic types - extending unknown #123", function () { + it("polymorphpic/generic types - extending unknown #123", function () { verifyAndAssertMessages([ "import Bar from 'bar';", "export class Foo extends Bar {}", @@ -786,7 +786,7 @@ describe("verify", function () { ); }); - it.skip("32", function () { + it("32", function () { verifyAndAssertMessages( [ "import type Foo from 'foo';",