Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:36:28

0001 //===--- ASTDiagnostic.h - Diagnostics for the AST library ------*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 
0009 #ifndef LLVM_CLANG_AST_ASTDIAGNOSTIC_H
0010 #define LLVM_CLANG_AST_ASTDIAGNOSTIC_H
0011 
0012 #include "clang/AST/Type.h"
0013 #include "clang/Basic/Diagnostic.h"
0014 #include "clang/Basic/DiagnosticAST.h"
0015 
0016 namespace clang {
0017   /// DiagnosticsEngine argument formatting function for diagnostics that
0018   /// involve AST nodes.
0019   ///
0020   /// This function formats diagnostic arguments for various AST nodes,
0021   /// including types, declaration names, nested name specifiers, and
0022   /// declaration contexts, into strings that can be printed as part of
0023   /// diagnostics. It is meant to be used as the argument to
0024   /// \c DiagnosticsEngine::SetArgToStringFn(), where the cookie is an \c
0025   /// ASTContext pointer.
0026   void FormatASTNodeDiagnosticArgument(
0027       DiagnosticsEngine::ArgumentKind Kind,
0028       intptr_t Val,
0029       StringRef Modifier,
0030       StringRef Argument,
0031       ArrayRef<DiagnosticsEngine::ArgumentValue> PrevArgs,
0032       SmallVectorImpl<char> &Output,
0033       void *Cookie,
0034       ArrayRef<intptr_t> QualTypeVals);
0035 
0036   /// Returns a desugared version of the QualType, and marks ShouldAKA as true
0037   /// whenever we remove significant sugar from the type. Make sure ShouldAKA
0038   /// is initialized before passing it in.
0039   QualType desugarForDiagnostic(ASTContext &Context, QualType QT,
0040                                 bool &ShouldAKA);
0041 }  // end namespace clang
0042 
0043 #endif