Lines Matching refs:Item
41 // This item is already in the set, we found the cycle. Everything before
63 void Builder::ItemDefined(scoped_ptr<Item> item) {
64 ScopedTrace trace(TraceItem::TRACE_DEFINE_TARGET, item->label());
65 trace.SetToolchain(item->settings()->toolchain_label());
67 BuilderRecord::ItemType type = BuilderRecord::TypeOfItem(item.get());
71 GetOrCreateRecordOfType(item->label(), item->defined_from(), type, &err);
78 if (record->item()) {
79 err = Err(item->defined_from(), "Duplicate definition.",
80 "The item\n " + item->label().GetUserVisibleName(false) +
82 err.AppendSubErr(Err(record->item()->defined_from(),
88 record->set_item(item.Pass());
100 loader_->ToolchainLoaded(record->item()->AsToolchain());
114 const Item* Builder::GetItem(const Label& label) const {
118 return record->item();
125 if (!record->item())
127 return record->item()->AsToolchain();
145 i->second->should_generate() && i->second->item())
146 result.push_back(i->second->item()->AsTarget());
164 // Look for errors where we find a defined node with an item that refers to
165 // an undefined one with no item. There may be other nodes in turn depending
190 if (!dest->item()) {
226 Target* target = record->item()->AsTarget();
260 *err = Err(request_from, "Item type does not match.",
261 "The item \"" + label.GetUserVisibleName(false) +
280 *err = Err(origin, "Item not found",
286 const Item* item = record->item();
287 if (!item) {
288 *err = Err(origin, "Item not resolved.",
293 if (!BuilderRecord::IsItemOfType(item, type)) {
297 item->GetItemTypeName() + " instead of a " +
368 Target* target = record->item()->AsTarget();
379 record->item()->OnResolved();
381 resolved_callback_.Run(record->item());
383 // Recursively update everybody waiting on this item to be resolved.
410 cur.ptr = record->item()->AsTarget();
424 cur.ptr = record->item()->AsConfig();