@@ -519,10 +519,10 @@ module ts {
519519 return + ( text . substring ( start , pos ) ) ;
520520 }
521521
522- function scanHexDigits ( count : number , useExactCount ?: boolean ) : number {
522+ function scanHexDigits ( count : number , mustMatchCount ?: boolean ) : number {
523523 var digits = 0 ;
524524 var value = 0 ;
525- while ( digits < count || ! useExactCount ) {
525+ while ( digits < count || ! mustMatchCount ) {
526526 var ch = text . charCodeAt ( pos ) ;
527527 if ( ch >= CharacterCodes . _0 && ch <= CharacterCodes . _9 ) {
528528 value = value * 16 + ch - CharacterCodes . _0 ;
@@ -582,18 +582,18 @@ module ts {
582582 * a literal component of a TemplateExpression.
583583 */
584584 function scanTemplateAndSetTokenValue ( ) : SyntaxKind {
585- var isStartOfTemplate = text . charCodeAt ( pos ) === CharacterCodes . backtick ;
585+ var startedWithBacktick = text . charCodeAt ( pos ) === CharacterCodes . backtick ;
586586
587587 pos ++ ;
588588 var start = pos ;
589589 var contents = ""
590- var resultingToken = SyntaxKind . Unknown ;
590+ var resultingToken : SyntaxKind ;
591591
592592 while ( true ) {
593593 if ( pos >= len ) {
594594 contents += text . substring ( start , pos ) ;
595595 error ( Diagnostics . Unexpected_end_of_text ) ;
596- resultingToken = isStartOfTemplate ? SyntaxKind . NoSubstitutionTemplateLiteral : SyntaxKind . TemplateTail ;
596+ resultingToken = startedWithBacktick ? SyntaxKind . NoSubstitutionTemplateLiteral : SyntaxKind . TemplateTail ;
597597 break ;
598598 }
599599
@@ -603,15 +603,15 @@ module ts {
603603 if ( currChar === CharacterCodes . backtick ) {
604604 contents += text . substring ( start , pos ) ;
605605 pos ++ ;
606- resultingToken = isStartOfTemplate ? SyntaxKind . NoSubstitutionTemplateLiteral : SyntaxKind . TemplateTail ;
606+ resultingToken = startedWithBacktick ? SyntaxKind . NoSubstitutionTemplateLiteral : SyntaxKind . TemplateTail ;
607607 break ;
608608 }
609609
610610 // '${'
611611 if ( currChar === CharacterCodes . $ && pos + 1 < len && text . charCodeAt ( pos + 1 ) === CharacterCodes . openBrace ) {
612612 contents += text . substring ( start , pos ) ;
613613 pos += 2 ;
614- resultingToken = isStartOfTemplate ? SyntaxKind . TemplateHead : SyntaxKind . TemplateMiddle ;
614+ resultingToken = startedWithBacktick ? SyntaxKind . TemplateHead : SyntaxKind . TemplateMiddle ;
615615 break ;
616616 }
617617
@@ -641,6 +641,8 @@ module ts {
641641 pos ++ ;
642642 }
643643
644+ Debug . assert ( resultingToken !== undefined ) ;
645+
644646 tokenValue = contents ;
645647 return resultingToken ;
646648 }
@@ -673,7 +675,7 @@ module ts {
673675 return "\"" ;
674676 case CharacterCodes . x :
675677 case CharacterCodes . u :
676- var ch = scanHexDigits ( ch === CharacterCodes . x ? 2 : 4 , /*useExactCount */ true ) ;
678+ var ch = scanHexDigits ( ch === CharacterCodes . x ? 2 : 4 , /*mustMatchCount */ true ) ;
677679 if ( ch >= 0 ) {
678680 return String . fromCharCode ( ch ) ;
679681 }
@@ -704,7 +706,7 @@ module ts {
704706 if ( pos + 5 < len && text . charCodeAt ( pos + 1 ) === CharacterCodes . u ) {
705707 var start = pos ;
706708 pos += 2 ;
707- var value = scanHexDigits ( 4 , /*useExactCount */ true ) ;
709+ var value = scanHexDigits ( 4 , /*mustMatchCount */ true ) ;
708710 pos = start ;
709711 return value ;
710712 }
@@ -922,7 +924,7 @@ module ts {
922924 case CharacterCodes . _0 :
923925 if ( pos + 2 < len && ( text . charCodeAt ( pos + 1 ) === CharacterCodes . X || text . charCodeAt ( pos + 1 ) === CharacterCodes . x ) ) {
924926 pos += 2 ;
925- var value = scanHexDigits ( 1 , /*useExactCount */ false ) ;
927+ var value = scanHexDigits ( 1 , /*mustMatchCount */ false ) ;
926928 if ( value < 0 ) {
927929 error ( Diagnostics . Hexadecimal_digit_expected ) ;
928930 value = 0 ;
@@ -1112,7 +1114,7 @@ module ts {
11121114 * Unconditionally back up and scan a template expression portion.
11131115 */
11141116 function reScanTemplateToken ( ) : SyntaxKind {
1115- Debug . assert ( "'reScanTemplateToken' should only be called on a '}'" ) ;
1117+ Debug . assert ( token === SyntaxKind . CloseBraceToken , "'reScanTemplateToken' should only be called on a '}'" ) ;
11161118 pos = tokenPos ;
11171119 return token = scanTemplateAndSetTokenValue ( ) ;
11181120 }
0 commit comments