blob: 23b42b8c33c401f89945f83847e3945267a73a55 [file] [log] [blame]
Wei Yi Tee543af742022-06-01 06:52:24 -07001// Part of the Crubit project, under the Apache License v2.0 with LLVM
2// Exceptions. See /LICENSE for license information.
3// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
4
5#ifndef CRUBIT_NULLABILITY_VERIFICATION_POINTER_NULLABILITY_MATCHERS_H_
6#define CRUBIT_NULLABILITY_VERIFICATION_POINTER_NULLABILITY_MATCHERS_H_
7
8#include "clang/ASTMatchers/ASTMatchersInternal.h"
9
10namespace clang {
11namespace tidy {
12namespace nullability {
13
Wei Yi Tee1cd62af2022-06-09 00:56:46 -070014ast_matchers::internal::Matcher<Stmt> isPointerVariableReference();
Wei Yi Teef02698e2022-06-10 04:25:48 -070015ast_matchers::internal::Matcher<Stmt> isMemberExprInvolvingPointers();
Wei Yi Teecebc2262022-06-10 04:27:57 -070016ast_matchers::internal::Matcher<Stmt> isCXXThisExpr();
Wei Yi Tee1cd62af2022-06-09 00:56:46 -070017ast_matchers::internal::Matcher<Stmt> isNullPointerLiteral();
18ast_matchers::internal::Matcher<Stmt> isAddrOf();
Wei Yi Tee543af742022-06-01 06:52:24 -070019ast_matchers::internal::Matcher<Stmt> isPointerDereference();
Wei Yi Tee1cd62af2022-06-09 00:56:46 -070020ast_matchers::internal::Matcher<Stmt> isPointerCheckBinOp();
21ast_matchers::internal::Matcher<Stmt> isImplicitCastPointerToBool();
Wei Yi Tee543af742022-06-01 06:52:24 -070022} // namespace nullability
23} // namespace tidy
24} // namespace clang
25
26#endif // CRUBIT_NULLABILITY_VERIFICATION_POINTER_NULLABILITY_MATCHERS_H_