1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "tools/gn/item.h" 6 7 #include "base/logging.h" 8 Item(const Settings * settings,const Label & label)9Item::Item(const Settings* settings, const Label& label) 10 : settings_(settings), 11 label_(label), 12 defined_from_(NULL) { 13 } 14 ~Item()15Item::~Item() { 16 } 17 AsConfig()18Config* Item::AsConfig() { return NULL; } AsConfig() const19const Config* Item::AsConfig() const { return NULL; } AsTarget()20Target* Item::AsTarget() { return NULL; } AsTarget() const21const Target* Item::AsTarget() const { return NULL; } AsToolchain()22Toolchain* Item::AsToolchain() { return NULL; } AsToolchain() const23const Toolchain* Item::AsToolchain() const { return NULL; } 24 GetItemTypeName() const25std::string Item::GetItemTypeName() const { 26 if (AsConfig()) 27 return "config"; 28 if (AsTarget()) 29 return "target"; 30 if (AsToolchain()) 31 return "toolchain"; 32 NOTREACHED(); 33 return "this thing that I have no idea what it is"; 34 } 35 OnResolved(Err * err)36bool Item::OnResolved(Err* err) { 37 return true; 38 } 39