parse_Contact method
dynamic
parse_Contact()
Implementation
dynamic parse_Contact() {
var $$;
switch (_ch >= 0 && _ch <= 1114111
? 0
: _ch == -1
? 2
: 1) {
case 0:
case 2:
var startPos0 = _startPos;
_startPos = _cursor;
switch (_ch >= 0 && _ch <= 1114111
? 0
: _ch == -1
? 2
: 1) {
case 0:
case 2:
while (true) {
var startPos1 = _startPos;
_startPos = _cursor;
$$ = _parse_STAR();
_startPos = startPos1;
if (success) break;
var startPos2 = _startPos;
_startPos = _cursor;
switch (_ch >= 0 && _ch <= 1114111
? 0
: _ch == -1
? 2
: 1) {
case 0:
case 2:
var ch0 = _ch, pos0 = _cursor, startPos3 = _startPos;
_startPos = _cursor;
while (true) {
$$ = _parse_contact_param();
if (!success) break;
var seq = List<dynamic>.filled(2, null, growable: false)
..[0] = $$;
var testing0 = _testing;
for (var reps = [];;) {
_testing = _cursor;
switch (_ch >= 0 && _ch <= 1114111
? 0
: _ch == -1
? 2
: 1) {
case 0:
case 2:
var ch1 = _ch, pos1 = _cursor, startPos4 = _startPos;
_startPos = _cursor;
while (true) {
$$ = _parse_COMMA();
if (!success) break;
var seq =
List<dynamic>.filled(2, null, growable: false)
..[0] = $$;
$$ = _parse_contact_param();
if (!success) break;
seq[1] = $$;
$$ = seq;
break;
}
if (!success) {
_ch = ch1;
_cursor = pos1;
}
_startPos = startPos4;
break;
case 1:
$$ = null;
success = false;
break;
}
if (!success && _cursor > _testing) {
_failure(_expect29);
}
if (success) {
reps.add($$);
} else {
success = true;
_testing = testing0;
$$ = reps;
break;
}
}
if (!success) break;
seq[1] = $$;
$$ = seq;
break;
}
if (!success) {
_ch = ch0;
_cursor = pos0;
}
_startPos = startPos3;
break;
case 1:
$$ = null;
success = false;
break;
}
if (!success && _cursor > _testing) {
_failure(_expect81);
}
_startPos = startPos2;
break;
}
break;
case 1:
$$ = null;
success = false;
break;
}
if (!success && _cursor > _testing) {
_failure(_expect80);
}
if (success) {
final $1 = $$;
final $start = startPos0;
var pos0 = _startPos, offset = $start;
{
///CODE_START
var idx, length;
length = data.multi_header.length;
for (idx = 0; idx < length; idx++) {
if (data.multi_header[idx]['parsed'] == null) {
$$ == null;
break;
}
}
if (data != null) {
$$ = data.multi_header;
} else {
$$ == -1;
}
///CODE_END
}
}
_startPos = startPos0;
break;
case 1:
$$ = null;
success = false;
break;
}
if (!success && _cursor > _testing) {
_failure(_expect80);
}
return $$;
}