clang
18.0.0git
include
clang
ExtractAPI
ExtractAPIActionBase.h
Go to the documentation of this file.
1
//===- ExtractAPI/ExtractAPIActionBase.h -----------------------------*- C++
2
//-*-===//
3
//
4
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5
// See https://llvm.org/LICENSE.txt for license information.
6
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7
//
8
//===----------------------------------------------------------------------===//
9
///
10
/// \file
11
/// This file defines the ExtractAPIActionBase class.
12
///
13
//===----------------------------------------------------------------------===//
14
15
#ifndef LLVM_CLANG_EXTRACTAPI_ACTION_BASE_H
16
#define LLVM_CLANG_EXTRACTAPI_ACTION_BASE_H
17
18
#include "
clang/ExtractAPI/API.h
"
19
#include "
clang/ExtractAPI/APIIgnoresList.h
"
20
21
namespace
clang
{
22
23
/// Base class to be used by front end actions to generate ExtarctAPI info
24
///
25
/// Deriving from this class equips an action with all the necessary tools to
26
/// generate ExractAPI information in form of symbol-graphs
27
class
ExtractAPIActionBase
{
28
protected
:
29
/// A representation of the APIs this action extracts.
30
std::unique_ptr<extractapi::APISet>
API
;
31
32
/// A stream to the output file of this action.
33
std::unique_ptr<raw_pwrite_stream>
OS
;
34
35
/// The product this action is extracting API information for.
36
std::string
ProductName
;
37
38
/// The synthesized input buffer that contains all the provided input header
39
/// files.
40
std::unique_ptr<llvm::MemoryBuffer>
Buffer
;
41
42
/// The list of symbols to ignore during serialization
43
extractapi::APIIgnoresList
IgnoresList
;
44
45
/// Implements EndSourceFileAction for Symbol-Graph generation
46
///
47
/// Use the serializer to generate output symbol graph files from
48
/// the information gathered during the execution of Action.
49
void
ImplEndSourceFileAction
();
50
};
51
52
}
// namespace clang
53
54
#endif
// LLVM_CLANG_EXTRACTAPI_ACTION_BASE_H
APIIgnoresList.h
API.h
This file defines the APIRecord-based structs and the APISet class.
clang::ExtractAPIActionBase
Base class to be used by front end actions to generate ExtarctAPI info.
Definition:
ExtractAPIActionBase.h:27
clang::ExtractAPIActionBase::ProductName
std::string ProductName
The product this action is extracting API information for.
Definition:
ExtractAPIActionBase.h:36
clang::ExtractAPIActionBase::Buffer
std::unique_ptr< llvm::MemoryBuffer > Buffer
The synthesized input buffer that contains all the provided input header files.
Definition:
ExtractAPIActionBase.h:40
clang::ExtractAPIActionBase::IgnoresList
extractapi::APIIgnoresList IgnoresList
The list of symbols to ignore during serialization.
Definition:
ExtractAPIActionBase.h:43
clang::ExtractAPIActionBase::ImplEndSourceFileAction
void ImplEndSourceFileAction()
Implements EndSourceFileAction for Symbol-Graph generation.
Definition:
ExtractAPIConsumer.cpp:378
clang::ExtractAPIActionBase::API
std::unique_ptr< extractapi::APISet > API
A representation of the APIs this action extracts.
Definition:
ExtractAPIActionBase.h:30
clang::ExtractAPIActionBase::OS
std::unique_ptr< raw_pwrite_stream > OS
A stream to the output file of this action.
Definition:
ExtractAPIActionBase.h:33
clang
Definition:
CalledOnceCheck.h:17
clang::extractapi::APIIgnoresList
A type that provides access to a new line separated list of symbol names to ignore when extracting AP...
Definition:
APIIgnoresList.h:46
Generated on Thu Dec 7 2023 15:44:58 for clang by
1.9.6