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 |
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 { |
28 | protected: |
29 | /// A representation of the APIs this action extracts. |
30 | std::unique_ptr<extractapi::APISet> ; |
31 | |
32 | /// A stream to the output file of this action. |
33 | std::unique_ptr<raw_pwrite_stream> ; |
34 | |
35 | /// The product this action is extracting API information for. |
36 | std::string ; |
37 | |
38 | /// The synthesized input buffer that contains all the provided input header |
39 | /// files. |
40 | std::unique_ptr<llvm::MemoryBuffer> ; |
41 | |
42 | /// The list of symbols to ignore during serialization |
43 | extractapi::APIIgnoresList ; |
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 (); |
50 | }; |
51 | |
52 | } // namespace clang |
53 | |
54 | #endif // LLVM_CLANG_EXTRACTAPI_ACTION_BASE_H |
55 | |