@@ -2522,24 +2522,23 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean
2522
2522
if ( ! isIdentifierPart ( ch , languageVersion ) ) {
2523
2523
break ;
2524
2524
}
2525
- const size = charSize ( ch ) ;
2526
2525
if ( reportErrors ) {
2527
- const flag = characterToRegularExpressionFlag ( utf16EncodeAsString ( ch ) ) ;
2526
+ const flag = characterToRegularExpressionFlag ( String . fromCharCode ( ch ) ) ;
2528
2527
if ( flag === undefined ) {
2529
- error ( Diagnostics . Unknown_regular_expression_flag , pos , size ) ;
2528
+ error ( Diagnostics . Unknown_regular_expression_flag , pos , 1 ) ;
2530
2529
}
2531
2530
else if ( regExpFlags & flag ) {
2532
- error ( Diagnostics . Duplicate_regular_expression_flag , pos , size ) ;
2531
+ error ( Diagnostics . Duplicate_regular_expression_flag , pos , 1 ) ;
2533
2532
}
2534
2533
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 ) ;
2536
2535
}
2537
2536
else {
2538
2537
regExpFlags |= flag ;
2539
- checkRegularExpressionFlagAvailability ( flag , size ) ;
2538
+ checkRegularExpressionFlagAvailable ( flag ) ;
2540
2539
}
2541
2540
}
2542
- pos += size ;
2541
+ pos ++ ;
2543
2542
}
2544
2543
if ( reportErrors ) {
2545
2544
scanRange ( startOfRegExpBody , endOfRegExpBody - startOfRegExpBody , ( ) => {
@@ -2812,7 +2811,7 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean
2812
2811
}
2813
2812
else {
2814
2813
currFlags |= flag ;
2815
- checkRegularExpressionFlagAvailability ( flag , size ) ;
2814
+ checkRegularExpressionFlagAvailable ( flag ) ;
2816
2815
}
2817
2816
pos += size ;
2818
2817
}
@@ -3527,10 +3526,10 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean
3527
3526
} ) ;
3528
3527
}
3529
3528
3530
- function checkRegularExpressionFlagAvailability ( flag : RegularExpressionFlags , size : number ) {
3529
+ function checkRegularExpressionFlagAvailable ( flag : RegularExpressionFlags ) {
3531
3530
const availableFrom = regExpFlagToFirstAvailableLanguageVersion . get ( flag ) as ScriptTarget | undefined ;
3532
3531
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 ) ) ;
3534
3533
}
3535
3534
}
3536
3535
0 commit comments