@@ -362,40 +362,14 @@ public static boolean isIdentifier(String value) {
362
362
return false ;
363
363
}
364
364
int c = value .codePointAt (pos );
365
- int type = Character .getType (c );
366
- if (c != '_' ) {
367
- // Unicode XID_Start
368
- switch (type ) {
369
- case Character .UPPERCASE_LETTER :
370
- case Character .LOWERCASE_LETTER :
371
- case Character .TITLECASE_LETTER :
372
- case Character .MODIFIER_LETTER :
373
- case Character .OTHER_LETTER :
374
- case Character .LETTER_NUMBER :
375
- break ;
376
- default :
377
- return false ;
378
- }
365
+ if (c != '_' && !UCharacter .hasBinaryProperty (c , UProperty .XID_START )) {
366
+ return false ;
379
367
}
380
368
pos += Character .charCount (c );
381
369
while (pos < value .length ()) {
382
370
c = value .codePointAt (pos );
383
- type = Character .getType (c );
384
- // Unicode XID_Continue
385
- switch (type ) {
386
- case Character .UPPERCASE_LETTER :
387
- case Character .LOWERCASE_LETTER :
388
- case Character .TITLECASE_LETTER :
389
- case Character .MODIFIER_LETTER :
390
- case Character .OTHER_LETTER :
391
- case Character .LETTER_NUMBER :
392
- case Character .NON_SPACING_MARK :
393
- case Character .COMBINING_SPACING_MARK :
394
- case Character .DECIMAL_DIGIT_NUMBER :
395
- case Character .CONNECTOR_PUNCTUATION :
396
- break ;
397
- default :
398
- return false ;
371
+ if (!UCharacter .hasBinaryProperty (c , UProperty .XID_CONTINUE )) {
372
+ return false ;
399
373
}
400
374
pos += Character .charCount (c );
401
375
}
0 commit comments