Skip to content

Commit 9b2dc22

Browse files
Remove NodeWalker and ParameterDecoratorValidator and validateParameterDecorators
1 parent 2177f77 commit 9b2dc22

1 file changed

Lines changed: 0 additions & 55 deletions

File tree

src/program.ts

Lines changed: 0 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,6 @@ import {
112112
ParameterKind,
113113
ParameterNode,
114114
TypeName,
115-
NodeWalker
116115
} from "./ast";
117116

118117
import {
@@ -248,36 +247,6 @@ export enum OperatorKind {
248247
// LogicalOr // a || b
249248
}
250249

251-
/** Reports transform-only parameter decorators that were preserved by the parser but not removed by transforms. */
252-
class ParameterDecoratorValidator extends NodeWalker {
253-
constructor(private diagnostics: DiagnosticEmitter) {
254-
super();
255-
}
256-
257-
visit(node: Node): bool {
258-
switch (node.kind) {
259-
case NodeKind.FunctionType: {
260-
this.reportParameterDecorators((<FunctionTypeNode>node).explicitThisDecorators);
261-
break;
262-
}
263-
case NodeKind.Parameter: {
264-
this.reportParameterDecorators((<ParameterNode>node).decorators);
265-
break;
266-
}
267-
}
268-
return true;
269-
}
270-
271-
private reportParameterDecorators(decorators: DecoratorNode[] | null): void {
272-
if (decorators && decorators.length > 0) {
273-
this.diagnostics.error(
274-
DiagnosticCode.Decorators_are_not_valid_here,
275-
Range.join(decorators[0].range, decorators[decorators.length - 1].range)
276-
);
277-
}
278-
}
279-
}
280-
281250
export namespace OperatorKind {
282251

283252
/** Returns the operator kind represented by the specified decorator and string argument. */
@@ -1533,30 +1502,6 @@ export class Program extends DiagnosticEmitter {
15331502
}
15341503
}
15351504

1536-
/** Rejects preserved parameter decorators that survive transform time by revisiting only the source-level statements that contained them. */
1537-
validateParameterDecorators(): void {
1538-
if (this.parameterDecoratorsValidated) return;
1539-
this.parameterDecoratorsValidated = true;
1540-
let validator = new ParameterDecoratorValidator(this);
1541-
let sources = this.sources;
1542-
for (let i = 0, k = sources.length; i < k; ++i) {
1543-
let source = sources[i];
1544-
let parameterDecoratorStatements = source.parameterDecoratorStatements;
1545-
if (!parameterDecoratorStatements) continue;
1546-
let statements = source.statements;
1547-
for (let j = 0, l = parameterDecoratorStatements.length; j < l; ++j) {
1548-
let statement = parameterDecoratorStatements[j];
1549-
for (let m = 0, n = statements.length; m < n; ++m) {
1550-
if (statements[m] == statement) {
1551-
// Transforms may delete or replace a remembered statement entirely; only validate nodes still reachable from the source.
1552-
validator.visitNode(statement);
1553-
break;
1554-
}
1555-
}
1556-
}
1557-
}
1558-
}
1559-
15601505
/** Processes overridden members by this class in a base class. */
15611506
private processOverrides(
15621507
thisPrototype: ClassPrototype,

0 commit comments

Comments
 (0)