|
clang 22.0.0git
|
Helper class that creates diagnostics with optional template instantiation stacks. More...
#include "clang/Sema/SemaBase.h"
Public Member Functions | |
| ImmediateDiagBuilder (DiagnosticBuilder &DB, Sema &SemaRef, unsigned DiagID) | |
| ImmediateDiagBuilder (DiagnosticBuilder &&DB, Sema &SemaRef, unsigned DiagID) | |
| ImmediateDiagBuilder (const ImmediateDiagBuilder &)=default | |
| ~ImmediateDiagBuilder () | |
| template<typename T, typename = std::enable_if_t<!std::is_lvalue_reference<T>::value>> | |
| const ImmediateDiagBuilder & | operator<< (T &&V) const |
| Public Member Functions inherited from clang::DiagnosticBuilder | |
| DiagnosticBuilder (const DiagnosticBuilder &D) | |
| Copy constructor. | |
| template<typename T> | |
| const DiagnosticBuilder & | operator<< (const T &V) const |
| template<typename T, typename = std::enable_if_t<!std::is_lvalue_reference<T>::value>> | |
| const DiagnosticBuilder & | operator<< (T &&V) const |
| DiagnosticBuilder & | operator= (const DiagnosticBuilder &)=delete |
| ~DiagnosticBuilder () | |
| Emits the diagnostic. | |
| const DiagnosticBuilder & | setForceEmit () const |
| Forces the diagnostic to be emitted. | |
| void | addFlagValue (StringRef V) const |
| Public Member Functions inherited from clang::StreamingDiagnostic | |
| DiagnosticStorage * | getStorage () const |
| Retrieve storage for this particular diagnostic. | |
| void | freeStorage () |
| void | freeStorageSlow () |
| void | AddTaggedVal (uint64_t V, DiagnosticsEngine::ArgumentKind Kind) const |
| void | AddString (StringRef V) const |
| void | AddSourceRange (const CharSourceRange &R) const |
| void | AddFixItHint (const FixItHint &Hint) const |
| operator bool () const | |
Conversion of StreamingDiagnostic to bool always returns true. | |
Friends | |
| template<typename T> | |
| const ImmediateDiagBuilder & | operator<< (const ImmediateDiagBuilder &Diag, const T &Value) |
| Teach operator<< to produce an object of the correct type. | |
Additional Inherited Members | |
| Public Types inherited from clang::StreamingDiagnostic | |
| using | DiagStorageAllocator = clang::DiagStorageAllocator |
| Protected Member Functions inherited from clang::DiagnosticBuilder | |
| DiagnosticBuilder (DiagnosticsEngine *DiagObj, SourceLocation DiagLoc, unsigned DiagID) | |
| DiagnosticsEngine * | getDiagnosticsEngine () const |
| unsigned | getDiagID () const |
| void | Clear () const |
| Clear out the current diagnostic. | |
| bool | isActive () const |
| Determine whether this diagnostic is still active. | |
| bool | Emit () |
| Force the diagnostic builder to emit the diagnostic now. | |
| Protected Member Functions inherited from clang::StreamingDiagnostic | |
| StreamingDiagnostic ()=default | |
| StreamingDiagnostic (DiagStorageAllocator &Alloc) | |
| Construct with a storage allocator which will manage the storage. | |
| StreamingDiagnostic (const StreamingDiagnostic &Diag)=default | |
| StreamingDiagnostic (StreamingDiagnostic &&Diag)=default | |
| ~StreamingDiagnostic () | |
| Protected Attributes inherited from clang::StreamingDiagnostic | |
| DiagnosticStorage * | DiagStorage = nullptr |
| DiagStorageAllocator * | Allocator = nullptr |
| Allocator used to allocate storage for this diagnostic. | |
Helper class that creates diagnostics with optional template instantiation stacks.
This class provides a wrapper around the basic DiagnosticBuilder class that emits diagnostics. ImmediateDiagBuilder is responsible for emitting the diagnostic (as DiagnosticBuilder does) and, if the diagnostic comes from inside a template instantiation, printing the template instantiation stack as well.
Definition at line 56 of file SemaBase.h.
|
inline |
Definition at line 61 of file SemaBase.h.
Referenced by ImmediateDiagBuilder(), operator<<, and operator<<().
|
inline |
Definition at line 63 of file SemaBase.h.
|
default |
References ImmediateDiagBuilder().
| clang::SemaBase::ImmediateDiagBuilder::~ImmediateDiagBuilder | ( | ) |
Definition at line 14 of file SemaBase.cpp.
References clang::DiagnosticBuilder::Clear(), and clang::DiagnosticBuilder::isActive().
|
inline |
Definition at line 90 of file SemaBase.h.
References ImmediateDiagBuilder(), clang::T, and V.
|
friend |
Teach operator<< to produce an object of the correct type.
Definition at line 78 of file SemaBase.h.
References clang::SemaBase::Diag(), ImmediateDiagBuilder(), and clang::T.