Lines Matching defs:clang

23 #include "clang/AST/StmtVisitor.h"
28 namespace clang {
45 class RSObjectRefCount : public clang::StmtVisitor<RSObjectRefCount> {
49 clang::CompoundStmt *mCS; // Associated compound statement ({ ... })
50 std::list<clang::VarDecl*> mRSO; // Declared RS objects in this scope
53 explicit Scope(clang::CompoundStmt *CS) : mCS(CS) {
56 inline void addRSObject(clang::VarDecl* VD) {
60 void ReplaceRSObjectAssignment(clang::BinaryOperator *AS);
62 void AppendRSObjectInit(clang::VarDecl *VD,
63 clang::DeclStmt *DS,
65 clang::Expr *InitExpr);
69 static clang::Stmt *ClearRSObject(clang::VarDecl *VD,
70 clang::DeclContext *DC);
73 clang::ASTContext &mCtx;
79 static clang::FunctionDecl *RSSetObjectFD[];
80 static clang::FunctionDecl *RSClearObjectFD[];
87 static void GetRSRefCountingFunctions(clang::ASTContext &C);
91 static bool InitializeRSObject(clang::VarDecl *VD,
93 clang::Expr **InitExpr);
97 static clang::Expr *CreateZeroInitializerForRSSpecificType(
99 clang::ASTContext &C,
100 const clang::SourceLocation &Loc);
103 explicit RSObjectRefCount(clang::ASTContext &C)
115 static clang::FunctionDecl *GetRSSetObjectFD(DataType DT) {
125 static clang::FunctionDecl *GetRSSetObjectFD(const clang::Type *T) {
129 static clang::FunctionDecl *GetRSClearObjectFD(DataType DT) {
139 static clang::FunctionDecl *GetRSClearObjectFD(const clang::Type *T) {
143 void VisitStmt(clang::Stmt *S);
144 void VisitDeclStmt(clang::DeclStmt *DS);
145 void VisitCompoundStmt(clang::CompoundStmt *CS);
146 void VisitBinAssign(clang::BinaryOperator *AS);
151 clang::FunctionDecl *CreateStaticGlobalDtor();