Bug 1874684 - Part 17: Fix uninitialised variable warnings from clang-tidy. r=allstarschh
[gecko.git] / build / clang-plugin / MustReturnFromCallerChecker.h
blob68630bf7a7a6c55725e082eb689b507248eff133
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 #ifndef MustReturnFromCallerChecker_h__
6 #define MustReturnFromCallerChecker_h__
8 #include "RecurseGuard.h"
9 #include "StmtToBlockMap.h"
10 #include "Utils.h"
11 #include "plugin.h"
13 class MustReturnFromCallerChecker : public BaseCheck {
14 public:
15 MustReturnFromCallerChecker(StringRef CheckName,
16 ContextType *Context = nullptr)
17 : BaseCheck(CheckName, Context) {}
18 void registerMatchers(MatchFinder *AstMatcher) override;
19 void check(const MatchFinder::MatchResult &Result) override;
21 private:
22 bool isIgnorable(const Stmt *S);
23 bool immediatelyReturns(RecurseGuard<const CFGBlock *> Block,
24 ASTContext *TheContext, size_t FromIdx);
27 #endif