16 ParseResultTypeId::kJsonValue;
21 ParseResultTypeId::kJsonMember;
26 ParseResultTypeId::kStdVectorOfJsonValue;
31 ParseResultTypeId::kStdVectorOfJsonMember;
50 auto number = child_results->
NextAs<std::string>();
51 double d = std::stod(number.c_str());
68 std::string
key = child_results->
NextAs<std::string>();
75 using MemberList = std::vector<JsonMember>;
76 MemberList members = child_results->
NextAs<MemberList>();
79 for (
auto& member : members)
object.insert(std::move(member));
121 while (
MatchChar(std::isxdigit, ¤t)) {
131 bool found_digit =
false;
133 while (
MatchChar(std::isdigit, ¤t)) found_digit =
true;
135 while (
MatchChar(std::isdigit, ¤t)) found_digit =
true;
136 if (!found_digit)
return false;
141 while (
MatchChar(std::isdigit, ¤t)) {
185 TorqueMessages::Scope messages_scope;
192 CHECK(!TorqueMessages::Get().empty());
193 result.error = TorqueMessages::Get().front();
void SetWhitespace(PatternFunction ws)
Symbol * Pattern(PatternFunction pattern)
static std::optional< ParseResult > YieldMatchedInput(ParseResultIterator *child_results)
std::optional< ParseResult > Parse(const std::string &input)
Symbol * List(Symbol *element, std::optional< Symbol * > separator={})
static V8_EXPORT_PRIVATE bool MatchAnyChar(InputPosition *pos)
Symbol * Token(const std::string &s)
static V8_EXPORT_PRIVATE bool MatchString(const char *s, InputPosition *pos)
static V8_EXPORT_PRIVATE bool MatchChar(int(*char_class)(int), InputPosition *pos)
static SourceId AddSource(std::string path)
static bool MatchHexLiteral(InputPosition *pos)
static bool MatchWhitespace(InputPosition *pos)
static bool MatchDecimalLiteral(InputPosition *pos)
static bool MatchStringLiteral(InputPosition *pos)
ZoneVector< RpoNumber > & result
FunctionLiteral * literal
std::optional< ParseResult > MakeNumberLiteral(ParseResultIterator *child_results)
std::pair< std::string, JsonValue > JsonMember
std::optional< ParseResult > MakeNullLiteral(ParseResultIterator *child_results)
std::map< std::string, JsonValue > JsonObject
std::optional< ParseResult > MakeObject(ParseResultIterator *child_results)
std::vector< JsonValue > JsonArray
std::optional< ParseResult > MakeMember(ParseResultIterator *child_results)
std::optional< ParseResult > MakeBoolLiteral(ParseResultIterator *child_results)
std::optional< ParseResult > MakeArray(ParseResultIterator *child_results)
JsonParserResult ParseJson(const std::string &input)
std::optional< ParseResult > MakeStringLiteral(ParseResultIterator *child_results)
const char * InputPosition
std::string StringLiteralUnquote(const std::string &s)
Tagged< To > Cast(Tagged< From > value, const v8::SourceLocation &loc=INIT_SOURCE_LOCATION_IN_DEBUG)
#define V8_EXPORT_PRIVATE
enum v8::internal::torque::ls::JsonValue::@156 tag
static JsonValue From(double number)