A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://clang.llvm.org/doxygen/ProgramPoint_8cpp_source.html below:

clang: lib/Analysis/ProgramPoint.cpp Source File

19using namespace clang

;

28

llvm_unreachable(

"Unhandled ProgramPoint kind"

);

57 const bool

AddQuotes =

true

;

59

Out <<

"\"kind\": \""

;

62

Out <<

"BlockEntrance\"" 64

<< castAs<BlockEntrance>().getBlock()->getBlockID();

68 auto

FEP = getAs<FunctionExitPoint>();

69

Out <<

"FunctionExit\"" 70

<<

", \"block_id\": "

<< FEP->getBlock()->getBlockID()

71

<<

", \"stmt_id\": "

;

74

Out << RS->getID(Context) <<

", \"stmt\": "

;

75

RS->printJson(Out,

nullptr

, PP, AddQuotes);

77

Out <<

"null, \"stmt\": null"

;

82

llvm_unreachable(

"BlockExitKind"

);

85

Out <<

"CallEnter\", \"callee_decl\": \""

;

87

castAs<CallEnter>().getCalleeContext()->getDecl())

91

Out <<

"CallExitBegin\""

;

94

Out <<

"CallExitEnd\""

;

97

Out <<

"EpsilonPoint\""

;

101

Out <<

"LoopExit\", \"stmt\": \"" 102

<< castAs<LoopExit>().getLoopStmt()->getStmtClassName() <<

'\"'

;

107

Out <<

"PreCall\", \"decl\": \"" 109

<<

"\", \"location\": "

;

116

Out <<

"PostCall\", \"decl\": \"" 118

<<

"\", \"location\": "

;

124

Out <<

"PostInitializer\", "

;

127

Out <<

"\"field_decl\": \""

<< *FD <<

'\"'

;

129

Out <<

"\"type\": \""

;

140 const Stmt

*

T

=

E

.getSrc()->getTerminatorStmt();

141

Out <<

"Edge\", \"src_id\": "

<<

E

.getSrc()->getBlockID()

142

<<

", \"dst_id\": "

<<

E

.getDst()->getBlockID() <<

", \"terminator\": "

;

145

Out <<

"null, \"term_kind\": null"

;

149 E

.getSrc()->printTerminatorJson(Out, Context.

getLangOpts

(),

151

Out <<

", \"location\": "

;

154

Out <<

", \"term_kind\": \""

;

155 if

(isa<SwitchStmt>(

T

)) {

156

Out <<

"SwitchStmt\", \"case\": "

;

157 if

(

const Stmt

*

Label

=

E

.getDst()->getLabel()) {

158 if

(

const auto

*

C

= dyn_cast<CaseStmt>(

Label

)) {

159

Out <<

"{ \"lhs\": "

;

160 if

(

const Stmt

*LHS =

C

->getLHS()) {

161

LHS->printJson(Out,

nullptr

, PP, AddQuotes);

166

Out <<

", \"rhs\": "

;

167 if

(

const Stmt

*RHS =

C

->getRHS()) {

168

RHS->printJson(Out,

nullptr

, PP, AddQuotes);

174

assert(isa<DefaultStmt>(

Label

));

175

Out <<

"\"default\""

;

178

Out <<

"\"implicit default\""

;

180

}

else if

(isa<IndirectGotoStmt>(

T

)) {

182

Out <<

"IndirectGotoStmt\""

;

184

Out <<

"Condition\", \"value\": " 185

<< (*

E

.getSrc()->succ_begin() ==

E

.getDst() ?

"true"

:

"false"

);

191 const Stmt

*S = castAs<StmtPoint>().getStmt();

192

assert(S !=

nullptr

&&

"Expecting non-null Stmt"

);

194

Out <<

"Statement\", \"stmt_kind\": \""

<< S->getStmtClassName()

195

<<

"\", \"stmt_id\": "

<< S->getID(Context)

196

<<

", \"pointer\": \""

<< (

const void

*)S <<

"\", "

;

197 if

(

const auto

*CS = dyn_cast<CastExpr>(S))

198

Out <<

"\"cast_kind\": \""

<< CS->getCastKindName() <<

"\", "

;

200

Out <<

"\"pretty\": "

;

202

S->printJson(Out,

nullptr

, PP, AddQuotes);

204

Out <<

", \"location\": "

;

207

Out <<

", \"stmt_point_kind\": \""

;

208 if

(getAs<PreLoad>())

210 else if

(getAs<PreStore>())

212 else if

(getAs<PostAllocatorCall>())

213

Out <<

"PostAllocatorCall"

;

214 else if

(getAs<PostCondition>())

215

Out <<

"PostCondition"

;

216 else if

(getAs<PostLoad>())

218 else if

(getAs<PostLValue>())

219

Out <<

"PostLValue"

;

220 else if

(getAs<PostStore>())

222 else if

(getAs<PostStmt>())

224 else if

(getAs<PostStmtPurgeDeadSymbols>())

225

Out <<

"PostStmtPurgeDeadSymbols"

;

226 else if

(getAs<PreStmtPurgeDeadSymbols>())

227

Out <<

"PreStmtPurgeDeadSymbols"

;

228 else if

(getAs<PreStmt>())

231

Out <<

"\nKind: '"

<<

getKind

();

232

llvm_unreachable(

"' is unhandled StmtPoint kind!"

);

243

: Desc((MsgProvider +

" : "

+ Msg).str()) {}

Defines the clang::ASTContext interface.

This file defines AnalysisDeclContext, a class that manages the analysis context data for context sen...

Holds long-lived AST nodes (such as types and decls) that can be referred to throughout the semantic ...

SourceManager & getSourceManager()

const LangOptions & getLangOpts() const

const clang::PrintingPolicy & getPrintingPolicy() const

static std::string getFunctionName(const Decl *D)

ASTContext & getASTContext() const

Represents a C++ base or member initializer.

FunctionDecl * getAsFunction() LLVM_READONLY

Returns the function itself, or the templated function if this is a function template.

Represents a member of a struct/union/class.

Represents an implicit call event.

SourceLocation getLocation() const

const Decl * getDecl() const

It wraps the AnalysisDeclContext to represent both the call stack with the help of StackFrameContext ...

LLVM_ATTRIBUTE_RETURNS_NONNULL AnalysisDeclContext * getAnalysisDeclContext() const

std::string getQualifiedNameAsString() const

Represents a point after we ran remove dead bindings AFTER processing the given statement.

Represents a point after we ran remove dead bindings BEFORE processing the given statement.

ProgramPoints can be "tagged" as representing points specific to a given analysis entity.

virtual ~ProgramPointTag()

static ProgramPoint getProgramPoint(const Stmt *S, ProgramPoint::Kind K, const LocationContext *LC, const ProgramPointTag *tag)

LLVM_DUMP_METHOD void dump() const

void printJson(llvm::raw_ostream &Out, const char *NL="\n") const

@ PreStmtPurgeDeadSymbolsKind

@ PostStmtPurgeDeadSymbolsKind

const LocationContext * getLocationContext() const

A (possibly-)qualified type.

QualType getLocalUnqualifiedType() const

Return this type with all of the instance-specific qualifiers removed, but without removing any quali...

void print(raw_ostream &OS, const PrintingPolicy &Policy, const Twine &PlaceHolder=Twine(), unsigned Indentation=0) const

ReturnStmt - This represents a return, optionally of an expression: return; return 4;.

SimpleProgramPointTag(StringRef MsgProvider, StringRef Msg)

StringRef getTagDescription() const override

This class handles loading and caching of source files into memory.

Stmt - This represents one statement.

The JSON file list parser is used to communicate input to InstallAPI.

void printSourceLocationAsJson(raw_ostream &Out, SourceLocation Loc, const SourceManager &SM, bool AddBraces=true)

const FunctionProtoType * T

Describes how types, statements, expressions, and declarations should be printed.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4