clang 20.0.0git
ASTConsumers.h
Go to the documentation of this file.
1//===--- ASTConsumers.h - ASTConsumer implementations -----------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// AST Consumers.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_CLANG_FRONTEND_ASTCONSUMERS_H
14#define LLVM_CLANG_FRONTEND_ASTCONSUMERS_H
15
17#include "clang/Basic/LLVM.h"
18#include <memory>
19
20namespace clang {
21
22class ASTConsumer;
23
24// AST pretty-printer: prints out the AST in a format that is close to the
25// original C code. The output is intended to be in a format such that
26// clang could re-parse the output back into the same AST, but the
27// implementation is still incomplete.
28std::unique_ptr<ASTConsumer> CreateASTPrinter(std::unique_ptr<raw_ostream> OS,
29 StringRef FilterString);
30
31// AST dumper: dumps the raw AST in human-readable form to the given output
32// stream, or stdout if OS is nullptr.
33std::unique_ptr<ASTConsumer>
34CreateASTDumper(std::unique_ptr<raw_ostream> OS, StringRef FilterString,
35 bool DumpDecls, bool Deserialize, bool DumpLookups,
36 bool DumpDeclTypes, ASTDumpOutputFormat Format);
37
38// AST Decl node lister: prints qualified names of all filterable AST Decl
39// nodes.
40std::unique_ptr<ASTConsumer> CreateASTDeclNodeLister();
41
42// Graphical AST viewer: for each function definition, creates a graph of
43// the AST and displays it with the graph viewer "dotty". Also outputs
44// function declarations to stderr.
45std::unique_ptr<ASTConsumer> CreateASTViewer();
46
47} // end clang namespace
48
49#endif
Forward-declares and imports various common LLVM datatypes that clang wants to use unqualified.
The JSON file list parser is used to communicate input to InstallAPI.
ASTDumpOutputFormat
Used to specify the format for printing AST dump information.
std::unique_ptr< ASTConsumer > CreateASTDeclNodeLister()
std::unique_ptr< ASTConsumer > CreateASTDumper(std::unique_ptr< raw_ostream > OS, StringRef FilterString, bool DumpDecls, bool Deserialize, bool DumpLookups, bool DumpDeclTypes, ASTDumpOutputFormat Format)
std::unique_ptr< ASTConsumer > CreateASTPrinter(std::unique_ptr< raw_ostream > OS, StringRef FilterString)
std::unique_ptr< ASTConsumer > CreateASTViewer()