Lines Matching full:const
26 void check(const MatchFinder::MatchResult &Result) override { in check()
27 const auto *D = Result.Nodes.getNodeAs<VarDecl>("var"); in check()
29 const auto const_decrefexprs = constReferenceDeclRefExprs( in check()
33 for (const DeclRefExpr *const Expr : const_decrefexprs) { in check()
35 diag(Expr->getBeginLoc(), "const usage") in check()
36 << FixItHint::CreateInsertion(Expr->getBeginLoc(), "/*const*/"); in check()
52 void constMethod() const; in RunTest()
57 void operator()(ConstTag) const; in RunTest()
61 void operator[](int) const; in RunTest()
64 const int& at(int) const; in RunTest()
65 const int& at(Tag1); in RunTest()
68 const double& weird_overload() const; in RunTest()
70 bool operator==(const S&) const; in RunTest()
73 // We consider a mutation of the `*ptr_member` to be a const use of in RunTest()
74 // `*this`. This is consistent with the semantics of `const`-qualified in RunTest()
88 void usePtrConstPtr(S* const*); in RunTest()
89 void useConstRef(const S&); in RunTest()
90 void useConstPtr(const S*); in RunTest()
91 void useConstPtrRef(const S*&); in RunTest()
92 void useConstPtrPtr(const S**); in RunTest()
93 void useConstPtrConstRef(const S* const&); in RunTest()
94 void useConstPtrConstPtr(const S* const*); in RunTest()
98 void useIntConstRef(const int&); in RunTest()
100 void useIntConstPtr(const int*); in RunTest()
107 StringRef(Code).split(Parts, "/*const*/"); in RunTest()
116 void f(const S target) { in TEST()
117 useVal(/*const*/target); in TEST()
118 useConstRef(/*const*/target); in TEST()
119 useConstPtr(&/*const*/target); in TEST()
120 useConstPtrConstRef(&/*const*/target); in TEST()
121 /*const*/target.constMethod(); in TEST()
122 /*const*/target.staticMethod(); in TEST()
123 /*const*/target(ConstTag{}); in TEST()
124 /*const*/target[42]; in TEST()
125 useConstRef((/*const*/target)); in TEST()
126 (/*const*/target).constMethod(); in TEST()
127 /*const*/target.staticMethod(); in TEST()
128 (void)(/*const*/target == /*const*/target); in TEST()
129 (void)/*const*/target; in TEST()
130 (void)&/*const*/target; in TEST()
131 (void)*&/*const*/target; in TEST()
132 /*const*/target; in TEST()
133 S copy1 = /*const*/target; in TEST()
134 S copy2(/*const*/target); in TEST()
135 /*const*/target.int_member; in TEST()
136 useInt(/*const*/target.int_member); in TEST()
137 useIntConstRef(/*const*/target.int_member); in TEST()
138 useIntPtr(/*const*/target.ptr_member); in TEST()
139 useIntConstPtr(&/*const*/target.int_member); in TEST()
141 const S& const_target_ref = /*const*/target; in TEST()
142 const S* const_target_ptr = &/*const*/target; in TEST()
149 void f(const S& target) { in TEST()
150 useVal(/*const*/target); in TEST()
151 useConstRef(/*const*/target); in TEST()
152 useConstPtr(&/*const*/target); in TEST()
153 useConstPtrConstRef(&/*const*/target); in TEST()
154 /*const*/target.constMethod(); in TEST()
155 /*const*/target.staticMethod(); in TEST()
156 /*const*/target(ConstTag{}); in TEST()
157 /*const*/target[42]; in TEST()
158 useConstRef((/*const*/target)); in TEST()
159 (/*const*/target).constMethod(); in TEST()
160 (void)(/*const*/target == /*const*/target); in TEST()
161 (void)/*const*/target; in TEST()
162 (void)&/*const*/target; in TEST()
163 (void)*&/*const*/target; in TEST()
164 /*const*/target; in TEST()
165 S copy1 = /*const*/target; in TEST()
166 S copy2(/*const*/target); in TEST()
167 /*const*/target.int_member; in TEST()
168 useInt(/*const*/target.int_member); in TEST()
169 useIntConstRef(/*const*/target.int_member); in TEST()
170 useIntPtr(/*const*/target.ptr_member); in TEST()
171 useIntConstPtr(&/*const*/target.int_member); in TEST()
172 (void)/*const*/target.at(3); in TEST()
174 const S& const_target_ref = /*const*/target; in TEST()
175 const S* const_target_ptr = &/*const*/target; in TEST()
176 (void)/*const*/target.at(3); in TEST()
183 void f(S target, const S& other) { in TEST()
191 void f(S target, const S& other) { in TEST()
192 useConstRef(/*const*/target); in TEST()
193 useVal(/*const*/target); in TEST()
194 useConstPtr(&/*const*/target); in TEST()
195 useConstPtrConstRef(&/*const*/target); in TEST()
196 /*const*/target.constMethod(); in TEST()
197 /*const*/target.staticMethod(); in TEST()
199 /*const*/target(ConstTag{}); in TEST()
200 /*const*/target[42]; in TEST()
201 /*const*/target(ConstTag{}); in TEST()
205 useConstRef((/*const*/target)); in TEST()
206 (/*const*/target).constMethod(); in TEST()
207 (void)(/*const*/target == /*const*/target); in TEST()
208 (void)(/*const*/target == other); in TEST()
209 (void)/*const*/target; in TEST()
210 (void)&/*const*/target; in TEST()
211 (void)*&/*const*/target; in TEST()
212 /*const*/target; in TEST()
213 S copy1 = /*const*/target; in TEST()
214 S copy2(/*const*/target); in TEST()
215 /*const*/target.int_member; in TEST()
216 useInt(/*const*/target.int_member); in TEST()
217 useIntConstRef(/*const*/target.int_member); in TEST()
218 useIntPtr(/*const*/target.ptr_member); in TEST()
219 useIntConstPtr(&/*const*/target.int_member); in TEST()
221 const S& const_target_ref = /*const*/target; in TEST()
222 const S* const_target_ptr = &/*const*/target; in TEST()
225 (void)/*const*/target.at(3); in TEST()
227 const int civ = /*const*/target.at(3); in TEST()
228 const int& cir = /*const*/target.at(3); in TEST()
239 useVal(/*const*/target); in TEST()
241 useConstRef(/*const*/target); in TEST()
242 useConstPtr(&/*const*/target); in TEST()
243 useConstPtrConstRef(&/*const*/target); in TEST()
244 /*const*/target.constMethod(); in TEST()
245 /*const*/target.staticMethod(); in TEST()
247 /*const*/target(ConstTag{}); in TEST()
248 /*const*/target[42]; in TEST()
249 useConstRef((/*const*/target)); in TEST()
250 (/*const*/target).constMethod(); in TEST()
251 (void)(/*const*/target == /*const*/target); in TEST()
252 (void)/*const*/target; in TEST()
253 (void)&/*const*/target; in TEST()
254 (void)*&/*const*/target; in TEST()
255 /*const*/target; in TEST()
256 S copy1 = /*const*/target; in TEST()
257 S copy2(/*const*/target); in TEST()
258 /*const*/target.int_member; in TEST()
259 useInt(/*const*/target.int_member); in TEST()
260 useIntConstRef(/*const*/target.int_member); in TEST()
261 useIntPtr(/*const*/target.ptr_member); in TEST()
262 useIntConstPtr(&/*const*/target.int_member); in TEST()
264 (void)(&/*const*/target)->int_member; in TEST()
267 const S& const_target_ref = /*const*/target; in TEST()
268 const S* const_target_ptr = &/*const*/target; in TEST()
271 (void)/*const*/target.at(3); in TEST()
273 const int civ = /*const*/target.at(3); in TEST()
274 const int& cir = /*const*/target.at(3); in TEST()
285 useVal(*/*const*/target); in TEST()
287 useConstRef(*/*const*/target); in TEST()
288 useConstPtr(/*const*/target); in TEST()
289 useConstPtrConstRef(/*const*/target); in TEST()
291 /*const*/target->constMethod(); in TEST()
292 /*const*/target->staticMethod(); in TEST()
294 (*/*const*/target)(ConstTag{}); in TEST()
295 (*/*const*/target)[42]; in TEST()
296 /*const*/target->operator[](42); in TEST()
297 useConstRef((*/*const*/target)); in TEST()
298 (/*const*/target)->constMethod(); in TEST()
299 (void)(*/*const*/target == */*const*/target); in TEST()
300 (void)*/*const*/target; in TEST()
301 (void)/*const*/target; in TEST()
302 /*const*/target; in TEST()
303 S copy1 = */*const*/target; in TEST()
304 S copy2(*/*const*/target); in TEST()
305 /*const*/target->int_member; in TEST()
306 useInt(/*const*/target->int_member); in TEST()
307 useIntConstRef(/*const*/target->int_member); in TEST()
308 useIntPtr(/*const*/target->ptr_member); in TEST()
309 useIntConstPtr(&/*const*/target->int_member); in TEST()
311 const S& const_target_ref = */*const*/target; in TEST()
312 const S* const_target_ptr = /*const*/target; in TEST()
313 S* target_ptr = target; // FIXME: we could chect const usage of `target_ptr` in TEST()
315 (void)/*const*/target->at(3); in TEST()
317 const int civ = /*const*/target->at(3); in TEST()
318 const int& cir = /*const*/target->at(3); in TEST()
328 void f(const S* target) { in TEST()
329 useVal(*/*const*/target); in TEST()
330 useConstRef(*/*const*/target); in TEST()
331 useConstPtr(/*const*/target); in TEST()
332 useConstPtrRef(/*const*/target); in TEST()
333 useConstPtrPtr(&/*const*/target); in TEST()
334 useConstPtrConstPtr(&/*const*/target); in TEST()
335 useConstPtrConstRef(/*const*/target); in TEST()
336 /*const*/target->constMethod(); in TEST()
337 /*const*/target->staticMethod(); in TEST()
338 (*/*const*/target)(ConstTag{}); in TEST()
339 (*/*const*/target)[42]; in TEST()
340 /*const*/target->operator[](42); in TEST()
341 (void)(*/*const*/target == */*const*/target); in TEST()
342 (void)/*const*/target; in TEST()
343 (void)*/*const*/target; in TEST()
344 /*const*/target; in TEST()
345 if(/*const*/target) {} in TEST()
346 S copy1 = */*const*/target; in TEST()
347 S copy2(*/*const*/target); in TEST()
348 /*const*/target->int_member; in TEST()
349 useInt(/*const*/target->int_member); in TEST()
350 useIntConstRef(/*const*/target->int_member); in TEST()
351 useIntPtr(/*const*/target->ptr_member); in TEST()
352 useIntConstPtr(&/*const*/target->int_member); in TEST()
354 const S& const_target_ref = */*const*/target; in TEST()
355 const S* const_target_ptr = /*const*/target; in TEST()
357 (void)/*const*/target->at(3); in TEST()
358 const int civ = /*const*/target->at(3); in TEST()
359 const int& cir = /*const*/target->at(3); in TEST()
366 void f(const S** target) { in TEST()
367 useVal(**/*const*/target); in TEST()
368 useConstRef(**/*const*/target); in TEST()
369 useConstPtr(*/*const*/target); in TEST()
370 useConstPtrRef(*/*const*/target); in TEST()
371 useConstPtrPtr(/*const*/target); in TEST()
372 useConstPtrConstPtr(/*const*/target); in TEST()
373 useConstPtrConstRef(*/*const*/target); in TEST()
374 (void)/*const*/target; in TEST()
375 (void)*/*const*/target; in TEST()
376 (void)**/*const*/target; in TEST()
377 /*const*/target; in TEST()
378 if(/*const*/target) {} in TEST()
379 if(*/*const*/target) {} in TEST()
380 S copy1 = **/*const*/target; in TEST()
381 S copy2(**/*const*/target); in TEST()
382 (*/*const*/target)->int_member; in TEST()
383 useInt((*/*const*/target)->int_member); in TEST()
384 useIntConstRef((*/*const*/target)->int_member); in TEST()
385 useIntPtr((*/*const*/target)->ptr_member); in TEST()
386 useIntConstPtr(&(*/*const*/target)->int_member); in TEST()
388 const S& const_target_ref = **/*const*/target; in TEST()
389 const S* const_target_ptr = */*const*/target; in TEST()
396 void f(const S* const* target) { in TEST()
397 useVal(**/*const*/target); in TEST()
398 useConstRef(**/*const*/target); in TEST()
399 useConstPtr(*/*const*/target); in TEST()
400 useConstPtrConstPtr(/*const*/target); in TEST()
401 useConstPtrConstRef(*/*const*/target); in TEST()
402 (void)/*const*/target; in TEST()
403 (void)*/*const*/target; in TEST()
404 (void)**/*const*/target; in TEST()
405 /*const*/target; in TEST()
406 if(/*const*/target) {} in TEST()
407 if(*/*const*/target) {} in TEST()
408 S copy1 = **/*const*/target; in TEST()
409 S copy2(**/*const*/target); in TEST()
410 (*/*const*/target)->int_member; in TEST()
411 useInt((*/*const*/target)->int_member); in TEST()
412 useIntConstRef((*/*const*/target)->int_member); in TEST()
413 useIntPtr((*/*const*/target)->ptr_member); in TEST()
414 useIntConstPtr(&(*/*const*/target)->int_member); in TEST()
416 const S& const_target_ref = **/*const*/target; in TEST()
417 const S* const_target_ptr = */*const*/target; in TEST()