================ @@ -0,0 +1,207 @@ +//===- ErrorBuilder.h - Fluent API for contextual errors --------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file defines the ErrorBuilder class, which provides a fluent API for +// constructing contextual error messages with layered context information. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_CLANG_ANALYSIS_SCALABLE_SUPPORT_ERRORBUILDER_H +#define LLVM_CLANG_ANALYSIS_SCALABLE_SUPPORT_ERRORBUILDER_H + +#include "llvm/Support/Error.h" +#include "llvm/Support/FormatVariadic.h" +#include <optional> +#include <string> +#include <system_error> +#include <vector> + +namespace clang::ssaf { + +/// Fluent API for constructing contextual errors. +/// +/// ErrorBuilder allows building error messages with layered context +/// information. Context is added innermost to outermost, and the final +/// error message presents the context in reverse order (outermost first). +/// +/// Example usage: +/// return ErrorBuilder::create(std::errc::invalid_argument, +/// "invalid value {0}", value) +/// .context("processing field '{0}'", fieldName) +/// .context("reading configuration") +/// .build(); ---------------- aviralg wrote:
Fixed. https://github.com/llvm/llvm-project/pull/181765 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
