diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2024-02-29 09:26:31 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2024-03-01 20:24:22 +0100 |
commit | 498ad471e484572e4f0a3c56774d00c201afd3cf (patch) | |
tree | 35f93001b0af7ef7a5b7c0db90c4b848095f56cc | |
parent | 78254403931559bf5cfa97e3284f9d42892cc230 (diff) |
shiboken6: Fix ODR violation / duplicated enum name
enum WebXmlTag was duplicated in classdocumentation.cpp
and qtxmltosphinx.cpp.
Task-number: PYSIDE-2619
Change-Id: I287bdcba769e9333ccf996a946a767f296045c60
Reviewed-by: Adrian Herrmann <adrian.herrmann@qt.io>
(cherry picked from commit fd397ea88be0bfba2d44998cbcd22144de405e1f)
-rw-r--r-- | sources/shiboken6/ApiExtractor/classdocumentation.cpp | 54 |
1 files changed, 27 insertions, 27 deletions
diff --git a/sources/shiboken6/ApiExtractor/classdocumentation.cpp b/sources/shiboken6/ApiExtractor/classdocumentation.cpp index 2008d83d2..a4ab6c856 100644 --- a/sources/shiboken6/ApiExtractor/classdocumentation.cpp +++ b/sources/shiboken6/ApiExtractor/classdocumentation.cpp @@ -83,44 +83,44 @@ qsizetype ClassDocumentation::indexOfProperty(const QString &name) const return -1; } -enum class WebXmlTag +enum class WebXmlCodeTag { Class, Description, Enum, Function, Parameter, Property, Typedef, Other }; -static WebXmlTag tag(QStringView name) +static WebXmlCodeTag tag(QStringView name) { if (name == u"class" || name == u"namespace") - return WebXmlTag::Class; + return WebXmlCodeTag::Class; if (name == u"enum") - return WebXmlTag::Enum; + return WebXmlCodeTag::Enum; if (name == u"function") - return WebXmlTag::Function; + return WebXmlCodeTag::Function; if (name == u"description") - return WebXmlTag::Description; + return WebXmlCodeTag::Description; if (name == u"parameter") - return WebXmlTag::Parameter; + return WebXmlCodeTag::Parameter; if (name == u"property") - return WebXmlTag::Property; + return WebXmlCodeTag::Property; if (name == u"typedef") - return WebXmlTag::Typedef; - return WebXmlTag::Other; + return WebXmlCodeTag::Typedef; + return WebXmlCodeTag::Other; } -static void parseWebXmlElement(WebXmlTag tag, const QXmlStreamAttributes &attributes, +static void parseWebXmlElement(WebXmlCodeTag tag, const QXmlStreamAttributes &attributes, ClassDocumentation *cd) { switch (tag) { - case WebXmlTag::Class: + case WebXmlCodeTag::Class: cd->name = attributes.value(u"name"_s).toString(); break; - case WebXmlTag::Enum: { + case WebXmlCodeTag::Enum: { EnumDocumentation ed; ed.name = attributes.value(u"name"_s).toString(); cd->enums.append(ed); } break; - case WebXmlTag::Function: { + case WebXmlCodeTag::Function: { FunctionDocumentation fd; fd.name = attributes.value(u"name"_s).toString(); fd.signature = attributes.value(u"signature"_s).toString(); @@ -129,11 +129,11 @@ static void parseWebXmlElement(WebXmlTag tag, const QXmlStreamAttributes &attrib cd->functions.append(fd); } break; - case WebXmlTag::Parameter: + case WebXmlCodeTag::Parameter: Q_ASSERT(!cd->functions.isEmpty()); cd->functions.last().parameters.append(attributes.value(u"type"_s).toString()); break; - case WebXmlTag::Property: { + case WebXmlCodeTag::Property: { PropertyDocumentation pd; pd.name = attributes.value(u"name"_s).toString(); pd.brief = attributes.value(u"brief"_s).toString(); @@ -195,7 +195,7 @@ ClassDocumentation parseWebXml(const QString &fileName, QString *errorMessage) return result; } - WebXmlTag lastTag = WebXmlTag::Other; + WebXmlCodeTag lastTag = WebXmlCodeTag::Other; QXmlStreamReader reader(&file); while (!reader.atEnd()) { switch (reader.readNext()) { @@ -203,26 +203,26 @@ ClassDocumentation parseWebXml(const QString &fileName, QString *errorMessage) const auto currentTag = tag(reader.name()); parseWebXmlElement(currentTag, reader.attributes(), &result); switch (currentTag) { // Store relevant tags in lastTag - case WebXmlTag::Class: - case WebXmlTag::Function: - case WebXmlTag::Enum: - case WebXmlTag::Property: - case WebXmlTag::Typedef: + case WebXmlCodeTag::Class: + case WebXmlCodeTag::Function: + case WebXmlCodeTag::Enum: + case WebXmlCodeTag::Property: + case WebXmlCodeTag::Typedef: lastTag = currentTag; break; - case WebXmlTag::Description: { // Append the description to the element + case WebXmlCodeTag::Description: { // Append the description to the element QString *target = nullptr; switch (lastTag) { - case WebXmlTag::Class: + case WebXmlCodeTag::Class: target = &result.description; break; - case WebXmlTag::Function: + case WebXmlCodeTag::Function: target = &result.functions.last().description; break; - case WebXmlTag::Enum: + case WebXmlCodeTag::Enum: target = &result.enums.last().description; break; - case WebXmlTag::Property: + case WebXmlCodeTag::Property: target = &result.properties.last().description; default: break; |