@@ -2522,24 +2522,23 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean
25222522 if ( ! isIdentifierPart ( ch , languageVersion ) ) {
25232523 break ;
25242524 }
2525- const size = charSize ( ch ) ;
25262525 if ( reportErrors ) {
2527- const flag = characterToRegularExpressionFlag ( utf16EncodeAsString ( ch ) ) ;
2526+ const flag = characterToRegularExpressionFlag ( String . fromCharCode ( ch ) ) ;
25282527 if ( flag === undefined ) {
2529- error ( Diagnostics . Unknown_regular_expression_flag , pos , size ) ;
2528+ error ( Diagnostics . Unknown_regular_expression_flag , pos , 1 ) ;
25302529 }
25312530 else if ( regExpFlags & flag ) {
2532- error ( Diagnostics . Duplicate_regular_expression_flag , pos , size ) ;
2531+ error ( Diagnostics . Duplicate_regular_expression_flag , pos , 1 ) ;
25332532 }
25342533 else if ( ( ( regExpFlags | flag ) & RegularExpressionFlags . UnicodeMode ) === RegularExpressionFlags . UnicodeMode ) {
2535- error ( Diagnostics . The_Unicode_u_flag_and_the_Unicode_Sets_v_flag_cannot_be_set_simultaneously , pos , size ) ;
2534+ error ( Diagnostics . The_Unicode_u_flag_and_the_Unicode_Sets_v_flag_cannot_be_set_simultaneously , pos , 1 ) ;
25362535 }
25372536 else {
25382537 regExpFlags |= flag ;
2539- checkRegularExpressionFlagAvailability ( flag , size ) ;
2538+ checkRegularExpressionFlagAvailable ( flag ) ;
25402539 }
25412540 }
2542- pos += size ;
2541+ pos ++ ;
25432542 }
25442543 if ( reportErrors ) {
25452544 scanRange ( startOfRegExpBody , endOfRegExpBody - startOfRegExpBody , ( ) => {
@@ -2812,7 +2811,7 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean
28122811 }
28132812 else {
28142813 currFlags |= flag ;
2815- checkRegularExpressionFlagAvailability ( flag , size ) ;
2814+ checkRegularExpressionFlagAvailable ( flag ) ;
28162815 }
28172816 pos += size ;
28182817 }
@@ -3527,10 +3526,10 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean
35273526 } ) ;
35283527 }
35293528
3530- function checkRegularExpressionFlagAvailability ( flag : RegularExpressionFlags , size : number ) {
3529+ function checkRegularExpressionFlagAvailable ( flag : RegularExpressionFlags ) {
35313530 const availableFrom = regExpFlagToFirstAvailableLanguageVersion . get ( flag ) as ScriptTarget | undefined ;
35323531 if ( availableFrom && languageVersion < availableFrom ) {
3533- error ( Diagnostics . This_regular_expression_flag_is_only_available_when_targeting_0_or_later , pos , size , getNameOfScriptTarget ( availableFrom ) ) ;
3532+ error ( Diagnostics . This_regular_expression_flag_is_only_available_when_targeting_0_or_later , pos , 1 , getNameOfScriptTarget ( availableFrom ) ) ;
35343533 }
35353534 }
35363535
0 commit comments