Changeset View
Changeset View
Standalone View
Standalone View
clang-tools-extra/clang-tidy/readability/UseEarlyExitsCheck.h
- This file was added.
//===--- UseEarlyExitsCheck.h - clang-tidy ----------------------*- C++ -*-===// | |||||
// | |||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. | |||||
// See https://llvm.org/LICENSE.txt for license information. | |||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception | |||||
// | |||||
//===----------------------------------------------------------------------===// | |||||
#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_READABILITY_USEEARLYEXITSCHECK_H | |||||
#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_READABILITY_USEEARLYEXITSCHECK_H | |||||
#include "../ClangTidyCheck.h" | |||||
namespace clang { | |||||
namespace tidy { | |||||
namespace readability { | |||||
/// Finds `if` statements inside functions and loops that could be flipped to | |||||
/// make an early exit. | |||||
/// | |||||
/// For the user-facing documentation see: | |||||
/// http://clang.llvm.org/extra/clang-tidy/checks/readability/use-early-exits.html | |||||
class UseEarlyExitsCheck : public ClangTidyCheck { | |||||
public: | |||||
UseEarlyExitsCheck(StringRef Name, ClangTidyContext *Context); | |||||
void storeOptions(ClangTidyOptions::OptionMap &Opts) override; | |||||
void registerMatchers(ast_matchers::MatchFinder *Finder) override; | |||||
void check(const ast_matchers::MatchFinder::MatchResult &Result) override; | |||||
unsigned getLineCountThreshold() const { return LineCountThreshold; } | |||||
bool getSplitConjunctions() const { return SplitConjunctions; } | |||||
bool getWrapInBraces() const { return WrapInBraces; } | |||||
private: | |||||
const unsigned LineCountThreshold; | |||||
const bool SplitConjunctions; | |||||
const bool WrapInBraces; | |||||
}; | |||||
} // namespace readability | |||||
} // namespace tidy | |||||
} // namespace clang | |||||
#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_READABILITY_USEEARLYEXITSCHECK_H |