aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken2/ApiExtractor/abstractmetalang.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2019-10-25 11:03:45 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2019-11-25 16:15:12 +0100
commit2914408d9017d192f254b4c7b2d298bb7b6e885e (patch)
tree143dce2ca33d660d4611b91cd06b9170d3a7ad3e /sources/shiboken2/ApiExtractor/abstractmetalang.cpp
parent0ced05f77b88c68c8e2a1c71161cb19b9c890f59 (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.cpp18
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