TypeDeclResolver
Implements DeclResolver for types (typedefs, structs enums) used in target regions.
#include <DeclResolver.h>
Inherits from DeclResolver
Private Functions
Name | |
---|---|
virtual void | runOwnVisitor(clang::Decl * D, std::function< void(clang::Decl *Dep)> Fn) override With this function, the resolver runs a visitor on the declaration added to find and add all declarations that the added declaration depends on and adds them to the resolver. |
Additional inherited members
Public Functions inherited from DeclResolver
Name | |
---|---|
virtual | ~DeclResolver() =0 |
void | addDecl(clang::Decl * D) Records a Decl and automatically adds all Decls that this Decl depends on. |
void | orderAndAddFragments(TargetCode & TC) Creates a TargetCodeFragment for each recorded Decl and adds them to the TargetCode object in the correct order. |
Protected Functions inherited from DeclResolver
Name | |
---|---|
virtual void | findDependDecls(clang::Decl * D, std::unordered_set< clang::Decl * > & UnresolvedDecls) This function uses a visitor to find references to other declarations in the declaration being added. |
Private Functions inherited from DeclResolver
Name | |
---|---|
void | topoSort(std::stack< clang::Decl * > & q) This functions does a topological sorting on the dependency graph of all Decls recorded into this object by calling addDecl. |
void | topoSortUtil(std::stack< clang::Decl * > & q, std::map< clang::Decl *, bool > & visited, clang::Decl * D) Helper function for topoSort, to do an recursive DFS. |
Private Attributes inherited from DeclResolver
Name | |
---|---|
DeclMap | AllDecls Records all declarations added to the resolver. |
std::set< clang::Decl * > | NonDependentDecls All declarations which do not depend on other declarations. |
std::set< std::string > | RequiredSystemHeaders When a declaration is inside a system header, that header is recorded here instead of the declaratoin. |
Private Functions Documentation
function runOwnVisitor
1 2 3 4 |
|
With this function, the resolver runs a visitor on the declaration added to find and add all declarations that the added declaration depends on and adds them to the resolver.
Reimplements: DeclResolver::runOwnVisitor
Last update: 2021-11-24