CppInterOp
C++ Language Interoperability Layer
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
ErrorInternal.h File Reference
#include "CppInterOp/CppInterOpTypes.h"
#include "CppInterOp/Error.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/raw_ostream.h"
#include <atomic>
#include <cstdint>
#include <deque>
#include <string>
#include <system_error>
#include <utility>
Include dependency graph for ErrorInternal.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Cpp::StoredDiagView
 Owning record for one captured diagnostic. More...
 
struct  Cpp::ErrorSlice
 Body of a slice-encoded error: drained diagnostics, producer attribution, refcount. More...
 
class  Cpp::StatusError
 

Namespaces

namespace  Cpp
 

Functions

ErrorSliceCpp::AllocSlice (InterpreterInfo *Owner)
 Allocate a fresh slice on the heap, refcount 0.
 
ErrorRef Cpp::makeError (Status S)
 Build an inline-status ErrorRef (no diagnostics, no payload).
 
ErrorRef Cpp::makeError (InterpreterInfo *II, Status S, std::string Message, const char *Producer, const char *ProducerSig)
 Build a slice-encoded error carrying a Clang-derived message + the interp's pending diagnostics + producer attribution.
 
ErrorRef Cpp::drainError (InterpreterInfo *II, llvm::Error E, const char *Producer, const char *ProducerSig)
 Drain E into a fresh slice, returning the slice via ErrorRef.
 
template<typename T >
Result< T > Cpp::makeResult (InterpreterInfo *II, llvm::Expected< T > E, const char *Producer, const char *ProducerSig)
 Convert llvm::Expected<T> into Result<T>.
 
Result< void > Cpp::makeResult (InterpreterInfo *II, llvm::Error E, const char *Producer, const char *ProducerSig)
 
void Cpp::DrainPendingInto (InterpreterInfo *II, ErrorSlice *S)
 Drain the consumer's per-interp buffer into a slice on failure.
 
void Cpp::ClearPending (InterpreterInfo *II)
 
unsigned Cpp::GetPendingDiagnosticCount (InterpRef I)
 
DiagnosticRef Cpp::GetPendingDiagnostic (unsigned Idx, InterpRef I)
 
void Cpp::ClearPendingDiagnostics (InterpRef I)