@@ -194,36 +194,59 @@ static void show_symbol_table_json_ui(
194
194
if (symbol.value .is_not_nil ())
195
195
ptr->from_expr (symbol.value , value_str, ns);
196
196
197
+ json_stringt pretty_name_json (symbol.pretty_name );
198
+ json_stringt name_json (symbol.name );
199
+ json_stringt base_name_json (symbol.base_name );
200
+ json_stringt mode_json (symbol.mode );
201
+ json_stringt module_json (symbol.module );
202
+ json_stringt pretty_type_json (type_str);
203
+ json_stringt pretty_value_json (value_str);
204
+ jsont type_json (irep_converter.convert_from_irep (symbol.type ));
205
+ jsont value_json (irep_converter.convert_from_irep (symbol.value ));
206
+ jsont location_json (irep_converter.convert_from_irep (symbol.location ));
207
+ jsont is_type_json (jsont::json_boolean (symbol.is_type ));
208
+ jsont is_macro_json (jsont::json_boolean (symbol.is_macro ));
209
+ jsont is_exported_json (jsont::json_boolean (symbol.is_exported ));
210
+ jsont is_input_json (jsont::json_boolean (symbol.is_input ));
211
+ jsont is_output_json (jsont::json_boolean (symbol.is_output ));
212
+ jsont is_state_var_json (jsont::json_boolean (symbol.is_state_var ));
213
+ jsont is_property_json (jsont::json_boolean (symbol.is_property ));
214
+ jsont is_static_lifetime_json (jsont::json_boolean (symbol.is_static_lifetime ));
215
+ jsont is_thread_local_json (jsont::json_boolean (symbol.is_thread_local ));
216
+ jsont is_lvalue_json (jsont::json_boolean (symbol.is_lvalue ));
217
+ jsont is_file_local_json (jsont::json_boolean (symbol.is_file_local ));
218
+ jsont is_extern_json (jsont::json_boolean (symbol.is_extern ));
219
+ jsont is_volatile_json (jsont::json_boolean (symbol.is_volatile ));
220
+ jsont is_parameter_json (jsont::json_boolean (symbol.is_parameter ));
221
+ jsont is_auxiliary_json (jsont::json_boolean (symbol.is_auxiliary ));
222
+ jsont is_weak_json (jsont::json_boolean (symbol.is_weak ));
197
223
json_objectt symbol_json (
198
- {{" prettyName" , json_stringt (symbol.pretty_name )},
199
- {" name" , json_stringt (symbol.name )},
200
- {" baseName" , json_stringt (symbol.base_name )},
201
- {" mode" , json_stringt (symbol.mode )},
202
- {" module" , json_stringt (symbol.module )},
203
-
204
- {" prettyType" , json_stringt (type_str)},
205
- {" prettyValue" , json_stringt (value_str)},
206
-
207
- {" type" , irep_converter.convert_from_irep (symbol.type )},
208
- {" value" , irep_converter.convert_from_irep (symbol.value )},
209
- {" location" , irep_converter.convert_from_irep (symbol.location )},
210
-
211
- {" isType" , jsont::json_boolean (symbol.is_type )},
212
- {" isMacro" , jsont::json_boolean (symbol.is_macro )},
213
- {" isExported" , jsont::json_boolean (symbol.is_exported )},
214
- {" isInput" , jsont::json_boolean (symbol.is_input )},
215
- {" isOutput" , jsont::json_boolean (symbol.is_output )},
216
- {" isStateVar" , jsont::json_boolean (symbol.is_state_var )},
217
- {" isProperty" , jsont::json_boolean (symbol.is_property )},
218
- {" isStaticLifetime" , jsont::json_boolean (symbol.is_static_lifetime )},
219
- {" isThreadLocal" , jsont::json_boolean (symbol.is_thread_local )},
220
- {" isLvalue" , jsont::json_boolean (symbol.is_lvalue )},
221
- {" isFileLocal" , jsont::json_boolean (symbol.is_file_local )},
222
- {" isExtern" , jsont::json_boolean (symbol.is_extern )},
223
- {" isVolatile" , jsont::json_boolean (symbol.is_volatile )},
224
- {" isParameter" , jsont::json_boolean (symbol.is_parameter )},
225
- {" isAuxiliary" , jsont::json_boolean (symbol.is_auxiliary )},
226
- {" isWeak" , jsont::json_boolean (symbol.is_weak )}});
224
+ {{" prettyName" , std::move (pretty_name_json)},
225
+ {" name" , std::move (name_json)},
226
+ {" baseName" , std::move (base_name_json)},
227
+ {" mode" , std::move (mode_json)},
228
+ {" module" , std::move (module_json)},
229
+ {" prettyType" , std::move (pretty_type_json)},
230
+ {" prettyValue" , std::move (pretty_value_json)},
231
+ {" type" , std::move (type_json)},
232
+ {" value" , std::move (value_json)},
233
+ {" location" , std::move (location_json)},
234
+ {" isType" , std::move (is_type_json)},
235
+ {" isMacro" , std::move (is_macro_json)},
236
+ {" isExported" , std::move (is_exported_json)},
237
+ {" isInput" , std::move (is_input_json)},
238
+ {" isOutput" , std::move (is_output_json)},
239
+ {" isStateVar" , std::move (is_state_var_json)},
240
+ {" isProperty" , std::move (is_property_json)},
241
+ {" isStaticLifetime" , std::move (is_static_lifetime_json)},
242
+ {" isThreadLocal" , std::move (is_thread_local_json)},
243
+ {" isLvalue" , std::move (is_lvalue_json)},
244
+ {" isFileLocal" , std::move (is_file_local_json)},
245
+ {" isExtern" , std::move (is_extern_json)},
246
+ {" isVolatile" , std::move (is_volatile_json)},
247
+ {" isParameter" , std::move (is_parameter_json)},
248
+ {" isAuxiliary" , std::move (is_auxiliary_json)},
249
+ {" isWeak" , std::move (is_weak_json)}});
227
250
228
251
result.push_back (id2string (symbol.name ), std::move (symbol_json));
229
252
}
@@ -265,15 +288,19 @@ static void show_symbol_table_brief_json_ui(
265
288
if (symbol.type .is_not_nil ())
266
289
ptr->from_type (symbol.type , type_str, ns);
267
290
291
+ json_stringt pretty_name_json (symbol.pretty_name );
292
+ json_stringt base_name_json (symbol.base_name );
293
+ json_stringt mode_json (symbol.mode );
294
+ json_stringt module_json (symbol.module );
295
+ json_stringt pretty_type_json (type_str);
296
+ jsont type_json (irep_converter.convert_from_irep (symbol.type ));
268
297
json_objectt symbol_json (
269
- {{" prettyName" , json_stringt (symbol.pretty_name )},
270
- {" baseName" , json_stringt (symbol.base_name )},
271
- {" mode" , json_stringt (symbol.mode )},
272
- {" module" , json_stringt (symbol.module )},
273
-
274
- {" prettyType" , json_stringt (type_str)},
275
-
276
- {" type" , irep_converter.convert_from_irep (symbol.type )}});
298
+ {{" prettyName" , std::move (pretty_name_json)},
299
+ {" baseName" , std::move (base_name_json)},
300
+ {" mode" , std::move (mode_json)},
301
+ {" module" , std::move (module_json)},
302
+ {" prettyType" , std::move (pretty_type_json)},
303
+ {" type" , std::move (type_json)}});
277
304
278
305
result.push_back (id2string (symbol.name ), std::move (symbol_json));
279
306
}
0 commit comments