MCPcopy Create free account
hub / github.com/cppcheck-opensource/cppcheck / function_arg_variadic

Method function_arg_variadic

test/testlibrary.cpp:275–296  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

273 }
274
275 void function_arg_variadic() const {
276 constexpr char xmldata[] = "<?xml version=\"1.0\"?>\n"
277 "<def>\n"
278 "<function name=\"foo\">\n"
279 " <arg nr=\"1\"></arg>\n"
280 " <arg nr=\"variadic\"><not-uninit/></arg>\n"
281 "</function>\n"
282 "</def>";
283
284 Library library;
285 ASSERT(LibraryHelper::loadxmldata(library, xmldata, sizeof(xmldata)));
286 ASSERT_EQUALS(0, library.functions().at("foo").argumentChecks.at(-1).notuninit);
287
288 const char code[] = "foo(a,b,c,d,e);";
289 SimpleTokenList tokenList(code);
290 tokenList.front()->next()->astOperand1(tokenList.front());
291
292 ASSERT_EQUALS(false, library.isuninitargbad(tokenList.front(), 1));
293 ASSERT_EQUALS(true, library.isuninitargbad(tokenList.front(), 2));
294 ASSERT_EQUALS(true, library.isuninitargbad(tokenList.front(), 3));
295 ASSERT_EQUALS(true, library.isuninitargbad(tokenList.front(), 4));
296 }
297
298 void function_arg_direction() const {
299 constexpr char xmldata[] = "<?xml version=\"1.0\"?>\n"

Callers

nothing calls this directly

Calls 5

atMethod · 0.80
astOperand1Method · 0.80
nextMethod · 0.80
frontMethod · 0.80
isuninitargbadMethod · 0.80

Tested by

no test coverage detected