diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2017-12-04 14:46:12 +0100 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2017-12-05 06:32:25 +0000 |
commit | 998b878f147c4a9e9acb8593b8ad38b25c07fc46 (patch) | |
tree | 1c1ed658f6201da18737f4ab3e7f77b530a2ada8 /sources/shiboken2 | |
parent | 28e7e7f96d34dec30aa184b8410f1cc2b5fba8aa (diff) |
shiboken: Do not use QString::split() to find name
Change-Id: I83e254a5d0f7ba4613a04a73683ed08c273fc2ca
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/shiboken2')
-rw-r--r-- | sources/shiboken2/ApiExtractor/abstractmetalang.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/sources/shiboken2/ApiExtractor/abstractmetalang.cpp b/sources/shiboken2/ApiExtractor/abstractmetalang.cpp index 98f723ba6..c011c9b08 100644 --- a/sources/shiboken2/ApiExtractor/abstractmetalang.cpp +++ b/sources/shiboken2/ApiExtractor/abstractmetalang.cpp @@ -114,11 +114,18 @@ 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.isNull()) - // avoid constLast to stay Qt 5.5 compatible - m_name = m_typeEntry->targetLangName().split(QLatin1String("::")).last(); + m_name = lastNameSegment(m_typeEntry->targetLangName()); return m_name; } @@ -1661,7 +1668,7 @@ bool AbstractMetaClass::hasSignal(const AbstractMetaFunction *other) const QString AbstractMetaClass::name() const { - return QString(m_typeEntry->targetLangName()).split(QLatin1String("::")).last(); + return lastNameSegment(m_typeEntry->targetLangName()); } void AbstractMetaClass::setBaseClass(AbstractMetaClass *baseClass) |