OpenCoverage

resourcefilter.cpp

Absolute File Name:/home/opencoverage/opencoverage/guest-scripts/qtdeclarative/src/qtdeclarative/tools/qmlcachegen/resourcefilter.cpp
Switch to Source codePreprocessed file
LineSourceCount
1-
2int filterResourceFile(const QString &input, const QString &output)-
3{-
4 enum State {-
5 InitialState,-
6 InRCC,-
7 InResource,-
8 InFile-
9 };-
10 State state = InitialState;-
11-
12 QString prefix;-
13 QString currentFileName;-
14 QXmlStreamAttributes fileAttributes;-
15-
16 QFile file(input);-
17 if (!file.open(QIODevice::ReadOnly)
!file.open(QIO...ice::ReadOnly)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
18 fprintf(-
19 stderr-
20 , "Cannot open %s for reading.\n", QtPrivate::asString(input).toLocal8Bit().constData());-
21 return
never executed: return 1 ;
never executed: return 1 ;
0
22 1
never executed: return 1 ;
0
23 ;
never executed: return 1 ;
0
24 }-
25-
26 QDir inputDirectory = QFileInfo(file).absoluteDir();-
27 QDir outputDirectory = QFileInfo(output).absoluteDir();-
28-
29 QString outputString;-
30 QXmlStreamWriter writer(&outputString);-
31 writer.setAutoFormatting(true);-
32-
33 QStringList remainingFiles;-
34-
35 QXmlStreamReader reader(&file);-
36 while (!reader.atEnd()
!reader.atEnd()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
37 switch (reader.readNext()) {-
38 case
never executed: case QXmlStreamReader::StartDocument:
QXmlStreamReader::StartDocument:
never executed: case QXmlStreamReader::StartDocument:
{
0
39 QStringRef version = reader.documentVersion();-
40 if (!version.isEmpty()
!version.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
41 writer.writeStartDocument(version.toString());
never executed: writer.writeStartDocument(version.toString());
0
42 else-
43 writer.writeStartDocument();
never executed: writer.writeStartDocument();
0
44 break;
never executed: break;
0
45 }-
46 case
never executed: case QXmlStreamReader::EndDocument:
QXmlStreamReader::EndDocument:
never executed: case QXmlStreamReader::EndDocument:
0
47 writer.writeEndDocument();-
48 break;
never executed: break;
0
49 case
never executed: case QXmlStreamReader::StartElement:
QXmlStreamReader::StartElement:
never executed: case QXmlStreamReader::StartElement:
0
50 if (reader.name() == ([]() noexcept -> QString { enum { Size = sizeof(u"" "RCC")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "RCC" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }())) {-
51 if (state != InitialState
state != InitialStateDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
52 fprintf(-
53 stderr-
54 , "Unexpected RCC tag in line %d\n", int(reader.lineNumber()));-
55 return
never executed: return 1 ;
never executed: return 1 ;
0
56 1
never executed: return 1 ;
0
57 ;
never executed: return 1 ;
0
58 }-
59 state = InRCC;-
60 } else if (reader.name() == ([]() noexcept -> QString { enum { Size = sizeof(u"" "qresource")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "qresource" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }())) {-
61 if (state != InRCC
state != InRCCDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
62 fprintf(-
63 stderr-
64 , "Unexpected qresource tag in line %d\n", int(reader.lineNumber()));-
65 return
never executed: return 1 ;
never executed: return 1 ;
0
66 1
never executed: return 1 ;
0
67 ;
never executed: return 1 ;
0
68 }-
69 state = InResource;-
70 QXmlStreamAttributes attributes = reader.attributes();-
71 if (attributes.hasAttribute(([]() noexcept -> QString { enum { Size = sizeof(u"" "prefix")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "prefix" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()))
attributes.has...al_temp; }()))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
72 prefix = attributes.value(([]() noexcept -> QString { enum { Size = sizeof(u"" "prefix")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "prefix" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return
never executed: return qstring_literal_temp;
qstring_literal_temp;
never executed: return qstring_literal_temp;
}())).toString();
never executed: prefix = attributes.value(([]() noexcept -> QString { enum { Size = sizeof(u"" "prefix")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "prefix" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }())).toString();
0
73 if (!prefix.startsWith(QLatin1Char('/'))
!prefix.starts...tin1Char('/'))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
74 prefix.prepend(QLatin1Char('/'));
never executed: prefix.prepend(QLatin1Char('/'));
0
75 if (!prefix.endsWith(QLatin1Char('/'))
!prefix.endsWi...tin1Char('/'))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
76 prefix.append(QLatin1Char('/'));
never executed: prefix.append(QLatin1Char('/'));
0
77 } else if (reader.name() == ([]() noexcept -> QString { enum { Size = sizeof(u"" "file")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "file" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }())) {-
78 if (state != InResource
state != InResourceDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
79 fprintf(-
80 stderr-
81 , "Unexpected file tag in line %d\n", int(reader.lineNumber()));-
82 return
never executed: return 1 ;
never executed: return 1 ;
0
83 1
never executed: return 1 ;
0
84 ;
never executed: return 1 ;
0
85 }-
86 state = InFile;-
87 fileAttributes = reader.attributes();-
88 continue;
never executed: continue;
0
89 }-
90 writer.writeStartElement(reader.name().toString());
dead code: writer.writeStartElement(reader.name().toString());
-
91 writer.writeAttributes(reader.attributes());
dead code: writer.writeAttributes(reader.attributes());
-
92 continue;
dead code: continue;
-
93-
94 case
never executed: case QXmlStreamReader::EndElement:
QXmlStreamReader::EndElement:
never executed: case QXmlStreamReader::EndElement:
0
95 if (reader.name() == ([]() noexcept -> QString { enum { Size = sizeof(u"" "file")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "file" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }())) {-
96 if (state != InFile
state != InFileDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
97 fprintf(-
98 stderr-
99 , "Unexpected end of file tag in line %d\n", int(reader.lineNumber()));-
100 return
never executed: return 1 ;
never executed: return 1 ;
0
101 1
never executed: return 1 ;
0
102 ;
never executed: return 1 ;
0
103 }-
104 state = InResource;-
105 continue;
never executed: continue;
0
106 } else
dead code: else
if
dead code: if (reader.name() == ([]() noexcept
(reader.name() == ([]() noexcept
dead code: if (reader.name() == ([]() noexcept
-> QString { enum { Size = sizeof(u"" "qresource")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "qresource" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }())) {
-
107 if (state != InResource
state != InResourceDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
108 fprintf(-
109 stderr-
110 , "Unexpected end of qresource tag in line %d\n", int(reader.lineNumber()));-
111 return
never executed: return 1 ;
never executed: return 1 ;
0
112 1
never executed: return 1 ;
0
113 ;
never executed: return 1 ;
0
114 }-
115 state = InRCC;-
116 } else if (reader.name() == ([]() noexcept -> QString { enum { Size = sizeof(u"" "RCC")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "RCC" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }())) {-
117 if (state != InRCC
state != InRCCDescription
TRUEnever evaluated
FALSEnever evaluated
) {
0
118 fprintf(-
119 stderr-
120 , "Unexpected end of RCC tag in line %d\n", int(reader.lineNumber()));-
121 return
never executed: return 1 ;
never executed: return 1 ;
0
122 1
never executed: return 1 ;
0
123 ;
never executed: return 1 ;
0
124 }-
125 state = InitialState;-
126 }-
127 writer.writeEndElement();-
128 continue;
never executed: continue;
0
129-
130 case
never executed: case QXmlStreamReader::Characters:
QXmlStreamReader::Characters:
never executed: case QXmlStreamReader::Characters:
0
131 if (reader.isWhitespace()
reader.isWhitespace()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
132 break;
never executed: break;
0
133 if (state != InFile
state != InFileDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
134 return
never executed: return 1 ;
never executed: return 1 ;
0
135 1
never executed: return 1 ;
0
136 ;
never executed: return 1 ;
0
137 currentFileName = reader.text().toString();-
138 if (currentFileName.isEmpty()
currentFileName.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
139 continue;
never executed: continue;
0
140-
141 if (!currentFileName.endsWith(([]() noexcept -> QString { enum { Size = sizeof(u"" ".qml")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" ".qml" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()))
!currentFileNa...al_temp; }()))Description
TRUEnever evaluated
FALSEnever evaluated
&& !currentFileName.endsWith(([]() noexcept -> QString { enum { Size = sizeof(u"" ".js")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" ".js" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()))
!currentFileNa...al_temp; }()))Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
142 writer.writeStartElement(([]() noexcept -> QString { enum { Size = sizeof(u"" "file")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "file" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return
never executed: return qstring_literal_temp;
qstring_literal_temp;
never executed: return qstring_literal_temp;
}()));
0
143-
144 if (!fileAttributes.hasAttribute(([]() noexcept -> QString { enum { Size = sizeof(u"" "alias")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "alias" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()))
!fileAttribute...al_temp; }()))Description
TRUEnever evaluated
FALSEnever evaluated
)
0
145 fileAttributes.append(([]() noexcept -> QString { enum { Size = sizeof(u"" "alias")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "alias" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return
never executed: return qstring_literal_temp;
qstring_literal_temp;
never executed: return qstring_literal_temp;
}()), currentFileName);
never executed: fileAttributes.append(([]() noexcept -> QString { enum { Size = sizeof(u"" "alias")/2 - 1 }; static const QStaticStringData<Size> qstring_literal = { { { { -1 } }, Size, 0, 0, sizeof(QStringData) }, u"" "alias" }; QStringDataPtr holder = { qstring_literal.data_ptr() }; const QString qstring_literal_temp(holder); return qstring_literal_temp; }()), currentFileName);
0
146-
147 currentFileName = inputDirectory.absoluteFilePath(currentFileName);-
148 currentFileName = outputDirectory.relativeFilePath(currentFileName);-
149-
150 remainingFiles << currentFileName;-
151-
152 writer.writeAttributes(fileAttributes);-
153 writer.writeCharacters(currentFileName);-
154 writer.writeEndElement();-
155 }
never executed: end of block
0
156 continue;
never executed: continue;
0
157-
158 default
never executed: default:
:
never executed: default:
break;
never executed: break;
0
159 }-
160 }-
161-
162 if (!remainingFiles.isEmpty()
!remainingFiles.isEmpty()Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
163 QFile outputFile(output);-
164 if (!outputFile.open(QIODevice::WriteOnly | QIODevice::Truncate)
!outputFile.op...ice::Truncate)Description
TRUEnever evaluated
FALSEnever evaluated
) {
0
165 fprintf(-
166 stderr-
167 , "Cannot open %s for writing.\n", QtPrivate::asString(output).toLocal8Bit().constData());-
168 return
never executed: return 1 ;
never executed: return 1 ;
0
169 1
never executed: return 1 ;
0
170 ;
never executed: return 1 ;
0
171 }-
172 const QByteArray outputStringUtf8 = outputString.toUtf8();-
173 if (outputFile.write(outputStringUtf8) != outputStringUtf8.size()
outputFile.wri...ingUtf8.size()Description
TRUEnever evaluated
FALSEnever evaluated
)
0
174 return
never executed: return 1 ;
never executed: return 1 ;
0
175 1
never executed: return 1 ;
0
176 ;
never executed: return 1 ;
0
177-
178 outputFile.close();-
179 if (outputFile.error() != QFileDevice::NoError
outputFile.err...evice::NoErrorDescription
TRUEnever evaluated
FALSEnever evaluated
)
0
180 return
never executed: return 1 ;
never executed: return 1 ;
0
181 1
never executed: return 1 ;
0
182 ;
never executed: return 1 ;
0
183-
184-
185-
186 fprintf(-
187 stdout-
188 , "New resource file written with %d files.\n", remainingFiles.count());-
189 }
never executed: end of block
0
190-
191 return
never executed: return 0 ;
never executed: return 0 ;
0
192 0
never executed: return 0 ;
0
193 ;
never executed: return 0 ;
0
194}-
Switch to Source codePreprocessed file

Generated by Squish Coco 4.2.0