| // Part of the Crubit project, under the Apache License v2.0 with LLVM |
| // Exceptions. See /LICENSE for license information. |
| // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| |
| #ifndef THIRD_PARTY_CRUBIT_NULLABILITY_TYPE_TRANSFERER_H_ |
| #define THIRD_PARTY_CRUBIT_NULLABILITY_TYPE_TRANSFERER_H_ |
| |
| #include "nullability/pointer_nullability_lattice.h" |
| #include "clang/Analysis/FlowSensitive/CFGMatchSwitch.h" |
| #include "clang/Analysis/FlowSensitive/MatchSwitch.h" |
| |
| namespace clang::tidy::nullability { |
| // Returns a switch over CFG elements that can be used to transfer |
| // (non-flow-sensitive) type properties, i.e. to update the analysis state to |
| // account for the impact of the CFG element. |
| dataflow::CFGMatchSwitch<dataflow::TransferState<PointerNullabilityLattice>> |
| buildTypeTransferer(); |
| |
| } // namespace clang::tidy::nullability |
| |
| #endif // THIRD_PARTY_CRUBIT_NULLABILITY_TYPE_TRANSFERER_H_ |