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

Function loadFunctionArg

gui/cppchecklibrarydata.cpp:153–197  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

151}
152
153static CppcheckLibraryData::Function::Arg loadFunctionArg(QXmlStreamReader &xmlReader)
154{
155 CppcheckLibraryData::Function::Arg arg;
156 QString argnr = xmlReader.attributes().value("nr").toString();
157 if (argnr == "any")
158 arg.nr = CppcheckLibraryData::Function::Arg::ANY;
159 else if (argnr == "variadic")
160 arg.nr = CppcheckLibraryData::Function::Arg::VARIADIC;
161 else
162 arg.nr = argnr.toUInt();
163 arg.defaultValue = xmlReader.attributes().value("default").toString();
164
165 QXmlStreamReader::TokenType type;
166 while ((type = xmlReader.readNext()) != QXmlStreamReader::EndElement ||
167 xmlReader.name().toString() != "arg") {
168 if (type != QXmlStreamReader::StartElement)
169 continue;
170 const QString elementName = xmlReader.name().toString();
171 if (elementName == "not-bool")
172 arg.notbool = true;
173 else if (elementName == "not-null")
174 arg.notnull = true;
175 else if (elementName == "not-uninit")
176 arg.notuninit = true;
177 else if (elementName == "strz")
178 arg.strz = true;
179 else if (elementName == "formatstr")
180 arg.formatstr = true;
181 else if (elementName == "valid")
182 arg.valid = xmlReader.readElementText();
183 else if (elementName == "minsize") {
184 CppcheckLibraryData::Function::Arg::MinSize minsize;
185 minsize.type = xmlReader.attributes().value("type").toString();
186 minsize.arg = xmlReader.attributes().value("arg").toString();
187 minsize.arg2 = xmlReader.attributes().value("arg2").toString();
188 arg.minsizes.append(minsize);
189 } else if (elementName == "iterator") {
190 arg.iterator.container = xmlReader.attributes().value("container").toInt();
191 arg.iterator.type = xmlReader.attributes().value("type").toString();
192 } else {
193 unhandledElement(xmlReader);
194 }
195 }
196 return arg;
197}
198
199static CppcheckLibraryData::Function loadFunction(QXmlStreamReader &xmlReader, const QString &comments)
200{

Callers 1

loadFunctionFunction · 0.85

Calls 4

unhandledElementFunction · 0.85
toStringMethod · 0.45
valueMethod · 0.45
nameMethod · 0.45

Tested by

no test coverage detected