Namespaces | Functions | Variables
CfrontCodeGenerator.cpp File Reference
#include <clang/AST/VTableBuilder.h>
#include <algorithm>
#include <vector>
#include "CodeGenerator.h"
#include "DPrint.h"
#include "Insights.h"
#include "InsightsHelpers.h"
#include "InsightsOnce.h"
#include "InsightsStrCat.h"
#include "NumberIterator.h"
#include "ASTHelpers.h"
Include dependency graph for CfrontCodeGenerator.cpp:

Go to the source code of this file.

Namespaces

 clang
 
 clang::insights
 

Functions

static MemberExpr * clang::insights::AccessMember (std::string_view name, const ValueDecl *vd, QualType type)
 
static bool clang::insights::IsCopyOrMoveCtor (const CXXConstructorDecl *ctor)
 
static bool clang::insights::IsCopyOrMoveAssign (const CXXMethodDecl *stmt)
 
static std::string clang::insights::GetSpecialMemberName (const ValueDecl *vd, QualType type)
 
std::string clang::insights::GetSpecialMemberName (const ValueDecl *vd)
 
static bool clang::insights::HasCtor (QualType t)
 
static bool clang::insights::HasDtor (QualType t)
 
static auto * clang::insights::CallVecDeleteOrDtor (Expr *objectParam, QualType allocatedType, std::string_view name, uint64_t size)
 
static auto * clang::insights::CallVecDelete (Expr *objectParam, QualType allocatedType)
 
static auto * clang::insights::CallVecDtor (Expr *objectParam, const ConstantArrayType *ar)
 
static auto * clang::insights::CallVecNewOrCtor (std::string_view ctorName, Expr *objectParam, QualType allocatedType, Expr *arraySizeExpr, std::string_view funName)
 
static auto * clang::insights::CallVecNew (std::string_view ctorName, Expr *objectParam, QualType allocatedType, Expr *arraySizeExpr)
 
static auto * clang::insights::CallVecCtor (std::string_view ctorName, const VarDecl *objectParam, QualType allocatedType, Expr *arraySizeExpr)
 
static void clang::insights::InsertVtblPtr (const CXXMethodDecl *stmt, const CXXRecordDecl *cur, StmtsContainer &bodyStmts)
 
static void clang::insights::ProcessFields (CXXRecordDecl *recordDecl, const CXXRecordDecl *rd)
 
static std::string clang::insights::GetFirstPolymorphicBaseName (const RecordDecl *decl, const RecordDecl *to)
 
static const CXXRecordDecl * clang::insights::GetFirstPolymorphicBase (const RecordDecl *decl)
 ! Find the first polymorphic base class. More...
 

Variables

static llvm::DenseMap< std::pair< const CXXRecordDecl *, const CXXRecordDecl * >, int > clang::insights::mThisPointerOffset {}
 Store the this pointer offset from derived to base class. More...