diff options
| author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-05-13 10:43:54 +0200 |
|---|---|---|
| committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2022-05-17 13:48:47 +0200 |
| commit | e6082b18b904569fc946b9f36fc995684463267f (patch) | |
| tree | 7b2daf30bd228501a8617fd69851cf31367258ca /sources/shiboken6/ApiExtractor/modifications.cpp | |
| parent | ae31d1dc8776a0bd35e80494ca30e9c7d1c644f8 (diff) | |
shiboken6: Extract class CodeSnip into separate files
Change-Id: Iff46540cdb764d4caa2efad26cc5e28347cef54f
Reviewed-by: Shyamnath Premnadh <Shyamnath.Premnadh@qt.io>
Reviewed-by: Christian Tismer <tismer@stackless.com>
Diffstat (limited to 'sources/shiboken6/ApiExtractor/modifications.cpp')
| -rw-r--r-- | sources/shiboken6/ApiExtractor/modifications.cpp | 67 |
1 files changed, 1 insertions, 66 deletions
diff --git a/sources/shiboken6/ApiExtractor/modifications.cpp b/sources/shiboken6/ApiExtractor/modifications.cpp index 61498fb6c..5e5503170 100644 --- a/sources/shiboken6/ApiExtractor/modifications.cpp +++ b/sources/shiboken6/ApiExtractor/modifications.cpp @@ -28,6 +28,7 @@ #include "modifications.h" #include "modifications_p.h" +#include "codesnip.h" #include "exception.h" #include "typedatabase.h" #include "typeparser.h" @@ -44,72 +45,6 @@ using namespace Qt::StringLiterals; static inline QString callOperator() { return QStringLiteral("operator()"); } -QString TemplateInstance::expandCode() const -{ - TemplateEntry *templateEntry = TypeDatabase::instance()->findTemplate(m_name); - if (!templateEntry) { - const QString m = u"<insert-template> referring to non-existing template '"_s - + m_name + u"'."_s; - throw Exception(m); - } - - QString code = templateEntry->code(); - for (auto it = replaceRules.cbegin(), end = replaceRules.cend(); it != end; ++it) - code.replace(it.key(), it.value()); - while (!code.isEmpty() && code.at(code.size() - 1).isSpace()) - code.chop(1); - QString result = u"// TEMPLATE - "_s + m_name + u" - START"_s; - if (!code.startsWith(u'\n')) - result += u'\n'; - result += code; - result += u"\n// TEMPLATE - "_s + m_name + u" - END\n"_s; - return result; -} - -// ---------------------- CodeSnipFragment -QString CodeSnipFragment::code() const -{ - return m_instance ? m_instance->expandCode() : m_code; -} - -// ---------------------- CodeSnipAbstract -QString CodeSnipAbstract::code() const -{ - QString res; - for (const CodeSnipFragment &codeFrag : codeList) - res.append(codeFrag.code()); - - return res; -} - -void CodeSnipAbstract::addCode(const QString &code) -{ - codeList.append(CodeSnipFragment(fixSpaces(code))); -} - -void CodeSnipAbstract::purgeEmptyFragments() -{ - auto end = std::remove_if(codeList.begin(), codeList.end(), - [](const CodeSnipFragment &f) { return f.isEmpty(); }); - codeList.erase(end, codeList.end()); -} - -QRegularExpression CodeSnipAbstract::placeHolderRegex(int index) -{ - return QRegularExpression(u'%' + QString::number(index) + QStringLiteral("\\b")); -} - -void purgeEmptyCodeSnips(QList<CodeSnip> *list) -{ - for (auto it = list->begin(); it != list->end(); ) { - it->purgeEmptyFragments(); - if (it->isEmpty()) - it = list->erase(it); - else - ++it; - } -} - // ---------------------- Modification QString FunctionModification::accessModifierString() const { |
