@@ -938,7 +938,7 @@ namespace ts {
938938 }
939939
940940 markLabel ( resumeLabel ) ;
941- return createGeneratorResume ( ) ;
941+ return createGeneratorResume ( /*location*/ node ) ;
942942 }
943943
944944 /**
@@ -1234,7 +1234,9 @@ namespace ts {
12341234
12351235 function transformAndEmitVariableDeclarationList ( node : VariableDeclarationList ) : VariableDeclarationList {
12361236 for ( const variable of node . declarations ) {
1237- hoistVariableDeclaration ( < Identifier > variable . name ) ;
1237+ const name = getSynthesizedClone ( < Identifier > variable . name ) ;
1238+ setCommentRange ( name , variable . name ) ;
1239+ hoistVariableDeclaration ( name ) ;
12381240 }
12391241
12401242 const variables = getInitializedVariables ( node ) ;
@@ -1287,7 +1289,7 @@ namespace ts {
12871289 if ( containsYield ( node . thenStatement ) || containsYield ( node . elseStatement ) ) {
12881290 const endLabel = defineLabel ( ) ;
12891291 const elseLabel = node . elseStatement ? defineLabel ( ) : undefined ;
1290- emitBreakWhenFalse ( node . elseStatement ? elseLabel : endLabel , visitNode ( node . expression , visitor , isExpression ) ) ;
1292+ emitBreakWhenFalse ( node . elseStatement ? elseLabel : endLabel , visitNode ( node . expression , visitor , isExpression ) , /*location*/ node . expression ) ;
12911293 transformAndEmitEmbeddedStatement ( node . thenStatement ) ;
12921294 if ( node . elseStatement ) {
12931295 emitBreak ( endLabel ) ;
@@ -2965,12 +2967,15 @@ namespace ts {
29652967 lastOperationWasAbrupt = true ;
29662968 lastOperationWasCompletion = true ;
29672969 writeStatement (
2968- createReturn (
2969- createArrayLiteral ( expression
2970- ? [ createInstruction ( Instruction . Return ) , expression ]
2971- : [ createInstruction ( Instruction . Return ) ]
2970+ setEmitFlags (
2971+ createReturn (
2972+ createArrayLiteral ( expression
2973+ ? [ createInstruction ( Instruction . Return ) , expression ]
2974+ : [ createInstruction ( Instruction . Return ) ]
2975+ ) ,
2976+ operationLocation
29722977 ) ,
2973- operationLocation
2978+ EmitFlags . NoTokenSourceMaps
29742979 )
29752980 ) ;
29762981 }
@@ -2984,12 +2989,15 @@ namespace ts {
29842989 function writeBreak ( label : Label , operationLocation : TextRange ) : void {
29852990 lastOperationWasAbrupt = true ;
29862991 writeStatement (
2987- createReturn (
2988- createArrayLiteral ( [
2989- createInstruction ( Instruction . Break ) ,
2990- createLabel ( label )
2991- ] ) ,
2992- operationLocation
2992+ setEmitFlags (
2993+ createReturn (
2994+ createArrayLiteral ( [
2995+ createInstruction ( Instruction . Break ) ,
2996+ createLabel ( label )
2997+ ] ) ,
2998+ operationLocation
2999+ ) ,
3000+ EmitFlags . NoTokenSourceMaps
29933001 )
29943002 ) ;
29953003 }
@@ -3003,15 +3011,21 @@ namespace ts {
30033011 */
30043012 function writeBreakWhenTrue ( label : Label , condition : Expression , operationLocation : TextRange ) : void {
30053013 writeStatement (
3006- createIf (
3007- condition ,
3008- createReturn (
3009- createArrayLiteral ( [
3010- createInstruction ( Instruction . Break ) ,
3011- createLabel ( label )
3012- ] ) ,
3013- operationLocation
3014- )
3014+ setEmitFlags (
3015+ createIf (
3016+ condition ,
3017+ setEmitFlags (
3018+ createReturn (
3019+ createArrayLiteral ( [
3020+ createInstruction ( Instruction . Break ) ,
3021+ createLabel ( label )
3022+ ] ) ,
3023+ operationLocation
3024+ ) ,
3025+ EmitFlags . NoTokenSourceMaps
3026+ )
3027+ ) ,
3028+ EmitFlags . SingleLine
30153029 )
30163030 ) ;
30173031 }
@@ -3025,15 +3039,21 @@ namespace ts {
30253039 */
30263040 function writeBreakWhenFalse ( label : Label , condition : Expression , operationLocation : TextRange ) : void {
30273041 writeStatement (
3028- createIf (
3029- createLogicalNot ( condition ) ,
3030- createReturn (
3031- createArrayLiteral ( [
3032- createInstruction ( Instruction . Break ) ,
3033- createLabel ( label )
3034- ] ) ,
3035- operationLocation
3036- )
3042+ setEmitFlags (
3043+ createIf (
3044+ createLogicalNot ( condition ) ,
3045+ setEmitFlags (
3046+ createReturn (
3047+ createArrayLiteral ( [
3048+ createInstruction ( Instruction . Break ) ,
3049+ createLabel ( label )
3050+ ] ) ,
3051+ operationLocation
3052+ ) ,
3053+ EmitFlags . NoTokenSourceMaps
3054+ )
3055+ ) ,
3056+ EmitFlags . SingleLine
30373057 )
30383058 ) ;
30393059 }
@@ -3047,13 +3067,16 @@ namespace ts {
30473067 function writeYield ( expression : Expression , operationLocation : TextRange ) : void {
30483068 lastOperationWasAbrupt = true ;
30493069 writeStatement (
3050- createReturn (
3051- createArrayLiteral (
3052- expression
3053- ? [ createInstruction ( Instruction . Yield ) , expression ]
3054- : [ createInstruction ( Instruction . Yield ) ]
3070+ setEmitFlags (
3071+ createReturn (
3072+ createArrayLiteral (
3073+ expression
3074+ ? [ createInstruction ( Instruction . Yield ) , expression ]
3075+ : [ createInstruction ( Instruction . Yield ) ]
3076+ ) ,
3077+ operationLocation
30553078 ) ,
3056- operationLocation
3079+ EmitFlags . NoTokenSourceMaps
30573080 )
30583081 ) ;
30593082 }
@@ -3067,12 +3090,15 @@ namespace ts {
30673090 function writeYieldStar ( expression : Expression , operationLocation : TextRange ) : void {
30683091 lastOperationWasAbrupt = true ;
30693092 writeStatement (
3070- createReturn (
3071- createArrayLiteral ( [
3072- createInstruction ( Instruction . YieldStar ) ,
3073- expression
3074- ] ) ,
3075- operationLocation
3093+ setEmitFlags (
3094+ createReturn (
3095+ createArrayLiteral ( [
3096+ createInstruction ( Instruction . YieldStar ) ,
3097+ expression
3098+ ] ) ,
3099+ operationLocation
3100+ ) ,
3101+ EmitFlags . NoTokenSourceMaps
30763102 )
30773103 ) ;
30783104 }
0 commit comments