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 OverrideBaseCallChecker_h__
6 #define OverrideBaseCallChecker_h__
10 class OverrideBaseCallChecker
: public BaseCheck
{
12 OverrideBaseCallChecker(StringRef CheckName
, ContextType
*Context
= nullptr)
13 : BaseCheck(CheckName
, Context
) {}
14 void registerMatchers(MatchFinder
*AstMatcher
) override
;
15 void check(const MatchFinder::MatchResult
&Result
) override
;
18 void evaluateExpression(const Stmt
*StmtExpr
,
19 std::list
<const CXXMethodDecl
*> &MethodList
);
20 void getRequiredBaseMethod(const CXXMethodDecl
*Method
,
21 std::list
<const CXXMethodDecl
*> &MethodsList
);
22 void findBaseMethodCall(const CXXMethodDecl
*Method
,
23 std::list
<const CXXMethodDecl
*> &MethodsList
);
24 bool isRequiredBaseMethod(const CXXMethodDecl
*Method
);