clang
3.7.0
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
work
release_test
rc4
llvm.src
tools
clang
lib
Analysis
ProgramPoint.cpp
Go to the documentation of this file.
1
//==- ProgramPoint.cpp - Program Points for Path-Sensitive Analysis -*- C++ -*-/
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 defines the interface ProgramPoint, which identifies a
11
// distinct location in a function.
12
//
13
//===----------------------------------------------------------------------===//
14
15
#include "
clang/Analysis/ProgramPoint.h
"
16
17
using namespace
clang;
18
19
ProgramPointTag::~ProgramPointTag
() {}
20
21
ProgramPoint
ProgramPoint::getProgramPoint
(
const
Stmt
*
S
,
ProgramPoint::Kind
K,
22
const
LocationContext
*LC,
23
const
ProgramPointTag
*tag){
24
switch
(K) {
25
default
:
26
llvm_unreachable(
"Unhandled ProgramPoint kind"
);
27
case
ProgramPoint::PreStmtKind
:
28
return
PreStmt
(S, LC, tag);
29
case
ProgramPoint::PostStmtKind
:
30
return
PostStmt
(S, LC, tag);
31
case
ProgramPoint::PreLoadKind
:
32
return
PreLoad
(S, LC, tag);
33
case
ProgramPoint::PostLoadKind
:
34
return
PostLoad
(S, LC, tag);
35
case
ProgramPoint::PreStoreKind
:
36
return
PreStore
(S, LC, tag);
37
case
ProgramPoint::PostLValueKind
:
38
return
PostLValue
(S, LC, tag);
39
case
ProgramPoint::PostStmtPurgeDeadSymbolsKind
:
40
return
PostStmtPurgeDeadSymbols
(S, LC, tag);
41
case
ProgramPoint::PreStmtPurgeDeadSymbolsKind
:
42
return
PreStmtPurgeDeadSymbols
(S, LC, tag);
43
}
44
}
45
46
SimpleProgramPointTag::SimpleProgramPointTag
(StringRef MsgProvider,
47
StringRef Msg)
48
: Desc((MsgProvider +
" : "
+ Msg).str()) {}
49
50
StringRef
SimpleProgramPointTag::getTagDescription
()
const
{
51
return
Desc;
52
}
clang::ProgramPoint::PreStmtPurgeDeadSymbolsKind
Definition:
ProgramPoint.h:44
clang::ProgramPoint::Kind
Kind
Definition:
ProgramPoint.h:40
clang::ProgramPoint::PostLValueKind
Definition:
ProgramPoint.h:52
clang::PreStmtPurgeDeadSymbols
Definition:
ProgramPoint.h:418
clang::LocationContext
Definition:
AnalysisContext.h:210
clang::PostLValue
Definition:
ProgramPoint.h:402
Stmt
clang::PostLoad
Definition:
ProgramPoint.h:361
clang::ProgramPoint::PreStmtKind
Definition:
ProgramPoint.h:43
clang::ProgramPoint::getProgramPoint
static ProgramPoint getProgramPoint(const Stmt *S, ProgramPoint::Kind K, const LocationContext *LC, const ProgramPointTag *tag)
Definition:
ProgramPoint.cpp:21
clang::SimpleProgramPointTag::SimpleProgramPointTag
SimpleProgramPointTag(StringRef MsgProvider, StringRef Msg)
Definition:
ProgramPoint.cpp:46
clang::SimpleProgramPointTag::getTagDescription
StringRef getTagDescription() const override
Definition:
ProgramPoint.cpp:50
clang::PreStore
Definition:
ProgramPoint.h:347
clang::PostStmtPurgeDeadSymbols
Definition:
ProgramPoint.h:434
clang::PreLoad
Definition:
ProgramPoint.h:333
ProgramPoint.h
clang::ProgramPoint::PostStmtKind
Definition:
ProgramPoint.h:46
clang::ProgramPoint::PreStoreKind
Definition:
ProgramPoint.h:49
clang::ProgramPoint::PostStmtPurgeDeadSymbolsKind
Definition:
ProgramPoint.h:45
clang::PreStmt
Definition:
ProgramPoint.h:263
S
Sema & S
Definition:
AnalysisBasedWarnings.cpp:1443
clang::ProgramPointTag
Definition:
ProgramPoint.h:649
clang::ProgramPoint
Definition:
ProgramPoint.h:38
clang::PostStmt
Definition:
ProgramPoint.h:279
clang::ProgramPoint::PostLoadKind
Definition:
ProgramPoint.h:48
clang::ProgramPointTag::~ProgramPointTag
virtual ~ProgramPointTag()
Definition:
ProgramPoint.cpp:19
clang::ProgramPoint::PreLoadKind
Definition:
ProgramPoint.h:47
Generated on Mon Aug 31 2015 10:45:21 for clang by
1.8.6