| // 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/item.h" |
| |
| #include "base/logging.h" |
| #include "tools/gn/settings.h" |
| |
| Item::Item(const Settings* settings, |
| const Label& label, |
| const std::set<SourceFile>& build_dependency_files) |
| : settings_(settings), |
| label_(label), |
| build_dependency_files_(build_dependency_files), |
| defined_from_(nullptr) {} |
| |
| Item::~Item() = default; |
| |
| Config* Item::AsConfig() { |
| return nullptr; |
| } |
| const Config* Item::AsConfig() const { |
| return nullptr; |
| } |
| Pool* Item::AsPool() { |
| return nullptr; |
| } |
| const Pool* Item::AsPool() const { |
| return nullptr; |
| } |
| Target* Item::AsTarget() { |
| return nullptr; |
| } |
| const Target* Item::AsTarget() const { |
| return nullptr; |
| } |
| Toolchain* Item::AsToolchain() { |
| return nullptr; |
| } |
| const Toolchain* Item::AsToolchain() const { |
| return nullptr; |
| } |
| |
| std::string Item::GetItemTypeName() const { |
| if (AsConfig()) |
| return "config"; |
| if (AsTarget()) |
| return "target"; |
| if (AsToolchain()) |
| return "toolchain"; |
| if (AsPool()) |
| return "pool"; |
| NOTREACHED(); |
| return "this thing that I have no idea what it is"; |
| } |
| |
| bool Item::OnResolved(Err* err) { |
| return true; |
| } |