Lines Matching +full:auto +full:- +full:range

1 //===--- Annotations.cpp - Annotated source code for unit tests --*- C++-*-===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
27 auto Require = [Text](bool Assertion, const char *Msg) { in Annotations()
38 {Code.size(), size_t(-1), Name.value_or(""), Payload.value_or("")}); in Annotations()
39 Points[Name.value_or("")].push_back(All.size() - 1); in Annotations()
46 {Code.size(), size_t(-1), Name.value_or(""), Payload.value_or("")}); in Annotations()
58 Ranges[NewRange.Name].push_back(All.size() - 1); in Annotations()
66 Text = Text.drop_front(Name->size()); in Annotations()
70 Require(Text.size() > Payload->size(), "unterminated payload"); in Annotations()
71 Text = Text.drop_front(Payload->size() + 1); in Annotations()
89 auto I = Points.find(Name); in pointWithPayload()
90 require(I != Points.end() && I->getValue().size() == 1, in pointWithPayload()
92 const Annotation &P = All[I->getValue()[0]]; in pointWithPayload()
97 auto Pts = pointsWithPayload(Name); in points()
100 for (const auto &[Point, Payload] : Pts) in points()
107 auto Iter = Points.find(Name); in pointsWithPayload()
112 Res.reserve(Iter->getValue().size()); in pointsWithPayload()
113 for (size_t I : Iter->getValue()) in pointsWithPayload()
121 for (const auto &Name : Points.keys()) { in all_points()
122 auto Pts = points(Name); in all_points()
128 Annotations::Range Annotations::range(llvm::StringRef Name) const { in range() function in Annotations
132 std::pair<Annotations::Range, llvm::StringRef>
134 auto I = Ranges.find(Name); in rangeWithPayload()
135 require(I != Ranges.end() && I->getValue().size() == 1, in rangeWithPayload()
136 "expected exactly one range", Code); in rangeWithPayload()
137 const Annotation &R = All[I->getValue()[0]]; in rangeWithPayload()
141 std::vector<Annotations::Range>
143 auto WithPayload = rangesWithPayload(Name); in ranges()
144 std::vector<Annotations::Range> Res; in ranges()
146 for (const auto &[Range, Payload] : WithPayload) in ranges()
147 Res.push_back(Range); in ranges()
150 std::vector<std::pair<Annotations::Range, llvm::StringRef>>
152 auto Iter = Ranges.find(Name); in rangesWithPayload()
156 std::vector<std::pair<Annotations::Range, llvm::StringRef>> Res; in rangesWithPayload()
157 Res.reserve(Iter->getValue().size()); in rangesWithPayload()
158 for (size_t I : Iter->getValue()) in rangesWithPayload()
159 Res.emplace_back(Annotations::Range{All[I].Begin, All[I].End}, in rangesWithPayload()
165 llvm::StringMap<llvm::SmallVector<Annotations::Range, 1>>
167 llvm::StringMap<llvm::SmallVector<Annotations::Range, 1>> Res; in all_ranges()
169 auto R = ranges(Name); in all_ranges()
176 const llvm::Annotations::Range &R) { in operator <<()