clang: include/clang/InstallAPI/Frontend.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13#ifndef LLVM_CLANG_INSTALLAPI_FRONTEND_H

14#define LLVM_CLANG_INSTALLAPI_FRONTEND_H

15

22#include "llvm/ADT/Twine.h"

23#include "llvm/Support/MemoryBuffer.h"

24

26namespace installapi {

27

28

29

30std::unique_ptrllvm::MemoryBuffer createInputBuffer(InstallAPIContext &Ctx);

31

33public:

35

37 StringRef InFile) override {

40 return std::make_unique(

42 }

43

44private:

46};

47}

48}

49

50#endif

Abstract base class to use for AST consumer-based frontend actions.

CompilerInstance - Helper class for managing a single instance of the Clang compiler.

Preprocessor & getPreprocessor() const

Return the current preprocessor.

ASTContext & getASTContext() const

LangOptions & getLangOpts()

SourceManager & getSourceManager() const

Return the current source manager.

IntrusiveRefCntPtr< SourceManager > getSourceManagerPtr() const

virtual void BeginSourceFile(const LangOptions &LangOpts, const Preprocessor *PP=nullptr)

Callback to inform the diagnostic client that processing of a source file is beginning.

DiagnosticConsumer * getClient()

std::unique_ptr< ASTConsumer > CreateASTConsumer(CompilerInstance &CI, StringRef InFile) override

Create the AST consumer object for this action, if supported.

InstallAPIAction(InstallAPIContext &Ctx)

std::unique_ptr< llvm::MemoryBuffer > createInputBuffer(InstallAPIContext &Ctx)

Create a buffer that contains all headers to scan for global symbols with.

The JSON file list parser is used to communicate input to InstallAPI.

Struct used for generating validating InstallAPI.

std::unique_ptr< DylibVerifier > Verifier

Verifier when binary dylib is passed as input.

DiagnosticsEngine * Diags

DiagnosticsEngine for all error reporting.