|
reference, declaration → definition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
|
Derived Classes
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h 116 class SymbolData : public SymExpr {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h 254 class SymbolCast : public SymExpr {
303 class BinarySymExpr : public SymExpr {
References
include/llvm/ADT/FoldingSet.h 221 static void Profile(const T &X, FoldingSetNodeID &ID) {
224 static void Profile(T &X, FoldingSetNodeID &ID) {
232 static inline bool Equals(T &X, const FoldingSetNodeID &ID, unsigned IDHash,
240 static inline unsigned ComputeHash(T &X, FoldingSetNodeID &TempID);
250 : public DefaultFoldingSetTrait<T> {};
369 FoldingSetTrait<T>::Profile(X, TempID);
375 FoldingSetTrait<T>::Profile(X, TempID);
410 using iterator = FoldingSetIterator<T>;
415 using const_iterator = FoldingSetIterator<const T>;
420 using bucket_iterator = FoldingSetBucketIterator<T>;
432 bool RemoveNode(T *N) { return FoldingSetBase::RemoveNode(N); }
437 T *GetOrInsertNode(T *N) {
437 T *GetOrInsertNode(T *N) {
444 T *FindNodeOrInsertPos(const FoldingSetNodeID &ID, void *&InsertPos) {
451 void InsertNode(T *N, void *InsertPos) {
457 void InsertNode(T *N) {
473 template <class T> class FoldingSet final : public FoldingSetImpl<T> {
474 using Super = FoldingSetImpl<T>;
480 T *TN = static_cast<T *>(N);
481 FoldingSetTrait<T>::Profile(*TN, ID);
488 T *TN = static_cast<T *>(N);
489 return FoldingSetTrait<T>::Equals(*TN, ID, IDHash, TempID);
495 T *TN = static_cast<T *>(N);
496 return FoldingSetTrait<T>::ComputeHash(*TN, TempID);
include/llvm/Support/Casting.h 57 static inline bool doit(const From &Val) {
104 static inline bool doit(const From *Val) {
106 return isa_impl<To, From>::doit(*Val);
106 return isa_impl<To, From>::doit(*Val);
122 return isa_impl_wrap<To, SimpleFrom,
132 return isa_impl_cl<To,FromTy>::doit(Val);
142 return isa_impl_wrap<X, const Y,
176 using ret_type = const To *; // Constant pointer arg case, return const Ty*
198 using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
204 using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
210 To, From, typename simplify_type<From>::SimpleType>::ret_type;
227 static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
228 typename cast_retty<To, FromTy>::ret_type Res2
256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
265 return cast_convert_val<X, Y*,
265 return cast_convert_val<X, Y*,
266 typename simplify_type<Y*>::SimpleType>::doit(Val);
include/llvm/Support/PointerLikeTypeTraits.h 56 static inline void *getAsVoidPointer(T *P) { return P; }
57 static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
59 enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
91 typedef PointerLikeTypeTraits<T *> NonConst;
93 static inline const void *getAsVoidPointer(const T *P) {
96 static inline const T *getFromVoidPointer(const void *P) {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h 871 bool scan(const SymExpr *sym);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConstraintManager.h 252 const SymExpr *Sym = SymVal->getSymbol();
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h 93 bool haveSameType(const SymExpr *Sym1, const SymExpr *Sym2) {
93 bool haveSameType(const SymExpr *Sym1, const SymExpr *Sym2) {
322 NonLoc makeNonLoc(const SymExpr *lhs, BinaryOperator::Opcode op,
326 const SymExpr *lhs, QualType type);
328 NonLoc makeNonLoc(const SymExpr *lhs, BinaryOperator::Opcode op,
329 const SymExpr *rhs, QualType type);
332 NonLoc makeNonLoc(const SymExpr *operand, QualType fromTy, QualType toTy);
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h 187 const SymExpr *getAsSymbolicExpression() const;
189 const SymExpr *getAsSymExpr() const;
199 SymExpr::symbol_iterator symbol_begin() const {
200 const SymExpr *SE = getAsSymbol(/*IncludeBaseRegions=*/true);
207 SymExpr::symbol_iterator symbol_end() const {
208 return SymExpr::symbol_end();
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h 71 SmallVector<const SymExpr *, 5> itr;
77 symbol_iterator(const SymExpr *SE);
80 const SymExpr *operator*();
105 const clang::ento::SymExpr *SE) {
110 using SymbolRef = const SymExpr *;
116 class SymbolData : public SymExpr {
136 static inline bool classof(const SymExpr *SE) {
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h 68 static bool classof(const SymExpr *SE) {
120 static bool classof(const SymExpr *SE) {
159 static bool classof(const SymExpr *SE) {
192 static bool classof(const SymExpr *SE) {
248 static bool classof(const SymExpr *SE) {
254 class SymbolCast : public SymExpr {
255 const SymExpr *Operand;
264 SymbolCast(const SymExpr *In, QualType From, QualType To)
280 const SymExpr *getOperand() const { return Operand; }
285 const SymExpr *In, QualType From, QualType To) {
297 static bool classof(const SymExpr *SE) {
303 class BinarySymExpr : public SymExpr {
325 static bool classof(const SymExpr *SE) {
333 const SymExpr *LHS;
337 SymIntExpr(const SymExpr *lhs, BinaryOperator::Opcode op,
345 const SymExpr *getLHS() const { return LHS; }
354 static void Profile(llvm::FoldingSetNodeID& ID, const SymExpr *lhs,
369 static bool classof(const SymExpr *SE) {
377 const SymExpr *RHS;
381 const SymExpr *rhs, QualType t)
388 const SymExpr *getRHS() const { return RHS; }
398 BinaryOperator::Opcode op, const SymExpr *rhs,
412 static bool classof(const SymExpr *SE) {
419 const SymExpr *LHS;
420 const SymExpr *RHS;
423 SymSymExpr(const SymExpr *lhs, BinaryOperator::Opcode op, const SymExpr *rhs,
423 SymSymExpr(const SymExpr *lhs, BinaryOperator::Opcode op, const SymExpr *rhs,
430 const SymExpr *getLHS() const { return LHS; }
431 const SymExpr *getRHS() const { return RHS; }
441 static void Profile(llvm::FoldingSetNodeID& ID, const SymExpr *lhs,
442 BinaryOperator::Opcode op, const SymExpr *rhs, QualType t) {
455 static bool classof(const SymExpr *SE) {
461 using DataSetTy = llvm::FoldingSet<SymExpr>;
514 const SymbolCast* getCastSymbol(const SymExpr *Operand,
517 const SymIntExpr *getSymIntExpr(const SymExpr *lhs, BinaryOperator::Opcode op,
520 const SymIntExpr *getSymIntExpr(const SymExpr &lhs, BinaryOperator::Opcode op,
527 const SymExpr *rhs, QualType t);
529 const SymSymExpr *getSymSymExpr(const SymExpr *lhs, BinaryOperator::Opcode op,
530 const SymExpr *rhs, QualType t);
532 QualType getType(const SymExpr *SE) const {
tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp 2373 for (SymExpr::symbol_iterator si = Len.symbol_begin(),
tools/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp 347 Optional<std::string> lookup(const SymExpr *S) {
355 Optional<std::string> VisitSymExpr(const SymExpr *S) {
tools/clang/lib/StaticAnalyzer/Checkers/Taint.cpp 127 if (const SymExpr *Sym = V.getAsSymExpr())
159 for (SymExpr::symbol_iterator SI = Sym->symbol_begin(),
tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp 551 bool ScanReachableSymbols::scan(const SymExpr *sym) {
552 for (SymExpr::symbol_iterator SI = sym->symbol_begin(),
580 if (const SymExpr *Sym = val.getAsSymbolicExpression())
tools/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp 339 const SymExpr *SE = SymVal->getSymbol();
tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp 67 NonLoc SValBuilder::makeNonLoc(const SymExpr *lhs, BinaryOperator::Opcode op,
78 BinaryOperator::Opcode op, const SymExpr *rhs,
85 NonLoc SValBuilder::makeNonLoc(const SymExpr *lhs, BinaryOperator::Opcode op,
86 const SymExpr *rhs, QualType type) {
92 NonLoc SValBuilder::makeNonLoc(const SymExpr *operand,
380 const SymExpr *symLHS = LHS.getAsSymExpr();
381 const SymExpr *symRHS = RHS.getAsSymExpr();
495 const SymExpr *se = val.getAsSymbolicExpression();
tools/clang/lib/StaticAnalyzer/Core/SVals.cpp 137 const SymExpr *SVal::getAsSymbolicExpression() const {
144 const SymExpr* SVal::getAsSymExpr() const {
145 const SymExpr* Sym = getAsSymbol();
tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp 53 SVal MakeSymIntVal(const SymExpr *LHS, BinaryOperator::Opcode op,
89 if (const SymExpr *se = val.getAsSymbolicExpression()) {
217 SVal SimpleSValBuilder::MakeSymIntVal(const SymExpr *LHS,
tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp 123 SymExpr::symbol_iterator::symbol_iterator(const SymExpr *SE) {
127 SymExpr::symbol_iterator &SymExpr::symbol_iterator::operator++() {
139 const SymExpr *SE = itr.pop_back_val();
142 case SymExpr::SymbolRegionValueKind:
143 case SymExpr::SymbolConjuredKind:
144 case SymExpr::SymbolDerivedKind:
145 case SymExpr::SymbolExtentKind:
146 case SymExpr::SymbolMetadataKind:
148 case SymExpr::SymbolCastKind:
151 case SymExpr::SymIntExprKind:
154 case SymExpr::IntSymExprKind:
157 case SymExpr::SymSymExprKind: {
172 SymExpr *SD = DataSet.FindNodeOrInsertPos(profile, InsertPos);
191 SymExpr *SD = DataSet.FindNodeOrInsertPos(profile, InsertPos);
208 SymExpr *SD = DataSet.FindNodeOrInsertPos(profile, InsertPos);
224 SymExpr *SD = DataSet.FindNodeOrInsertPos(profile, InsertPos);
242 SymExpr *SD = DataSet.FindNodeOrInsertPos(profile, InsertPos);
254 SymbolManager::getCastSymbol(const SymExpr *Op,
259 SymExpr *data = DataSet.FindNodeOrInsertPos(ID, InsertPos);
269 const SymIntExpr *SymbolManager::getSymIntExpr(const SymExpr *lhs,
276 SymExpr *data = DataSet.FindNodeOrInsertPos(ID, InsertPos);
289 const SymExpr *rhs,
294 SymExpr *data = DataSet.FindNodeOrInsertPos(ID, InsertPos);
305 const SymSymExpr *SymbolManager::getSymSymExpr(const SymExpr *lhs,
307 const SymExpr *rhs,
312 SymExpr *data = DataSet.FindNodeOrInsertPos(ID, InsertPos);
471 case SymExpr::SymbolRegionValueKind:
474 case SymExpr::SymbolConjuredKind:
477 case SymExpr::SymbolDerivedKind:
480 case SymExpr::SymbolExtentKind:
483 case SymExpr::SymbolMetadataKind:
489 case SymExpr::SymIntExprKind:
492 case SymExpr::IntSymExprKind:
495 case SymExpr::SymSymExprKind:
499 case SymExpr::SymbolCastKind:
usr/include/c++/7.4.0/type_traits 1558 { typedef _Tp type; };
1983 { typedef _Up type; };