reference, declarationdefinition
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; };