128 void dump (FILE *,
bool formatted)
const;
158 void set (
const char *key,
value *v);
168 template <
typename JsonType>
169 void set (
const char *key, std::unique_ptr<JsonType> v)
171 set (key, v.release ());
169 void set (
const char *key, std::unique_ptr<JsonType> v) {
…}
176 void set_string (
const char *key,
const char *utf8_value);
178 void set_float (
const char *key,
double v);
181 void set_bool (
const char *key,
bool v);
215 template <
typename JsonType>
216 void append (std::unique_ptr<JsonType> v)
273 explicit string (
const char *utf8);
274 string (
const char *utf8,
size_t len);
410extern void assert_print_eq (
const location &loc,
413 const char *expected_json);
value ** end()
Definition json.h:225
enum kind get_kind() const final override
Definition json.h:201
void print(pretty_printer *pp, bool formatted) const final override
Definition json.cc:419
auto_vec< value * > m_elements
Definition json.h:232
void append_string(const char *utf8_value)
Definition json.cc:457
const value *const * end() const
Definition json.h:227
~array()
Definition json.cc:408
size_t size() const
Definition json.h:221
value ** begin()
Definition json.h:224
value * operator[](size_t i) const
Definition json.h:222
size_t length() const
Definition json.h:228
value * get(size_t idx) const
Definition json.h:229
const value *const * begin() const
Definition json.h:226
void append(value *v)
Definition json.cc:449
void append(std::unique_ptr< JsonType > v)
Definition json.h:216
enum kind get_kind() const final override
Definition json.h:242
float_number(double value)
Definition json.h:240
void print(pretty_printer *pp, bool formatted) const final override
Definition json.cc:468
double get() const
Definition json.h:245
double m_value
Definition json.h:248
long m_value
Definition json.h:264
enum kind get_kind() const final override
Definition json.h:258
integer_number(long value)
Definition json.h:256
long get() const
Definition json.h:261
void print(pretty_printer *pp, bool formatted) const final override
Definition json.cc:481
void print(pretty_printer *pp, bool formatted) const final override
Definition json.cc:523
literal(bool value)
Definition json.h:297
enum kind m_kind
Definition json.h:303
literal(enum kind kind)
Definition json.h:294
enum kind get_kind() const final override
Definition json.h:299
hash_map< char *, value *, simple_hashmap_traits< nofree_string_hash, value * > > map_t
Definition json.h:187
void set(const char *key, value *v)
Definition json.cc:296
void set_string(const char *key, const char *utf8_value)
Definition json.cc:341
void set_float(const char *key, double v)
Definition json.cc:359
enum kind get_kind() const final override
Definition json.h:151
auto_vec< const char * > m_keys
Definition json.h:191
void set_bool(const char *key, bool v)
Definition json.cc:368
map_t m_map
Definition json.h:188
object * dyn_cast_object() final override
Definition json.h:154
void set_integer(const char *key, long v)
Definition json.cc:350
value * get(const char *key) const
Definition json.cc:326
void set(const char *key, std::unique_ptr< JsonType > v)
Definition json.h:169
static int compare(const json::object &obj_a, const json::object &obj_b)
Definition json.cc:376
bool is_empty() const
Definition json.h:156
~object()
Definition json.cc:242
void print(pretty_printer *pp, bool formatted) const final override
Definition json.cc:254
string(const char *utf8)
Definition json.cc:494
enum kind get_kind() const final override
Definition json.h:277
~string()
Definition json.h:275
const char * get_string() const
Definition json.h:280
size_t m_len
Definition json.h:285
void print(pretty_printer *pp, bool formatted) const final override
Definition json.cc:512
char * m_utf8
Definition json.h:284
size_t get_length() const
Definition json.h:281
virtual enum kind get_kind() const =0
virtual object * dyn_cast_object()
Definition json.h:131
static int compare(const json::value &val_a, const json::value &val_b)
Definition json.cc:163
virtual void print(pretty_printer *pp, bool formatted) const =0
void DEBUG_FUNCTION dump() const
Definition json.cc:143
const pointer::token & get_pointer_token() const
Definition json.h:135
pointer::token m_pointer_token
Definition json.h:137
virtual ~value()
Definition json.h:124
Definition pretty-print.h:241
void final(rtx_insn *first, FILE *file, int optimize_p)
Definition final.cc:2008
Definition json-parsing.h:27
@ JSON_ARRAY
Definition json.h:58
@ JSON_FALSE
Definition json.h:72
@ JSON_INTEGER
Definition json.h:61
@ JSON_NULL
Definition json.h:73
@ JSON_OBJECT
Definition json.h:55
@ JSON_TRUE
Definition json.h:71
@ JSON_FLOAT
Definition json.h:64
@ JSON_STRING
Definition json.h:67
Definition dump-context.h:31
i
Definition poly-int.h:776
union json::pointer::token::u m_data
json::value * m_parent
Definition json.h:108
token()
Definition json.cc:79
~token()
Definition json.cc:100
enum kind m_kind
Definition json.h:114
@ object_member
Definition json.h:90
@ array_index
Definition json.h:91
@ root_value
Definition json.h:89
token(token &&other)=delete
token & operator=(const token &other)=delete
token(const token &other)=delete
Definition hash-map-traits.h:33
#define DEBUG_FUNCTION
Definition system.h:1236
char * u_member
Definition json.h:111
size_t u_index
Definition json.h:112