| // 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_; |
| } |