Skip to content
This repository was archived by the owner on Aug 18, 2021. It is now read-only.

Commit cae8b66

Browse files
fatfiszhzoo
authored andcommitted
Fix parent not being set for decorator nodes. (#296)
1 parent d140a8c commit cae8b66

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

index.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,11 @@ function monkeypatch() {
7272
assign(estraverseOfEslint.VisitorKeys, t.VISITOR_KEYS);
7373
}
7474

75+
estraverses.forEach(function (estraverse) {
76+
estraverse.VisitorKeys.MethodDefinition.push("decorators");
77+
estraverse.VisitorKeys.Property.push("decorators");
78+
});
79+
7580
// monkeypatch escope
7681
var escope = require(escopeLoc);
7782
var analyze = escope.analyze;

test/non-regression.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1048,6 +1048,7 @@ describe("verify", function () {
10481048
[
10491049
"import classDeclaration from 'decorator';",
10501050
"import decoratorParameter from 'decorator';",
1051+
"@classDeclaration((parameter) => parameter)",
10511052
"@classDeclaration(decoratorParameter)",
10521053
"@classDeclaration",
10531054
"export class TextareaAutosize {}"
@@ -1063,6 +1064,7 @@ describe("verify", function () {
10631064
"import classMethodDeclarationA from 'decorator';",
10641065
"import decoratorParameter from 'decorator';",
10651066
"export class TextareaAutosize {",
1067+
"@classMethodDeclarationA((parameter) => parameter)",
10661068
"@classMethodDeclarationA(decoratorParameter)",
10671069
"@classMethodDeclarationA",
10681070
"methodDeclaration(e) {",
@@ -1081,9 +1083,11 @@ describe("verify", function () {
10811083
"import classMethodDeclarationA from 'decorator';",
10821084
"import decoratorParameter from 'decorator';",
10831085
"export class TextareaAutosize {",
1086+
"@classMethodDeclarationA((parameter) => parameter)",
10841087
"@classMethodDeclarationA(decoratorParameter)",
10851088
"@classMethodDeclarationA",
10861089
"get bar() { }",
1090+
"@classMethodDeclarationA((parameter) => parameter)",
10871091
"@classMethodDeclarationA(decoratorParameter)",
10881092
"@classMethodDeclarationA",
10891093
"set bar(val) { val; }",
@@ -1100,6 +1104,7 @@ describe("verify", function () {
11001104
"import classMethodDeclarationA from 'decorator';",
11011105
"import decoratorParameter from 'decorator';",
11021106
"var obj = {",
1107+
"@classMethodDeclarationA((parameter) => parameter)",
11031108
"@classMethodDeclarationA(decoratorParameter)",
11041109
"@classMethodDeclarationA",
11051110
"methodDeclaration(e) {",
@@ -1119,9 +1124,11 @@ describe("verify", function () {
11191124
"import classMethodDeclarationA from 'decorator';",
11201125
"import decoratorParameter from 'decorator';",
11211126
"var obj = {",
1127+
"@classMethodDeclarationA((parameter) => parameter)",
11221128
"@classMethodDeclarationA(decoratorParameter)",
11231129
"@classMethodDeclarationA",
11241130
"get bar() { },",
1131+
"@classMethodDeclarationA((parameter) => parameter)",
11251132
"@classMethodDeclarationA(decoratorParameter)",
11261133
"@classMethodDeclarationA",
11271134
"set bar(val) { val; }",

0 commit comments

Comments
 (0)