| // Copyright 2018 The Fuchsia 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 "src/developer/debug/shared/logging/file_line_function.h" | |
| #include "src/lib/files/path.h" | |
| #include "src/lib/fxl/strings/string_printf.h" | |
| namespace debug_ipc { | |
| FileLineFunction::FileLineFunction() = default; | |
| FileLineFunction::FileLineFunction(std::string file, int line, std::string function) | |
| : file_(std::move(file)), function_(std::move(function)), line_(line) {} | |
| FileLineFunction::~FileLineFunction() = default; | |
| bool operator<(const FileLineFunction& a, const FileLineFunction& b) { | |
| if (a.line() != b.line()) | |
| return a.line() < b.line(); | |
| return a.file() < b.file(); | |
| } | |
| std::string FileLineFunction::ToString() const { | |
| return fxl::StringPrintf("[%s:%d][%s]", file_.data(), line_, function_.data()); | |
| } | |
| bool operator==(const FileLineFunction& a, const FileLineFunction& b) { | |
| return a.line() == b.line() && a.file() == b.file(); | |
| } | |
| bool operator!=(const FileLineFunction& a, const FileLineFunction& b) { return !operator==(a, b); } | |
| } // namespace debug_ipc |