diff --git a/src/plugins/texteditor/generichighlighter/highlightdefinition.cpp b/src/plugins/texteditor/generichighlighter/highlightdefinition.cpp index 69d143786ad..696fb921c60 100644 --- a/src/plugins/texteditor/generichighlighter/highlightdefinition.cpp +++ b/src/plugins/texteditor/generichighlighter/highlightdefinition.cpp @@ -39,6 +39,33 @@ using namespace TextEditor; using namespace Internal; +namespace { + +template +QSharedPointer createHelper(const QString &name, Container &container) +{ + if (name.isEmpty()) + throw HighlighterException(); + + if (container.contains(name)) + throw HighlighterException(); + + return container.insert(name, QSharedPointer(new Element)).value(); +} + +template +QSharedPointer +findHelper(const QString &name, const Container &container) +{ + typename Container::const_iterator it = container.find(name); + if (it == container.end()) + throw HighlighterException(); + + return it.value(); +} + +} // anon namespace + HighlightDefinition::HighlightDefinition() : m_keywordCaseSensitivity(Qt::CaseSensitive), m_singleLineCommentAfterWhiteSpaces(false), @@ -57,60 +84,50 @@ bool HighlightDefinition::isValid() const return !m_initialContext.isEmpty(); } -template -QSharedPointer HighlightDefinition:: -GenericHelper::create(const QString &name, Container &container) -{ - if (name.isEmpty()) - throw HighlighterException(); - - if (container.contains(name)) - throw HighlighterException(); - - return container.insert(name, QSharedPointer(new Element)).value(); -} - -template -QSharedPointer HighlightDefinition:: -GenericHelper::find(const QString &name, const Container &container) const -{ - typename Container::const_iterator it = container.find(name); - if (it == container.end()) - throw HighlighterException(); - - return it.value(); -} - QSharedPointer HighlightDefinition::createKeywordList(const QString &list) -{ return m_helper.create(list, m_lists); } +{ + return createHelper(list, m_lists); +} QSharedPointer HighlightDefinition::keywordList(const QString &list) -{ return m_helper.find(list, m_lists); } +{ + return findHelper(list, m_lists); +} QSharedPointer HighlightDefinition::createContext(const QString &context, bool initial) { if (initial) m_initialContext = context; - QSharedPointer newContext = m_helper.create(context, m_contexts); + QSharedPointer newContext = createHelper(context, m_contexts); newContext->setName(context); return newContext; } QSharedPointer HighlightDefinition::initialContext() const -{ return m_helper.find(m_initialContext, m_contexts); } +{ + return findHelper(m_initialContext, m_contexts); +} QSharedPointer HighlightDefinition::context(const QString &context) const -{ return m_helper.find(context, m_contexts); } +{ + return findHelper(context, m_contexts); +} const QHash > &HighlightDefinition::contexts() const -{ return m_contexts; } +{ + return m_contexts; +} QSharedPointer HighlightDefinition::createItemData(const QString &itemData) -{ return m_helper.create(itemData, m_itemsData); } +{ + return createHelper(itemData, m_itemsData); +} QSharedPointer HighlightDefinition::itemData(const QString &itemData) const -{ return m_helper.find(itemData, m_itemsData); } +{ + return findHelper(itemData, m_itemsData); +} void HighlightDefinition::setSingleLineComment(const QString &start) { m_singleLineComment = start; } diff --git a/src/plugins/texteditor/generichighlighter/highlightdefinition.h b/src/plugins/texteditor/generichighlighter/highlightdefinition.h index 2d45de7006b..5d3cd137672 100644 --- a/src/plugins/texteditor/generichighlighter/highlightdefinition.h +++ b/src/plugins/texteditor/generichighlighter/highlightdefinition.h @@ -89,16 +89,6 @@ public: private: Q_DISABLE_COPY(HighlightDefinition) - struct GenericHelper - { - template - QSharedPointer create(const QString &name, Container &container); - - template - QSharedPointer find(const QString &name, const Container &container) const; - }; - GenericHelper m_helper; - QHash > m_lists; QHash > m_contexts; QHash > m_itemsData;