aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/gccparser.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/projectexplorer/gccparser.h')
-rw-r--r--src/plugins/projectexplorer/gccparser.h26
1 files changed, 18 insertions, 8 deletions
diff --git a/src/plugins/projectexplorer/gccparser.h b/src/plugins/projectexplorer/gccparser.h
index 87381a2bbc..9186998cd4 100644
--- a/src/plugins/projectexplorer/gccparser.h
+++ b/src/plugins/projectexplorer/gccparser.h
@@ -33,30 +33,40 @@
namespace ProjectExplorer {
-class PROJECTEXPLORER_EXPORT GccParser : public ProjectExplorer::IOutputParser
+class PROJECTEXPLORER_EXPORT GccParser : public ProjectExplorer::OutputTaskParser
{
Q_OBJECT
public:
GccParser();
- void stdError(const QString &line) override;
- void stdOutput(const QString &line) override;
+ static Utils::Id id();
- static Core::Id id();
+ static QList<OutputLineParser *> gccParserSuite();
protected:
- void newTask(const Task &task);
- void doFlush() override;
-
- void amendDescription(const QString &desc, bool monospaced);
+ void createOrAmendTask(
+ Task::TaskType type,
+ const QString &description,
+ const QString &originalLine,
+ bool forceAmend = false,
+ const Utils::FilePath &file = {},
+ int line = -1,
+ const LinkSpecs &linkSpecs = {}
+ );
+ void flush() override;
private:
+ Result handleLine(const QString &line, Utils::OutputFormat type) override;
+
+ bool isContinuation(const QString &newLine) const;
+
QRegularExpression m_regExp;
QRegularExpression m_regExpIncluded;
QRegularExpression m_regExpGccNames;
Task m_currentTask;
+ LinkSpecs m_linkSpecs;
int m_lines = 0;
};