tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

OverrideBaseCallChecker.h (1065B)


      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/. */
      4 
      5 #ifndef OverrideBaseCallChecker_h__
      6 #define OverrideBaseCallChecker_h__
      7 
      8 #include "plugin.h"
      9 
     10 class OverrideBaseCallChecker : public BaseCheck {
     11 public:
     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;
     16 
     17 private:
     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);
     25 };
     26 
     27 #endif