summaryrefslogtreecommitdiffstats
path: root/src/tools/tracegen/provider.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/tracegen/provider.cpp')
-rw-r--r--src/tools/tracegen/provider.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/tools/tracegen/provider.cpp b/src/tools/tracegen/provider.cpp
index a6523a2e3d..39633efe5d 100644
--- a/src/tools/tracegen/provider.cpp
+++ b/src/tools/tracegen/provider.cpp
@@ -275,9 +275,21 @@ Provider parseProvider(const QString &filename)
Provider provider;
provider.name = QFileInfo(filename).baseName();
+ bool parsingPrefixText = false;
for (int lineNumber = 1; !s.atEnd(); ++lineNumber) {
QString line = s.readLine().trimmed();
+ if (line == QLatin1String("{")) {
+ parsingPrefixText = true;
+ continue;
+ } else if (parsingPrefixText && line == QLatin1String("}")) {
+ parsingPrefixText = false;
+ continue;
+ } else if (parsingPrefixText) {
+ provider.prefixText.append(line);
+ continue;
+ }
+
if (line.isEmpty() || line.startsWith(QLatin1Char('#')))
continue;
@@ -296,7 +308,14 @@ Provider parseProvider(const QString &filename)
}
}
+ if (parsingPrefixText) {
+ panic("Syntax error while processing '%s': "
+ "no closing brace found for prefix text block",
+ qPrintable(filename));
+ }
+
#ifdef TRACEGEN_DEBUG
+ qDebug() << provider.prefixText;
for (auto i = provider.tracepoints.constBegin(); i != provider.tracepoints.constEnd(); ++i)
dumpTracepoint(*i);
#endif