blob: be05e1c86ffdae6d8526abddd04c5cc8a51623de [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 Tee8b58e192022-08-02 10:15:40 -070015ast_matchers::internal::Matcher<Stmt> isMemberOfPointerType();
16ast_matchers::internal::Matcher<Stmt> isPointerArrow();
Wei Yi Teecebc2262022-06-10 04:27:57 -070017ast_matchers::internal::Matcher<Stmt> isCXXThisExpr();
Wei Yi Tee1cd62af2022-06-09 00:56:46 -070018ast_matchers::internal::Matcher<Stmt> isNullPointerLiteral();
19ast_matchers::internal::Matcher<Stmt> isAddrOf();
Wei Yi Tee543af742022-06-01 06:52:24 -070020ast_matchers::internal::Matcher<Stmt> isPointerDereference();
Wei Yi Tee1cd62af2022-06-09 00:56:46 -070021ast_matchers::internal::Matcher<Stmt> isPointerCheckBinOp();
22ast_matchers::internal::Matcher<Stmt> isImplicitCastPointerToBool();
Wei Yi Teec1e1d862022-08-19 14:11:28 -070023ast_matchers::internal::Matcher<Stmt> isCallExpr();
Wei Yi Teeed480d62022-08-26 03:19:54 -070024ast_matchers::internal::Matcher<Stmt> isPointerReturn();
Wei Yi Teec1e1d862022-08-19 14:11:28 -070025
Wei Yi Tee543af742022-06-01 06:52:24 -070026} // namespace nullability
27} // namespace tidy
28} // namespace clang
29
30#endif // CRUBIT_NULLABILITY_VERIFICATION_POINTER_NULLABILITY_MATCHERS_H_