blob: 552fe6a70e4ba6bf848854813334ce402d67adcf [file] [log] [blame]
Sam McCallb70563a2023-07-28 08:31:23 -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_INFERENCE_INFERRABLE_H_
6#define CRUBIT_NULLABILITY_INFERENCE_INFERRABLE_H_
7
8#include "clang/AST/DeclBase.h"
9
10namespace clang::tidy::nullability {
11
12/// Should we attempt to deduce nullability for this symbol?
13bool isInferenceTarget(const Decl &);
14
15/// The number of nullability slots in this symbol's type which can be inferred.
16///
17/// This may not be all the slots in the type: e.g. `int** X` has outer and
18/// inner nullability, we may support only inferring outer.
19int countInferrableSlots(const clang::Decl &);
20
21} // namespace clang::tidy::nullability
22
23#endif // THIRD_PARTY_CRUBIT_NULLABILITY_INFERENCE_INFERRABLE_H_