@@ -2076,7 +2076,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
2076
2076
function createPropertyAccessExpression ( expression : Expression , name : Identifier ) : PropertyAccessExpression {
2077
2077
const result = < PropertyAccessExpression > createSynthesizedNode ( SyntaxKind . PropertyAccessExpression ) ;
2078
2078
result . expression = parenthesizeForAccess ( expression ) ;
2079
- result . dotToken = createSynthesizedNode ( SyntaxKind . DotToken ) ;
2080
2079
result . name = name ;
2081
2080
return result ;
2082
2081
}
@@ -2223,11 +2222,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
2223
2222
// Returns 'true' if the code was actually indented, false otherwise.
2224
2223
// If the code is not indented, an optional valueToWriteWhenNotIndenting will be
2225
2224
// emitted instead.
2226
- function indentIfOnDifferentLines ( parent : Node , node1 : Node , node2 : Node , valueToWriteWhenNotIndenting ?: string ) : boolean {
2225
+ function indentIfOnDifferentLines ( parent : Node , node1 : TextRange , node2 : TextRange , valueToWriteWhenNotIndenting ?: string ) : boolean {
2227
2226
const realNodesAreOnDifferentLines = ! nodeIsSynthesized ( parent ) && ! nodeEndIsOnSameLineAsNodeStart ( node1 , node2 ) ;
2228
2227
2229
2228
// Always use a newline for synthesized code if the synthesizer desires it.
2230
- const synthesizedNodeIsOnDifferentLine = synthesizedNodeStartsOnNewLine ( node2 ) ;
2229
+ const synthesizedNodeIsOnDifferentLine = synthesizedNodeStartsOnNewLine ( node2 as Node ) ;
2231
2230
2232
2231
if ( realNodesAreOnDifferentLines || synthesizedNodeIsOnDifferentLine ) {
2233
2232
increaseIndent ( ) ;
@@ -2257,7 +2256,10 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
2257
2256
}
2258
2257
2259
2258
emit ( node . expression ) ;
2260
- const indentedBeforeDot = indentIfOnDifferentLines ( node , node . expression , node . dotToken ) ;
2259
+ const dotRangeStart = nodeIsSynthesized ( node . expression ) ? - 1 : node . expression . end ;
2260
+ const dotRangeEnd = nodeIsSynthesized ( node . expression ) ? - 1 : skipTrivia ( currentText , node . expression . end ) + 1 ;
2261
+ const dotToken = < TextRange > { pos : dotRangeStart , end : dotRangeEnd } ;
2262
+ const indentedBeforeDot = indentIfOnDifferentLines ( node , node . expression , dotToken ) ;
2261
2263
2262
2264
// 1 .toString is a valid property access, emit a space after the literal
2263
2265
// Also emit a space if expression is a integer const enum value - it will appear in generated code as numeric literal
@@ -2283,7 +2285,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
2283
2285
write ( "." ) ;
2284
2286
}
2285
2287
2286
- const indentedAfterDot = indentIfOnDifferentLines ( node , node . dotToken , node . name ) ;
2288
+ const indentedAfterDot = indentIfOnDifferentLines ( node , dotToken , node . name ) ;
2287
2289
emit ( node . name ) ;
2288
2290
decreaseIndentIf ( indentedBeforeDot , indentedAfterDot ) ;
2289
2291
}
@@ -2780,7 +2782,6 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
2780
2782
const identifier = emitTempVariableAssignment ( leftHandSideExpression . expression , /*canDefineTempVariablesInPlace*/ false , /*shouldEmitCommaBeforeAssignment*/ false ) ;
2781
2783
synthesizedLHS . expression = identifier ;
2782
2784
2783
- ( < PropertyAccessExpression > synthesizedLHS ) . dotToken = leftHandSideExpression . dotToken ;
2784
2785
( < PropertyAccessExpression > synthesizedLHS ) . name = leftHandSideExpression . name ;
2785
2786
write ( ", " ) ;
2786
2787
}
@@ -3758,7 +3759,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
3758
3759
getLineOfLocalPositionFromLineMap ( currentLineMap , node2 . end ) ;
3759
3760
}
3760
3761
3761
- function nodeEndIsOnSameLineAsNodeStart ( node1 : Node , node2 : Node ) {
3762
+ function nodeEndIsOnSameLineAsNodeStart ( node1 : TextRange , node2 : TextRange ) {
3762
3763
return getLineOfLocalPositionFromLineMap ( currentLineMap , node1 . end ) ===
3763
3764
getLineOfLocalPositionFromLineMap ( currentLineMap , skipTrivia ( currentText , node2 . pos ) ) ;
3764
3765
}
0 commit comments