1d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch// Use of this source code is governed by a BSD-style license that can be 3d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch// found in the LICENSE file. 4d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch 5d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch#include "tools/gn/item.h" 6d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch 7d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch#include "base/logging.h" 8d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch 90f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles)Item::Item(const Settings* settings, const Label& label) 100f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) : settings_(settings), 11f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) label_(label), 12f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) defined_from_(NULL) { 13d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch} 14d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch 15d3868032626d59662ff73b372b5d584c1d144c53Ben MurdochItem::~Item() { 16d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch} 17d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch 18d3868032626d59662ff73b372b5d584c1d144c53Ben MurdochConfig* Item::AsConfig() { return NULL; } 19d3868032626d59662ff73b372b5d584c1d144c53Ben Murdochconst Config* Item::AsConfig() const { return NULL; } 20d3868032626d59662ff73b372b5d584c1d144c53Ben MurdochTarget* Item::AsTarget() { return NULL; } 21d3868032626d59662ff73b372b5d584c1d144c53Ben Murdochconst Target* Item::AsTarget() const { return NULL; } 22d3868032626d59662ff73b372b5d584c1d144c53Ben MurdochToolchain* Item::AsToolchain() { return NULL; } 23d3868032626d59662ff73b372b5d584c1d144c53Ben Murdochconst Toolchain* Item::AsToolchain() const { return NULL; } 24d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch 25d3868032626d59662ff73b372b5d584c1d144c53Ben Murdochstd::string Item::GetItemTypeName() const { 26d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch if (AsConfig()) 27d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch return "config"; 28d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch if (AsTarget()) 29d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch return "target"; 30d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch if (AsToolchain()) 31d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch return "toolchain"; 32d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch NOTREACHED(); 33d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch return "this thing that I have no idea what it is"; 34d3868032626d59662ff73b372b5d584c1d144c53Ben Murdoch} 351320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci 361320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccibool Item::OnResolved(Err* err) { 371320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci return true; 381320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci} 39