@@ -302,7 +302,7 @@ class KdlTokenizer {
302
302
String nl = _expectNewline (_index + 3 );
303
303
_context = _KdlTokenizerContext .multiLineString;
304
304
_buffer = '' ;
305
- _traverse (3 + nl.runes. length);
305
+ _traverse (3 + nl.length);
306
306
} else {
307
307
_context = _KdlTokenizerContext .string;
308
308
_buffer = '' ;
@@ -315,7 +315,7 @@ class KdlTokenizer {
315
315
_context = _KdlTokenizerContext .multiLineRawstring;
316
316
_rawstringHashes = 1 ;
317
317
_buffer = '' ;
318
- _traverse (4 + nl.runes. length);
318
+ _traverse (4 + nl.length);
319
319
continue ;
320
320
} else {
321
321
_context = _KdlTokenizerContext .rawstring;
@@ -336,7 +336,7 @@ class KdlTokenizer {
336
336
String nl = _expectNewline (i + 3 );
337
337
_context = _KdlTokenizerContext .multiLineRawstring;
338
338
_buffer = '' ;
339
- _traverse (_rawstringHashes + 3 + nl.runes. length);
339
+ _traverse (_rawstringHashes + 3 + nl.length);
340
340
continue ;
341
341
} else {
342
342
_context = _KdlTokenizerContext .rawstring;
@@ -408,7 +408,7 @@ class KdlTokenizer {
408
408
return KdlToken (symbols[c]! , c);
409
409
} else if (c == "\r " || newlines.contains (c)) {
410
410
String nl = _expectNewline (_index);
411
- _traverse (nl.runes. length);
411
+ _traverse (nl.length);
412
412
return _token (KdlTerm .newline, nl);
413
413
} else if (c == "/" ) {
414
414
var n = _char (_index + 1 );
@@ -710,10 +710,10 @@ class KdlTokenizer {
710
710
}
711
711
712
712
_char (int i) {
713
- if (i < 0 || i >= _str.runes. length) {
713
+ if (i < 0 || i >= _str.length) {
714
714
return null ;
715
715
}
716
- var char = String . fromCharCode ( _str.runes. elementAt (i) );
716
+ var char = _str.substring (i, i + 1 );
717
717
if (_forbidden.contains (char)) {
718
718
_fail ("Forbidden character: $char " );
719
719
}
@@ -787,8 +787,8 @@ class KdlTokenizer {
787
787
return _token (KdlTerm .integer, _parseInteger (_munchUnderscores (s), 10 ));
788
788
} catch (e) {
789
789
if (_nonInitialIdentifierChars
790
- .contains (String .fromCharCode (s.runes.first )) ||
791
- s.runes .skip (1 ).any (
790
+ .contains (String .fromCharCode (s.codeUnitAt ( 0 ) )) ||
791
+ s.codeUnits .skip (1 ).any (
792
792
(c) => _nonIdentifierChars.contains (String .fromCharCode (c)))) {
793
793
rethrow ;
794
794
}
@@ -1081,7 +1081,7 @@ class KdlV1Tokenizer extends KdlTokenizer {
1081
1081
return _token (_symbols[c]! , c);
1082
1082
} else if (c == "\r " || _newlines.contains (c)) {
1083
1083
String nl = _expectNewline (_index);
1084
- _traverse (nl.runes. length);
1084
+ _traverse (nl.length);
1085
1085
return _token (KdlTerm .newline, nl);
1086
1086
} else if (c == "/" ) {
1087
1087
var n = _char (_index + 1 );
0 commit comments