blob: 344d14d4bbea28cde9983623259891ddcd58fc63 [file] [log] [blame]
Zhongxing Xu66847a22009-09-11 04:13:42 +00001//===--- CallInliner.cpp - Transfer function that inlines callee ----------===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
10// This file implements the callee inlining transfer function.
11//
12//===----------------------------------------------------------------------===//
13
14#include "clang/Analysis/PathSensitive/GRTransferFuncs.h"
15
16using namespace clang;
17
18namespace {
19
20class VISIBILITY_HIDDEN CallInliner : public GRTransferFuncs {
21 ASTContext &Ctx;
22public:
23 CallInliner(ASTContext &ctx) : Ctx(ctx) {}
24
25 void EvalCall(ExplodedNodeSet& Dst, GRExprEngine& Engine,
26 GRStmtNodeBuilder& Builder, CallExpr* CE, SVal L,
27 ExplodedNode* Pred);
28
29};
30
31}
32
33void CallInliner::EvalCall(ExplodedNodeSet& Dst, GRExprEngine& Engine,
34 GRStmtNodeBuilder& Builder, CallExpr* CE, SVal L,
35 ExplodedNode* Pred) {
36 assert(0 && "TO BE IMPLEMENTED");
37}
38
39GRTransferFuncs *clang::CreateCallInliner(ASTContext &ctx) {
40 return new CallInliner(ctx);
41}