// Copyright 2015 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/lib_file.h" #include "base/logging.h" LibFile::LibFile() = default; LibFile::LibFile(const SourceFile& source_file) : source_file_(source_file) {} LibFile::LibFile(const base::StringPiece& lib_name) : name_(lib_name.data(), lib_name.size()) { DCHECK(!lib_name.empty()); } void LibFile::Swap(LibFile* other) { name_.swap(other->name_); source_file_.swap(other->source_file_); } const std::string& LibFile::value() const { return is_source_file() ? source_file_.value() : name_; } const SourceFile& LibFile::source_file() const { DCHECK(is_source_file()); return source_file_; }