| // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| #include "tools/gn/builder_record.h" |
| #include "tools/gn/item.h" |
| BuilderRecord::BuilderRecord(ItemType type, const Label& label) |
| : type_(type), label_(label) {} |
| const char* BuilderRecord::GetNameForType(ItemType type) { |
| bool BuilderRecord::IsItemOfType(const Item* item, ItemType type) { |
| return !!item->AsTarget(); |
| return !!item->AsConfig(); |
| return !!item->AsToolchain(); |
| BuilderRecord::ItemType BuilderRecord::TypeOfItem(const Item* item) { |
| void BuilderRecord::AddDep(BuilderRecord* record) { |
| all_deps_.insert(record); |
| if (!record->resolved()) { |
| unresolved_deps_.insert(record); |
| record->waiting_on_resolution_.insert(this); |