class ParseModelFileAction

Declaration

class ParseModelFileAction : public ASTFrontendAction { /* full declaration omitted */ };

Description

Frontend action to parse model files. This frontend action is responsible for parsing model files. Model files can not be parsed on their own, they rely on type information that is available in another translation unit. The parsing of model files is done by a separate compiler instance that reuses the ASTContext and othen information from the main translation unit that is being compiled. After a model file is parsed, the function definitions will be collected into a StringMap.

Declared at: clang/include/clang/StaticAnalyzer/Frontend/FrontendActions.h:40

Inherits from: ASTFrontendAction

Member Variables

private llvm::StringMap<Stmt*>& Bodies

Method Overview

Inherited from ASTFrontendAction:

Inherited from FrontendAction:

Methods

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

Description

Create the AST consumer object for this action, if supported. This routine is called as part of BeginSourceFile(), which will fail if the AST consumer cannot be created. This will not be called if the action has indicated that it only uses the preprocessor.

Declared at: clang/include/clang/StaticAnalyzer/Frontend/FrontendActions.h:46

Parameters

clang::CompilerInstance& CI
- The current compiler instance, provided as a convenience, see getCompilerInstance().
llvm::StringRef InFile
- The current input file, provided as a convenience, see getCurrentFile().

Returns

The new AST consumer, or null on failure.

ParseModelFileAction(
    llvm::StringMap<Stmt*>& Bodies)

Declared at: clang/include/clang/StaticAnalyzer/Frontend/FrontendActions.h:42

Parameters

llvm::StringMap<Stmt*>& Bodies

bool isModelParsingAction() const

Description

Is this action invoked on a model file? Model files are incomplete translation units that relies on type information from another translation unit. Check ParseModelFileAction for details.

Declared at: clang/include/clang/StaticAnalyzer/Frontend/FrontendActions.h:43