16d528ed9Sopenharmony_ci// Copyright (c) 2013 The Chromium Authors. All rights reserved. 26d528ed9Sopenharmony_ci// Use of this source code is governed by a BSD-style license that can be 36d528ed9Sopenharmony_ci// found in the LICENSE file. 46d528ed9Sopenharmony_ci 56d528ed9Sopenharmony_ci#include "gn/item.h" 66d528ed9Sopenharmony_ci 76d528ed9Sopenharmony_ci#include "base/logging.h" 86d528ed9Sopenharmony_ci#include "gn/settings.h" 96d528ed9Sopenharmony_ci#include "gn/build_settings.h" 106d528ed9Sopenharmony_ci 116d528ed9Sopenharmony_ciItem::Item(const Settings* settings, 126d528ed9Sopenharmony_ci const Label& label, 136d528ed9Sopenharmony_ci const SourceFileSet& build_dependency_files) 146d528ed9Sopenharmony_ci : settings_(settings), 156d528ed9Sopenharmony_ci label_(label), 166d528ed9Sopenharmony_ci build_dependency_files_(build_dependency_files), 176d528ed9Sopenharmony_ci defined_from_(nullptr) { 186d528ed9Sopenharmony_ci component = settings->build_settings()->GetOhosComponent(label.GetUserVisibleName(false)); 196d528ed9Sopenharmony_ci } 206d528ed9Sopenharmony_ci 216d528ed9Sopenharmony_ciItem::~Item() = default; 226d528ed9Sopenharmony_ci 236d528ed9Sopenharmony_ciConfig* Item::AsConfig() { 246d528ed9Sopenharmony_ci return nullptr; 256d528ed9Sopenharmony_ci} 266d528ed9Sopenharmony_ciconst Config* Item::AsConfig() const { 276d528ed9Sopenharmony_ci return nullptr; 286d528ed9Sopenharmony_ci} 296d528ed9Sopenharmony_ciPool* Item::AsPool() { 306d528ed9Sopenharmony_ci return nullptr; 316d528ed9Sopenharmony_ci} 326d528ed9Sopenharmony_ciconst Pool* Item::AsPool() const { 336d528ed9Sopenharmony_ci return nullptr; 346d528ed9Sopenharmony_ci} 356d528ed9Sopenharmony_ciTarget* Item::AsTarget() { 366d528ed9Sopenharmony_ci return nullptr; 376d528ed9Sopenharmony_ci} 386d528ed9Sopenharmony_ciconst Target* Item::AsTarget() const { 396d528ed9Sopenharmony_ci return nullptr; 406d528ed9Sopenharmony_ci} 416d528ed9Sopenharmony_ciToolchain* Item::AsToolchain() { 426d528ed9Sopenharmony_ci return nullptr; 436d528ed9Sopenharmony_ci} 446d528ed9Sopenharmony_ciconst Toolchain* Item::AsToolchain() const { 456d528ed9Sopenharmony_ci return nullptr; 466d528ed9Sopenharmony_ci} 476d528ed9Sopenharmony_ci 486d528ed9Sopenharmony_cistd::string Item::GetItemTypeName() const { 496d528ed9Sopenharmony_ci if (AsConfig()) 506d528ed9Sopenharmony_ci return "config"; 516d528ed9Sopenharmony_ci if (AsTarget()) 526d528ed9Sopenharmony_ci return "target"; 536d528ed9Sopenharmony_ci if (AsToolchain()) 546d528ed9Sopenharmony_ci return "toolchain"; 556d528ed9Sopenharmony_ci if (AsPool()) 566d528ed9Sopenharmony_ci return "pool"; 576d528ed9Sopenharmony_ci NOTREACHED(); 586d528ed9Sopenharmony_ci return "this thing that I have no idea what it is"; 596d528ed9Sopenharmony_ci} 606d528ed9Sopenharmony_ci 616d528ed9Sopenharmony_cibool Item::OnResolved(Err* err) { 626d528ed9Sopenharmony_ci return true; 636d528ed9Sopenharmony_ci} 64