Fix parent not being set for decorator nodes. (babel/babel-eslint#296)

This commit is contained in:
Rafał Ruciński 2016-04-25 23:51:43 +02:00
parent 0ccbceb9e8
commit cfd35799da
2 changed files with 12 additions and 0 deletions

View File

@ -72,6 +72,11 @@ function monkeypatch() {
assign(estraverseOfEslint.VisitorKeys, t.VISITOR_KEYS);
}
estraverses.forEach(function (estraverse) {
estraverse.VisitorKeys.MethodDefinition.push("decorators");
estraverse.VisitorKeys.Property.push("decorators");
});
// monkeypatch escope
var escope = require(escopeLoc);
var analyze = escope.analyze;

View File

@ -1048,6 +1048,7 @@ describe("verify", function () {
[
"import classDeclaration from 'decorator';",
"import decoratorParameter from 'decorator';",
"@classDeclaration((parameter) => parameter)",
"@classDeclaration(decoratorParameter)",
"@classDeclaration",
"export class TextareaAutosize {}"
@ -1063,6 +1064,7 @@ describe("verify", function () {
"import classMethodDeclarationA from 'decorator';",
"import decoratorParameter from 'decorator';",
"export class TextareaAutosize {",
"@classMethodDeclarationA((parameter) => parameter)",
"@classMethodDeclarationA(decoratorParameter)",
"@classMethodDeclarationA",
"methodDeclaration(e) {",
@ -1081,9 +1083,11 @@ describe("verify", function () {
"import classMethodDeclarationA from 'decorator';",
"import decoratorParameter from 'decorator';",
"export class TextareaAutosize {",
"@classMethodDeclarationA((parameter) => parameter)",
"@classMethodDeclarationA(decoratorParameter)",
"@classMethodDeclarationA",
"get bar() { }",
"@classMethodDeclarationA((parameter) => parameter)",
"@classMethodDeclarationA(decoratorParameter)",
"@classMethodDeclarationA",
"set bar(val) { val; }",
@ -1100,6 +1104,7 @@ describe("verify", function () {
"import classMethodDeclarationA from 'decorator';",
"import decoratorParameter from 'decorator';",
"var obj = {",
"@classMethodDeclarationA((parameter) => parameter)",
"@classMethodDeclarationA(decoratorParameter)",
"@classMethodDeclarationA",
"methodDeclaration(e) {",
@ -1119,9 +1124,11 @@ describe("verify", function () {
"import classMethodDeclarationA from 'decorator';",
"import decoratorParameter from 'decorator';",
"var obj = {",
"@classMethodDeclarationA((parameter) => parameter)",
"@classMethodDeclarationA(decoratorParameter)",
"@classMethodDeclarationA",
"get bar() { },",
"@classMethodDeclarationA((parameter) => parameter)",
"@classMethodDeclarationA(decoratorParameter)",
"@classMethodDeclarationA",
"set bar(val) { val; }",