From 4618018c4b9433890550ef1f042732228917a27d Mon Sep 17 00:00:00 2001 From: Vikas Pachdha Date: Tue, 5 Jan 2021 18:26:52 +0100 Subject: [PATCH] AssetExport: Improve json generating class names Change-Id: Id9abcf1122ee4c2c53f886438958e38cc84a835d Reviewed-by: Thomas Hartmann --- src/plugins/qmldesigner/CMakeLists.txt | 8 +++--- .../assetexporterplugin.cpp | 14 +++++----- .../assetexporterplugin.pri | 16 ++++++------ .../assetexporterplugin.qbs | 16 ++++++------ .../assetexporterplugin/componentexporter.cpp | 22 ++++++++-------- .../assetexporterplugin/componentexporter.h | 26 +++++++++---------- .../assetnodedumper.cpp} | 12 ++++----- .../assetnodedumper.h} | 8 +++--- .../itemnodedumper.cpp} | 10 +++---- .../itemnodedumper.h} | 8 +++--- .../nodedumper.cpp} | 8 +++--- .../nodedumper.h} | 6 ++--- .../textnodedumper.cpp} | 12 ++++----- .../textnodedumper.h} | 8 +++--- 14 files changed, 87 insertions(+), 87 deletions(-) rename src/plugins/qmldesigner/assetexporterplugin/{parsers/assetnodeparser.cpp => dumpers/assetnodedumper.cpp} (87%) rename src/plugins/qmldesigner/assetexporterplugin/{parsers/assetnodeparser.h => dumpers/assetnodedumper.h} (88%) rename src/plugins/qmldesigner/assetexporterplugin/{parsers/modelitemnodeparser.cpp => dumpers/itemnodedumper.cpp} (91%) rename src/plugins/qmldesigner/assetexporterplugin/{parsers/modelitemnodeparser.h => dumpers/itemnodedumper.h} (88%) rename src/plugins/qmldesigner/assetexporterplugin/{parsers/modelnodeparser.cpp => dumpers/nodedumper.cpp} (86%) rename src/plugins/qmldesigner/assetexporterplugin/{parsers/modelnodeparser.h => dumpers/nodedumper.h} (92%) rename src/plugins/qmldesigner/assetexporterplugin/{parsers/textnodeparser.cpp => dumpers/textnodedumper.cpp} (92%) rename src/plugins/qmldesigner/assetexporterplugin/{parsers/textnodeparser.h => dumpers/textnodedumper.h} (88%) diff --git a/src/plugins/qmldesigner/CMakeLists.txt b/src/plugins/qmldesigner/CMakeLists.txt index 89ddbed9d9d..fcb526c55ad 100644 --- a/src/plugins/qmldesigner/CMakeLists.txt +++ b/src/plugins/qmldesigner/CMakeLists.txt @@ -53,10 +53,10 @@ add_qtc_plugin(assetexporterplugin assetexporterplugin/componentexporter.h assetexporterplugin/componentexporter.cpp assetexporterplugin/exportnotification.h assetexporterplugin/exportnotification.cpp assetexporterplugin/filepathmodel.h assetexporterplugin/filepathmodel.cpp - assetexporterplugin/parsers/assetnodeparser.h assetexporterplugin/parsers/assetnodeparser.cpp - assetexporterplugin/parsers/modelitemnodeparser.h assetexporterplugin/parsers/modelitemnodeparser.cpp - assetexporterplugin/parsers/modelnodeparser.h assetexporterplugin/parsers/modelnodeparser.cpp - assetexporterplugin/parsers/textnodeparser.h assetexporterplugin/parsers/textnodeparser.cpp + assetexporterplugin/dumpers/assetnodedumper.h assetexporterplugin/dumpers/assetnodedumper.cpp + assetexporterplugin/dumpers/itemnodedumper.h assetexporterplugin/dumpers/itemnodedumper.cpp + assetexporterplugin/dumpers/nodedumper.h assetexporterplugin/dumpers/nodedumper.cpp + assetexporterplugin/dumpers/textnodedumper.h assetexporterplugin/dumpers/textnodedumper.cpp assetexporterplugin/assetexporterplugin.qrc PLUGIN_PATH ${QmlDesignerPluginInstallPrefix} SKIP_DEBUG_CMAKE_FILE_CHECK diff --git a/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.cpp b/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.cpp index 5c42411443e..cf7caef6b01 100644 --- a/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.cpp +++ b/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.cpp @@ -32,9 +32,9 @@ #include "filepathmodel.h" #include "componentexporter.h" -#include "parsers/modelitemnodeparser.h" -#include "parsers/textnodeparser.h" -#include "parsers/assetnodeparser.h" +#include "dumpers/itemnodedumper.h" +#include "dumpers/textnodedumper.h" +#include "dumpers/assetnodedumper.h" #include "coreplugin/actionmanager/actionmanager.h" #include "coreplugin/actionmanager/actioncontainer.h" @@ -68,10 +68,10 @@ AssetExporterPlugin::AssetExporterPlugin() : auto &viewManager = designerPlugin->viewManager(); viewManager.registerViewTakingOwnership(m_view); - // Add parsers templates for factory instantiation. - Component::addNodeParser(); - Component::addNodeParser(); - Component::addNodeParser(); + // Add dumper templates for factory instantiation. + Component::addNodeDumper(); + Component::addNodeDumper(); + Component::addNodeDumper(); // Instantiate actions created by the plugin. addActions(); diff --git a/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.pri b/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.pri index 41b144f6853..0ad855a1369 100644 --- a/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.pri +++ b/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.pri @@ -16,10 +16,10 @@ HEADERS += \ componentexporter.h \ exportnotification.h \ filepathmodel.h \ - parsers/assetnodeparser.h \ - parsers/modelitemnodeparser.h \ - parsers/modelnodeparser.h \ - parsers/textnodeparser.h + dumpers/assetnodedumper.h \ + dumpers/itemnodedumper.h \ + dumpers/nodedumper.h \ + dumpers/textnodedumper.h SOURCES += \ assetexportdialog.cpp \ @@ -29,10 +29,10 @@ SOURCES += \ componentexporter.cpp \ exportnotification.cpp \ filepathmodel.cpp \ - parsers/assetnodeparser.cpp \ - parsers/modelitemnodeparser.cpp \ - parsers/modelnodeparser.cpp \ - parsers/textnodeparser.cpp + dumpers/assetnodedumper.cpp \ + dumpers/itemnodedumper.cpp \ + dumpers/nodedumper.cpp \ + dumpers/textnodedumper.cpp FORMS += \ assetexportdialog.ui diff --git a/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.qbs b/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.qbs index 39b1b2909cd..031b0977bc5 100644 --- a/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.qbs +++ b/src/plugins/qmldesigner/assetexporterplugin/assetexporterplugin.qbs @@ -53,13 +53,13 @@ QtcProduct { "exportnotification.h", "filepathmodel.cpp", "filepathmodel.h", - "parsers/assetnodeparser.cpp", - "parsers/assetnodeparser.h", - "parsers/modelitemnodeparser.cpp", - "parsers/modelitemnodeparser.h", - "parsers/modelnodeparser.cpp", - "parsers/modelnodeparser.h", - "parsers/textnodeparser.cpp", - "parsers/textnodeparser.h" + "dumpers/assetnodedumper.cpp", + "dumpers/assetnodedumper.h", + "dumpers/itemnodedumper.cpp", + "dumpers/itemnodedumper.h", + "dumpers/nodedumper.cpp", + "dumpers/nodedumper.h", + "dumpers/textnodedumper.cpp", + "dumpers/textnodedumper.h" ] } diff --git a/src/plugins/qmldesigner/assetexporterplugin/componentexporter.cpp b/src/plugins/qmldesigner/assetexporterplugin/componentexporter.cpp index 59ab72aad1d..f0e621185cf 100644 --- a/src/plugins/qmldesigner/assetexporterplugin/componentexporter.cpp +++ b/src/plugins/qmldesigner/assetexporterplugin/componentexporter.cpp @@ -26,7 +26,7 @@ #include "assetexporter.h" #include "assetexportpluginconstants.h" #include "exportnotification.h" -#include "parsers/modelnodeparser.h" +#include "dumpers/nodedumper.h" #include "model.h" #include "nodeabstractproperty.h" @@ -59,7 +59,7 @@ static QByteArrayList populateLineage(const QmlDesigner::ModelNode &node) namespace QmlDesigner { using namespace Constants; -std::vector> Component::m_readers; +std::vector> Component::m_readers; Component::Component(AssetExporter &exporter, const ModelNode &rootNode): m_exporter(exporter), m_rootNode(rootNode) @@ -88,12 +88,12 @@ void Component::exportComponent() addImports(); } -ModelNodeParser *Component::createNodeParser(const ModelNode &node) const +NodeDumper *Component::createNodeDumper(const ModelNode &node) const { QByteArrayList lineage = populateLineage(node); - std::unique_ptr reader; - for (auto &parserCreator: m_readers) { - std::unique_ptr r(parserCreator->instance(lineage, node)); + std::unique_ptr reader; + for (auto &dumperCreator: m_readers) { + std::unique_ptr r(dumperCreator->instance(lineage, node)); if (r->isExportable()) { if (reader) { if (reader->priority() < r->priority()) @@ -105,7 +105,7 @@ ModelNodeParser *Component::createNodeParser(const ModelNode &node) const } if (!reader) - qCDebug(loggerInfo()) << "No parser for node" << node; + qCDebug(loggerInfo()) << "No dumper for node" << node; return reader.release(); } @@ -118,15 +118,15 @@ QJsonObject Component::nodeToJson(const ModelNode &node) if (!node.isSubclassOf("QtQuick.Item")) return {}; - std::unique_ptr parser(createNodeParser(node)); - if (parser) { - if (parser->uuid().isEmpty()) { + std::unique_ptr dumper(createNodeDumper(node)); + if (dumper) { + if (dumper->uuid().isEmpty()) { // Assign an unique identifier to the node. QByteArray uuid = m_exporter.generateUuid(node); node.setAuxiliaryData(Constants::UuidAuxTag, QString::fromLatin1(uuid)); node.model()->rewriterView()->writeAuxiliaryData(); } - jsonObject = parser->json(*this); + jsonObject = dumper->json(*this); } else { ExportNotification::addError(tr("Error exporting node %1. Cannot parse type %2.") .arg(node.id()).arg(QString::fromUtf8(node.type()))); diff --git a/src/plugins/qmldesigner/assetexporterplugin/componentexporter.h b/src/plugins/qmldesigner/assetexporterplugin/componentexporter.h index 5e29e10bf0d..a68e60b9a67 100644 --- a/src/plugins/qmldesigner/assetexporterplugin/componentexporter.h +++ b/src/plugins/qmldesigner/assetexporterplugin/componentexporter.h @@ -41,27 +41,27 @@ namespace QmlDesigner { class AssetExporter; class ModelNode; class Component; -class ModelNodeParser; +class NodeDumper; namespace Internal { -class NodeParserCreatorBase +class NodeDumperCreatorBase { public: - virtual ~NodeParserCreatorBase() {} + virtual ~NodeDumperCreatorBase() {} protected: - virtual ModelNodeParser *instance(const QByteArrayList &, const ModelNode &) const = 0; + virtual NodeDumper *instance(const QByteArrayList &, const ModelNode &) const = 0; friend class QmlDesigner::Component; }; template -class NodeParserCreator : public NodeParserCreatorBase +class NodeDumperCreator : public NodeDumperCreatorBase { public: - NodeParserCreator() = default; - ~NodeParserCreator() = default; + NodeDumperCreator() = default; + ~NodeDumperCreator() = default; protected: - ModelNodeParser *instance(const QByteArrayList &lineage, const ModelNode &node) const { + NodeDumper *instance(const QByteArrayList &lineage, const ModelNode &node) const { return new T(lineage, node); } }; @@ -79,13 +79,13 @@ public: AssetExporter &exporter(); - template static void addNodeParser() + template static void addNodeDumper() { - QTC_ASSERT((std::is_base_of::value), return); - m_readers.push_back(std::make_unique>()); + QTC_ASSERT((std::is_base_of::value), return); + m_readers.push_back(std::make_unique>()); } private: - ModelNodeParser* createNodeParser(const ModelNode &node) const; + NodeDumper* createNodeDumper(const ModelNode &node) const; QJsonObject nodeToJson(const ModelNode &node); void addImports(); @@ -93,6 +93,6 @@ private: AssetExporter& m_exporter; const ModelNode &m_rootNode; QJsonObject m_json; - static std::vector> m_readers; + static std::vector> m_readers; }; } diff --git a/src/plugins/qmldesigner/assetexporterplugin/parsers/assetnodeparser.cpp b/src/plugins/qmldesigner/assetexporterplugin/dumpers/assetnodedumper.cpp similarity index 87% rename from src/plugins/qmldesigner/assetexporterplugin/parsers/assetnodeparser.cpp rename to src/plugins/qmldesigner/assetexporterplugin/dumpers/assetnodedumper.cpp index 85b8f11c1ef..26ce5de2a04 100644 --- a/src/plugins/qmldesigner/assetexporterplugin/parsers/assetnodeparser.cpp +++ b/src/plugins/qmldesigner/assetexporterplugin/dumpers/assetnodedumper.cpp @@ -23,7 +23,7 @@ ** ****************************************************************************/ -#include "assetnodeparser.h" +#include "assetnodedumper.h" #include "assetexportpluginconstants.h" #include "assetexporter.h" @@ -36,13 +36,13 @@ namespace QmlDesigner { using namespace Constants; -AssetNodeParser::AssetNodeParser(const QByteArrayList &lineage, const ModelNode &node) : - ItemNodeParser(lineage, node) +AssetNodeDumper::AssetNodeDumper(const QByteArrayList &lineage, const ModelNode &node) : + ItemNodeDumper(lineage, node) { } -bool AssetNodeParser::isExportable() const +bool AssetNodeDumper::isExportable() const { auto hasType = [this](const QByteArray &type) { return lineage().contains(type); @@ -50,9 +50,9 @@ bool AssetNodeParser::isExportable() const return hasType("QtQuick.Image") || hasType("QtQuick.Rectangle"); } -QJsonObject AssetNodeParser::json(Component &component) const +QJsonObject AssetNodeDumper::json(Component &component) const { - QJsonObject jsonObject = ItemNodeParser::json(component); + QJsonObject jsonObject = ItemNodeDumper::json(component); Utils::FilePath assetPath = component.exporter().exportAsset(objectNode(), uuid()); QJsonObject assetData; diff --git a/src/plugins/qmldesigner/assetexporterplugin/parsers/assetnodeparser.h b/src/plugins/qmldesigner/assetexporterplugin/dumpers/assetnodedumper.h similarity index 88% rename from src/plugins/qmldesigner/assetexporterplugin/parsers/assetnodeparser.h rename to src/plugins/qmldesigner/assetexporterplugin/dumpers/assetnodedumper.h index be764b17ec2..5d9302332df 100644 --- a/src/plugins/qmldesigner/assetexporterplugin/parsers/assetnodeparser.h +++ b/src/plugins/qmldesigner/assetexporterplugin/dumpers/assetnodedumper.h @@ -24,16 +24,16 @@ ****************************************************************************/ #pragma once -#include "modelitemnodeparser.h" +#include "itemnodedumper.h" namespace QmlDesigner { class Component; -class AssetNodeParser : public ItemNodeParser +class AssetNodeDumper : public ItemNodeDumper { public: - AssetNodeParser(const QByteArrayList &lineage, const ModelNode &node); - ~AssetNodeParser() override = default; + AssetNodeDumper(const QByteArrayList &lineage, const ModelNode &node); + ~AssetNodeDumper() override = default; bool isExportable() const override; int priority() const override { return 200; } diff --git a/src/plugins/qmldesigner/assetexporterplugin/parsers/modelitemnodeparser.cpp b/src/plugins/qmldesigner/assetexporterplugin/dumpers/itemnodedumper.cpp similarity index 91% rename from src/plugins/qmldesigner/assetexporterplugin/parsers/modelitemnodeparser.cpp rename to src/plugins/qmldesigner/assetexporterplugin/dumpers/itemnodedumper.cpp index 43963aa8b26..45f541d2e3e 100644 --- a/src/plugins/qmldesigner/assetexporterplugin/parsers/modelitemnodeparser.cpp +++ b/src/plugins/qmldesigner/assetexporterplugin/dumpers/itemnodedumper.cpp @@ -23,7 +23,7 @@ ** ****************************************************************************/ -#include "modelitemnodeparser.h" +#include "itemnodedumper.h" #include "assetexportpluginconstants.h" #include "qmlitemnode.h" @@ -41,19 +41,19 @@ static QString capitalize(const QString &str) namespace QmlDesigner { using namespace Constants; -ItemNodeParser::ItemNodeParser(const QByteArrayList &lineage, +ItemNodeDumper::ItemNodeDumper(const QByteArrayList &lineage, const ModelNode &node) : - ModelNodeParser(lineage, node) + NodeDumper(lineage, node) { } -bool QmlDesigner::ItemNodeParser::isExportable() const +bool QmlDesigner::ItemNodeDumper::isExportable() const { return lineage().contains("QtQuick.Item"); } -QJsonObject QmlDesigner::ItemNodeParser::json(QmlDesigner::Component &component) const +QJsonObject QmlDesigner::ItemNodeDumper::json(QmlDesigner::Component &component) const { Q_UNUSED(component); const QmlObjectNode &qmlObjectNode = objectNode(); diff --git a/src/plugins/qmldesigner/assetexporterplugin/parsers/modelitemnodeparser.h b/src/plugins/qmldesigner/assetexporterplugin/dumpers/itemnodedumper.h similarity index 88% rename from src/plugins/qmldesigner/assetexporterplugin/parsers/modelitemnodeparser.h rename to src/plugins/qmldesigner/assetexporterplugin/dumpers/itemnodedumper.h index 503fb4c2e9b..c820eff9384 100644 --- a/src/plugins/qmldesigner/assetexporterplugin/parsers/modelitemnodeparser.h +++ b/src/plugins/qmldesigner/assetexporterplugin/dumpers/itemnodedumper.h @@ -24,18 +24,18 @@ ****************************************************************************/ #pragma once -#include "modelnodeparser.h" +#include "nodedumper.h" namespace QmlDesigner { class ModelNode; class Component; -class ItemNodeParser : public ModelNodeParser +class ItemNodeDumper : public NodeDumper { public: - ItemNodeParser(const QByteArrayList &lineage, const ModelNode &node); + ItemNodeDumper(const QByteArrayList &lineage, const ModelNode &node); - ~ItemNodeParser() override = default; + ~ItemNodeDumper() override = default; int priority() const override { return 100; } bool isExportable() const override; diff --git a/src/plugins/qmldesigner/assetexporterplugin/parsers/modelnodeparser.cpp b/src/plugins/qmldesigner/assetexporterplugin/dumpers/nodedumper.cpp similarity index 86% rename from src/plugins/qmldesigner/assetexporterplugin/parsers/modelnodeparser.cpp rename to src/plugins/qmldesigner/assetexporterplugin/dumpers/nodedumper.cpp index d9cb9b61781..58f2af2a4cc 100644 --- a/src/plugins/qmldesigner/assetexporterplugin/parsers/modelnodeparser.cpp +++ b/src/plugins/qmldesigner/assetexporterplugin/dumpers/nodedumper.cpp @@ -22,11 +22,11 @@ ** be met: https://www.gnu.org/licenses/gpl-3.0.html. ** ****************************************************************************/ -#include "modelnodeparser.h" +#include "nodedumper.h" #include "assetexportpluginconstants.h" namespace QmlDesigner { -ModelNodeParser::ModelNodeParser(const QByteArrayList &lineage, const ModelNode &node) : +NodeDumper::NodeDumper(const QByteArrayList &lineage, const ModelNode &node) : m_node(node), m_objectNode(node), m_lineage(lineage) @@ -34,12 +34,12 @@ ModelNodeParser::ModelNodeParser(const QByteArrayList &lineage, const ModelNode } -QVariant ModelNodeParser::propertyValue(const PropertyName &name) const +QVariant NodeDumper::propertyValue(const PropertyName &name) const { return m_objectNode.instanceValue(name); } -QString ModelNodeParser::uuid() const +QString NodeDumper::uuid() const { return m_node.auxiliaryData(Constants::UuidAuxTag).toString(); } diff --git a/src/plugins/qmldesigner/assetexporterplugin/parsers/modelnodeparser.h b/src/plugins/qmldesigner/assetexporterplugin/dumpers/nodedumper.h similarity index 92% rename from src/plugins/qmldesigner/assetexporterplugin/parsers/modelnodeparser.h rename to src/plugins/qmldesigner/assetexporterplugin/dumpers/nodedumper.h index c91b2eae022..286045539aa 100644 --- a/src/plugins/qmldesigner/assetexporterplugin/parsers/modelnodeparser.h +++ b/src/plugins/qmldesigner/assetexporterplugin/dumpers/nodedumper.h @@ -33,12 +33,12 @@ namespace QmlDesigner { class Component; class ModelNode; -class ModelNodeParser +class NodeDumper { public: - ModelNodeParser(const QByteArrayList &lineage, const ModelNode &node); + NodeDumper(const QByteArrayList &lineage, const ModelNode &node); - virtual ~ModelNodeParser() = default; + virtual ~NodeDumper() = default; virtual int priority() const = 0; virtual bool isExportable() const = 0; diff --git a/src/plugins/qmldesigner/assetexporterplugin/parsers/textnodeparser.cpp b/src/plugins/qmldesigner/assetexporterplugin/dumpers/textnodedumper.cpp similarity index 92% rename from src/plugins/qmldesigner/assetexporterplugin/parsers/textnodeparser.cpp rename to src/plugins/qmldesigner/assetexporterplugin/dumpers/textnodedumper.cpp index 1a0c938a6ad..49d16cb393b 100644 --- a/src/plugins/qmldesigner/assetexporterplugin/parsers/textnodeparser.cpp +++ b/src/plugins/qmldesigner/assetexporterplugin/dumpers/textnodedumper.cpp @@ -23,7 +23,7 @@ ** ****************************************************************************/ -#include "textnodeparser.h" +#include "textnodedumper.h" #include "assetexportpluginconstants.h" #include @@ -55,21 +55,21 @@ QString toJsonAlignEnum(QString value) { namespace QmlDesigner { using namespace Constants; -TextNodeParser::TextNodeParser(const QByteArrayList &lineage, const ModelNode &node) : - ItemNodeParser(lineage, node) +TextNodeDumper::TextNodeDumper(const QByteArrayList &lineage, const ModelNode &node) : + ItemNodeDumper(lineage, node) { } -bool TextNodeParser::isExportable() const +bool TextNodeDumper::isExportable() const { return lineage().contains("QtQuick.Text"); } -QJsonObject TextNodeParser::json(Component &component) const +QJsonObject TextNodeDumper::json(Component &component) const { Q_UNUSED(component); - QJsonObject jsonObject = ItemNodeParser::json(component); + QJsonObject jsonObject = ItemNodeDumper::json(component); QJsonObject textDetails; textDetails.insert(TextContentTag, propertyValue("text").toString()); diff --git a/src/plugins/qmldesigner/assetexporterplugin/parsers/textnodeparser.h b/src/plugins/qmldesigner/assetexporterplugin/dumpers/textnodedumper.h similarity index 88% rename from src/plugins/qmldesigner/assetexporterplugin/parsers/textnodeparser.h rename to src/plugins/qmldesigner/assetexporterplugin/dumpers/textnodedumper.h index c05d5c8f883..96a2c243530 100644 --- a/src/plugins/qmldesigner/assetexporterplugin/parsers/textnodeparser.h +++ b/src/plugins/qmldesigner/assetexporterplugin/dumpers/textnodedumper.h @@ -24,16 +24,16 @@ ****************************************************************************/ #pragma once -#include "modelitemnodeparser.h" +#include "itemnodedumper.h" namespace QmlDesigner { class Component; -class TextNodeParser : public ItemNodeParser +class TextNodeDumper : public ItemNodeDumper { public: - TextNodeParser(const QByteArrayList &lineage, const ModelNode &node); - ~TextNodeParser() override = default; + TextNodeDumper(const QByteArrayList &lineage, const ModelNode &node); + ~TextNodeDumper() override = default; bool isExportable() const override; int priority() const override { return 200; }