parseNumber method
Implementation
VlJson parseNumber() {
int start = i;
bool sawFraction = false;
bool go = true;
while (go) {
if ( i >= n ) {
go = false;
} else {
int c = s.codeUnitAt(i);
if ( this.isNumChar(c) ) {
if ( c == 46 ) {
sawFraction = true;
}
if ( c == 101 ) {
sawFraction = true;
}
if ( c == 69 ) {
sawFraction = true;
}
i = i + 1;
} else {
go = false;
}
}
}
VlJson v = VlJson();
if ( i > start ) {
String sub = s.substring(start, i );
double? d = double.tryParse(sub);
v.kind = 2;
v.isInt = false == sawFraction;
if ( d != null ) {
v.num = d!;
} else {
this.fail("invalid number: " + sub);
}
} else {
this.fail("expected value");
}
return v;
}