Lines Matching defs:ExceptionInfo
38 class ExceptionInfo {
41 static ExceptionInfo createUnknown() { return {State::Unknown}; }
42 static ExceptionInfo createNonThrowing() { return {State::Throwing}; }
46 ExceptionInfo() : Behaviour(State::NotThrowing), ContainsUnknown(false) {}
47 ExceptionInfo(State S)
50 ExceptionInfo(const ExceptionInfo &) = default;
51 ExceptionInfo &operator=(const ExceptionInfo &) = default;
52 ExceptionInfo(ExceptionInfo &&) = default;
53 ExceptionInfo &operator=(ExceptionInfo &&) = default;
66 /// for example a function contains multiple statements the 'ExceptionInfo'
71 ExceptionInfo &merge(const ExceptionInfo &Other);
82 ExceptionInfo &
104 /// Keep track if the entity related to this 'ExceptionInfo' can in
125 ExceptionInfo analyze(const FunctionDecl *Func);
126 ExceptionInfo analyze(const Stmt *Stmt);
129 ExceptionInfo
131 const ExceptionInfo::Throwables &Caught,
133 ExceptionInfo
134 throwsException(const Stmt *St, const ExceptionInfo::Throwables &Caught,
137 ExceptionInfo analyzeImpl(const FunctionDecl *Func);
138 ExceptionInfo analyzeImpl(const Stmt *Stmt);
140 template <typename T> ExceptionInfo analyzeDispatch(const T *Node);
144 llvm::DenseMap<const FunctionDecl *, ExceptionInfo> FunctionCache{32U};