naiveproxy/tools/gn/lib_file.cc

31 lines
785 B
C++
Raw Normal View History

2018-02-02 13:49:39 +03:00
// 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_;
}