@@ -112,7 +112,6 @@ import {
112112 ParameterKind ,
113113 ParameterNode ,
114114 TypeName ,
115- NodeWalker
116115} from "./ast" ;
117116
118117import {
@@ -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-
281250export 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