MCPcopy Create free account
hub / github.com/KDE/kdevelop / parse

Method parse

plugins/cppcheck/parser.cpp:182–232  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

180}
181
182QVector<KDevelop::IProblem::Ptr> CppcheckParser::parse()
183{
184 QVector<KDevelop::IProblem::Ptr> problems;
185 qCDebug(KDEV_CPPCHECK) << "CppcheckParser::parse!";
186
187 while (!atEnd()) {
188 int readNextVal = readNext();
189
190 switch (readNextVal) {
191 case StartDocument:
192 clear();
193 break;
194
195 case StartElement:
196 startElement();
197 break;
198
199 case EndElement:
200 endElement(problems);
201 break;
202
203 case Characters:
204 break;
205
206 default:
207 qCDebug(KDEV_CPPCHECK) << "CppcheckParser::startElement: case: " << readNextVal;
208 break;
209 }
210 }
211
212 qCDebug(KDEV_CPPCHECK) << "CppcheckParser::parse: end";
213
214 if (hasError()) {
215 switch (error()) {
216 case CustomError:
217 case UnexpectedElementError:
218 case NotWellFormedError: {
219 const QString messageText =
220 i18n("Cppcheck XML Parsing: error at line %1, column %2: %3", lineNumber(), columnNumber(), errorString());
221 auto* message = new Sublime::Message(messageText, Sublime::Message::Error);
222 KDevelop::ICore::self()->uiController()->postMessage(message);
223 break;
224 }
225 case NoError:
226 case PrematureEndOfDocumentError:
227 break;
228 }
229 }
230
231 return problems;
232}
233
234void CppcheckParser::storeError(QVector<KDevelop::IProblem::Ptr>& problems)
235{

Callers 3

postProcessStderrMethod · 0.45
testParserMethod · 0.45
parseBug304730Method · 0.45

Calls 5

hasErrorFunction · 0.85
errorStringFunction · 0.85
uiControllerMethod · 0.80
clearFunction · 0.50
postMessageMethod · 0.45

Tested by 2

testParserMethod · 0.36
parseBug304730Method · 0.36