diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-10-25 11:03:45 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2019-11-25 16:15:12 +0100 |
commit | 2914408d9017d192f254b4c7b2d298bb7b6e885e (patch) | |
tree | 143dce2ca33d660d4611b91cd06b9170d3a7ad3e /sources/shiboken2/ApiExtractor/abstractmetalang.cpp | |
parent | 0ced05f77b88c68c8e2a1c71161cb19b9c890f59 (diff) |
shiboken: Refactor target lang name
- Devirtualize TypeEntry::targetLangName() and replace by
QString buildTargetLangName() that walks up the hierarchy and
builds the name from the components. It populates a mutable
variable m_cachedTargetLangName.
- Implement setTargetLangName() to set m_cachedTargetLangName
directly so that it works in all classes (for target-lang-name).
- Implement a targetLangEntryName() that returns the last name
part using the same pattern.
- Remove the unused lookupName().
Fixes: PYSIDE-1133
Task-number: PYSIDE-990
Task-number: PYSIDE-1074
Change-Id: I15a6805a21584f1d7d4222e577e50907d7291841
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/shiboken2/ApiExtractor/abstractmetalang.cpp')
-rw-r--r-- | sources/shiboken2/ApiExtractor/abstractmetalang.cpp | 18 |
1 files changed, 4 insertions, 14 deletions
diff --git a/sources/shiboken2/ApiExtractor/abstractmetalang.cpp b/sources/shiboken2/ApiExtractor/abstractmetalang.cpp index a040f3caa..324dd8192 100644 --- a/sources/shiboken2/ApiExtractor/abstractmetalang.cpp +++ b/sources/shiboken2/ApiExtractor/abstractmetalang.cpp @@ -166,19 +166,9 @@ QString AbstractMetaType::package() const return m_typeEntry->targetLangPackage(); } -static QString lastNameSegment(QString name) -{ - const int index = name.lastIndexOf(QStringLiteral("::")); - if (index >= 0) - name.remove(0, index + 2); - return name; -} - QString AbstractMetaType::name() const { - if (m_name.isEmpty()) - m_name = lastNameSegment(m_typeEntry->targetLangName()); - return m_name; + return m_typeEntry->targetLangEntryName(); } QString AbstractMetaType::fullName() const @@ -1598,7 +1588,7 @@ bool AbstractMetaClass::hasSignal(const AbstractMetaFunction *other) const QString AbstractMetaClass::name() const { - return lastNameSegment(m_typeEntry->targetLangName()); + return m_typeEntry->targetLangEntryName(); } void AbstractMetaClass::setBaseClass(AbstractMetaClass *baseClass) @@ -2549,7 +2539,7 @@ QString AbstractMetaType::formatPythonSignature(bool minimal) const else result.append(formatArraySize(m_arrayElementCount)); } else { - result += typeEntry()->qualifiedCppName(); + result += typeEntry()->targetLangName(); } if (!m_instantiations.isEmpty()) { result += QLatin1Char('['); @@ -2778,7 +2768,7 @@ AbstractMetaEnumValue *AbstractMetaEnum::findEnumValue(const QString &value) con QString AbstractMetaEnum::name() const { - return m_typeEntry->targetLangName(); + return m_typeEntry->targetLangEntryName(); } QString AbstractMetaEnum::qualifier() const |