| Index: tools/gn/substitution_list.cc
|
| diff --git a/tools/gn/substitution_list.cc b/tools/gn/substitution_list.cc
|
| index 26b3909e7980b28a164488c911cc1551fa49d6d6..826f2c1b43164ca2a3389b2e535218a9d70b84bd 100644
|
| --- a/tools/gn/substitution_list.cc
|
| +++ b/tools/gn/substitution_list.cc
|
| @@ -25,7 +25,9 @@ bool SubstitutionList::Parse(const Value& value, Err* err) {
|
| return false;
|
| }
|
|
|
| - FillRequiredTypes();
|
| + SubstitutionBits bits;
|
| + FillRequiredTypes(&bits);
|
| + bits.FillVector(&required_types_);
|
| return true;
|
| }
|
|
|
| @@ -38,7 +40,9 @@ bool SubstitutionList::Parse(const std::vector<std::string>& values,
|
| return false;
|
| }
|
|
|
| - FillRequiredTypes();
|
| + SubstitutionBits bits;
|
| + FillRequiredTypes(&bits);
|
| + bits.FillVector(&required_types_);
|
| return true;
|
| }
|
|
|
| @@ -59,14 +63,7 @@ SubstitutionList SubstitutionList::MakeForTest(
|
| return result;
|
| }
|
|
|
| -void SubstitutionList::FillRequiredTypes() {
|
| - bool required_type_bits[SUBSTITUTION_NUM_TYPES];
|
| - memset(&required_type_bits, 0, SUBSTITUTION_NUM_TYPES);
|
| +void SubstitutionList::FillRequiredTypes(SubstitutionBits* bits) const {
|
| for (size_t i = 0; i < list_.size(); i++)
|
| - list_[i].FillRequiredTypes(required_type_bits);
|
| -
|
| - for (size_t i = SUBSTITUTION_FIRST_PATTERN; i < SUBSTITUTION_NUM_TYPES; i++) {
|
| - if (required_type_bits[i])
|
| - required_types_.push_back(static_cast<SubstitutionType>(i));
|
| - }
|
| + list_[i].FillRequiredTypes(bits);
|
| }
|
|
|