| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/flags.h" | 5 #include "vm/flags.h" |
| 6 | 6 |
| 7 #include "platform/assert.h" | 7 #include "platform/assert.h" |
| 8 #include "vm/json_stream.h" | 8 #include "vm/json_stream.h" |
| 9 #include "vm/os.h" | 9 #include "vm/os.h" |
| 10 | 10 |
| (...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 420 } | 420 } |
| 421 | 421 |
| 422 | 422 |
| 423 void Flags::PrintFlagToJSONArray(JSONArray* jsarr, const Flag* flag) { | 423 void Flags::PrintFlagToJSONArray(JSONArray* jsarr, const Flag* flag) { |
| 424 if (flag->IsUnrecognized() || flag->type_ == Flag::kFunc) { | 424 if (flag->IsUnrecognized() || flag->type_ == Flag::kFunc) { |
| 425 return; | 425 return; |
| 426 } | 426 } |
| 427 JSONObject jsflag(jsarr); | 427 JSONObject jsflag(jsarr); |
| 428 jsflag.AddProperty("name", flag->name_); | 428 jsflag.AddProperty("name", flag->name_); |
| 429 jsflag.AddProperty("comment", flag->comment_); | 429 jsflag.AddProperty("comment", flag->comment_); |
| 430 jsflag.AddProperty("modified", flag->changed_); |
| 430 switch (flag->type_) { | 431 switch (flag->type_) { |
| 431 case Flag::kBoolean: { | 432 case Flag::kBoolean: { |
| 432 jsflag.AddProperty("_flagType", "Bool"); | 433 jsflag.AddProperty("_flagType", "Bool"); |
| 433 jsflag.AddProperty("valueAsString", | 434 jsflag.AddProperty("valueAsString", |
| 434 (*flag->bool_ptr_ ? "true" : "false")); | 435 (*flag->bool_ptr_ ? "true" : "false")); |
| 435 break; | 436 break; |
| 436 } | 437 } |
| 437 case Flag::kInteger: { | 438 case Flag::kInteger: { |
| 438 jsflag.AddProperty("_flagType", "Int"); | 439 jsflag.AddProperty("_flagType", "Int"); |
| 439 jsflag.AddPropertyF("valueAsString", "%d", *flag->int_ptr_); | 440 jsflag.AddPropertyF("valueAsString", "%d", *flag->int_ptr_); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 456 default: | 457 default: |
| 457 UNREACHABLE(); | 458 UNREACHABLE(); |
| 458 break; | 459 break; |
| 459 } | 460 } |
| 460 } | 461 } |
| 461 | 462 |
| 462 | 463 |
| 463 void Flags::PrintJSON(JSONStream* js) { | 464 void Flags::PrintJSON(JSONStream* js) { |
| 464 JSONObject jsobj(js); | 465 JSONObject jsobj(js); |
| 465 jsobj.AddProperty("type", "FlagList"); | 466 jsobj.AddProperty("type", "FlagList"); |
| 466 { | 467 JSONArray jsarr(&jsobj, "flags"); |
| 467 JSONArray jsarr(&jsobj, "unmodifiedFlags"); | 468 for (intptr_t i = 0; i < num_flags_; ++i) { |
| 468 for (intptr_t i = 0; i < num_flags_; ++i) { | 469 PrintFlagToJSONArray(&jsarr, flags_[i]); |
| 469 Flag* flag = flags_[i]; | |
| 470 if (!flag->changed_) { | |
| 471 PrintFlagToJSONArray(&jsarr, flag); | |
| 472 } | |
| 473 } | |
| 474 } | |
| 475 { | |
| 476 JSONArray jsarr(&jsobj, "modifiedFlags"); | |
| 477 for (intptr_t i = 0; i < num_flags_; ++i) { | |
| 478 Flag* flag = flags_[i]; | |
| 479 if (flag->changed_) { | |
| 480 PrintFlagToJSONArray(&jsarr, flag); | |
| 481 } | |
| 482 } | |
| 483 } | 470 } |
| 484 } | 471 } |
| 485 | 472 |
| 486 } // namespace dart | 473 } // namespace dart |
| OLD | NEW |