Coverage Report

Created: 2023-05-31 04:38

/Users/buildslave/jenkins/workspace/coverage/llvm-project/clang/include/clang/Analysis/FlowSensitive/NoopLattice.h
Line
Count
Source (jump to first uncovered line)
1
//===-- NoopLattice.h -------------------------------------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
//  This file defines the lattice with exactly one element.
10
//
11
//===----------------------------------------------------------------------===//
12
13
#ifndef LLVM_CLANG_ANALYSIS_FLOWSENSITIVE_NOOP_LATTICE_H
14
#define LLVM_CLANG_ANALYSIS_FLOWSENSITIVE_NOOP_LATTICE_H
15
16
#include "clang/Analysis/FlowSensitive/DataflowLattice.h"
17
#include <ostream>
18
19
namespace clang {
20
namespace dataflow {
21
22
/// Trivial lattice for dataflow analysis with exactly one element.
23
///
24
/// Useful for analyses that only need the Environment and nothing more.
25
class NoopLattice {
26
public:
27
162
  bool operator==(const NoopLattice &Other) const { return true; }
28
29
745
  LatticeJoinEffect join(const NoopLattice &Other) {
30
745
    return LatticeJoinEffect::Unchanged;
31
745
  }
32
};
33
34
0
inline std::ostream &operator<<(std::ostream &OS, const NoopLattice &) {
35
0
  return OS << "noop";
36
0
}
37
38
} // namespace dataflow
39
} // namespace clang
40
41
#endif // LLVM_CLANG_ANALYSIS_FLOWSENSITIVE_NOOP_LATTICE_H