File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -64,6 +64,7 @@ struct SourceLocationModel {
6464struct VariableModel {
6565 string name;
6666 Nullable<string> value;
67+ string type;
6768 Nullable<uint64> var_table_index;
6869 std::vector<std::unique_ptr<VariableModel>> members;
6970 std::unique_ptr<StatusMessageModel> status;
Original file line number Diff line number Diff line change @@ -401,6 +401,10 @@ static void SerializeModel(
401401 (*root)[" value" ] = Json::Value (model.value .value ());
402402 }
403403
404+ if (!model.type .empty ()) {
405+ (*root)[" type" ] = Json::Value (model.type );
406+ }
407+
404408 if (model.var_table_index .has_value ()) {
405409 (*root)[" varTableIndex" ] =
406410 Json::Value (static_cast <int >(model.var_table_index .value ()));
@@ -429,6 +433,13 @@ std::unique_ptr<VariableModel> DeserializeModel<VariableModel>(
429433 model->value .clear ();
430434 }
431435
436+ // Type.
437+ if (root.isMember (" type" )) {
438+ model->type = JsonCppGetString (root, " type" );
439+ } else {
440+ model->type .clear ();
441+ }
442+
432443 // Reference to object in "variable_table".
433444 if (root.isMember (" varTableIndex" )) {
434445 model->var_table_index = JsonCppGetInt (root, " varTableIndex" , -1 );
Original file line number Diff line number Diff line change @@ -161,6 +161,7 @@ class VariableBuilder {
161161 explicit VariableBuilder (const VariableModel& source) {
162162 data_->name = source.name ;
163163 data_->value = source.value ;
164+ data_->type = source.type ;
164165 data_->var_table_index = source.var_table_index ;
165166
166167 data_->members .reserve (source.members .size ());
@@ -197,6 +198,16 @@ class VariableBuilder {
197198 return *this ;
198199 }
199200
201+ VariableBuilder& set_type (string type) {
202+ data_->type = std::move (type);
203+ return *this ;
204+ }
205+
206+ VariableBuilder& clear_type () {
207+ data_->type .clear ();
208+ return *this ;
209+ }
210+
200211 VariableBuilder& set_var_table_index (int var_table_index) {
201212 data_->var_table_index = var_table_index;
202213 return *this ;
You can’t perform that action at this time.
0 commit comments