clang-tools 22.0.0git
UncheckedStatusOrAccessCheck.h
Go to the documentation of this file.
1#ifndef LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_ABSEIL_UNCHECKEDSTATUSORACCESSCHECK_H
2#define LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_ABSEIL_UNCHECKEDSTATUSORACCESSCHECK_H
3
4#include "../ClangTidyCheck.h"
5#include "clang/ASTMatchers/ASTMatchFinder.h"
6
7namespace clang::tidy::abseil {
8
9// Warns when the code is unwrapping an absl::StatusOr<T> object without
10// assuring that it contains a value.
11//
12// For details on the dataflow analysis implemented in this check see:
13// clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
15public:
16 using ClangTidyCheck::ClangTidyCheck;
17 void registerMatchers(ast_matchers::MatchFinder *Finder) override;
18 void check(const ast_matchers::MatchFinder::MatchResult &Result) override;
19 bool isLanguageVersionSupported(const LangOptions &LangOpts) const override;
20};
21
22} // namespace clang::tidy::abseil
23
24#endif // LLVM_CLANG_TOOLS_EXTRA_CLANG_TIDY_ABSEIL_UNCHECKEDSTATUSORACCESSCHECK_H
void registerMatchers(ast_matchers::MatchFinder *Finder) override
bool isLanguageVersionSupported(const LangOptions &LangOpts) const override
void check(const ast_matchers::MatchFinder::MatchResult &Result) override