@@ -293,13 +293,14 @@ namespace ts.refactor.extractMethod {
293293 }
294294
295295 let errors : Diagnostic [ ] ;
296+ let permittedJumps = PermittedJumps . Return ;
296297 let seenLabels : Array < __String > ;
297298
298- visit ( nodeToCheck , PermittedJumps . Return ) ;
299+ visit ( nodeToCheck ) ;
299300
300301 return errors ;
301302
302- function visit ( node : Node , permittedJumps : PermittedJumps ) {
303+ function visit ( node : Node ) {
303304 if ( errors ) {
304305 // already found an error - can stop now
305306 return true ;
@@ -350,6 +351,7 @@ namespace ts.refactor.extractMethod {
350351 // do not dive into functions or classes
351352 return false ;
352353 }
354+ const savedPermittedJumps = permittedJumps ;
353355
354356 switch ( node . kind ) {
355357 case SyntaxKind . IfStatement :
@@ -386,7 +388,7 @@ namespace ts.refactor.extractMethod {
386388 {
387389 const label = ( < LabeledStatement > node ) . label ;
388390 ( seenLabels || ( seenLabels = [ ] ) ) . push ( label . escapedText ) ;
389- forEachChild ( node , child => visit ( child , permittedJumps ) ) ;
391+ forEachChild ( node , visit ) ;
390392 seenLabels . pop ( ) ;
391393 break ;
392394 }
@@ -423,10 +425,11 @@ namespace ts.refactor.extractMethod {
423425 }
424426 break ;
425427 default :
426- forEachChild ( node , child => visit ( child , permittedJumps ) ) ;
428+ forEachChild ( node , visit ) ;
427429 break ;
428430 }
429431
432+ permittedJumps = savedPermittedJumps ;
430433 }
431434 }
432435 }
0 commit comments