| 151 | } |
| 152 | |
| 153 | static 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 | |
| 199 | static CppcheckLibraryData::Function loadFunction(QXmlStreamReader &xmlReader, const QString &comments) |
| 200 | { |
no test coverage detected