decodeStringx method
dynamic
decodeStringx(
- String v,
- Type kind
)
override
Implementation
@override
dynamic decodeStringx(String v, Type kind) {
final input = InputStream.fromString(v);
final lexer = JSONLexer(input)..removeErrorListeners();
final tokens = CommonTokenStream(lexer);
final parser = JSONParser(tokens)..removeErrorListeners();
final tree = parser.json();
final visitor = _JASTVisitor(kind);
final ref = tree.accept(visitor);
if (visitor.errs.isNotEmpty) {
throw Status.system.err(r: 'incorrect json: ${visitor.errs.join(', ')}');
}
return ref;
}