diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2016-10-06 11:36:19 +0200 |
---|---|---|
committer | Ulf Hermann <ulf.hermann@qt.io> | 2016-10-14 10:52:53 +0000 |
commit | 7fe44d5d3b0ce86e53d00b65f0905c83b2e17586 (patch) | |
tree | e2e26eaa3b1dadfab51eab70cd7ca929bc3a03d8 /src/scxml/qscxmltabledata.cpp | |
parent | d21bf21aed0c346b5666725ba52c4424c360c028 (diff) |
Simplify qscxmlexecutablecontent.h
The only things we actually have to export are a few structs and
typedefs. As we have to keep this binary compatible we should strive
to make it as simple as possible.
Change-Id: I54d365530800c86ecc3d859d6daea94e05b893a0
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
Diffstat (limited to 'src/scxml/qscxmltabledata.cpp')
-rw-r--r-- | src/scxml/qscxmltabledata.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/scxml/qscxmltabledata.cpp b/src/scxml/qscxmltabledata.cpp index ced6c16..c2e9dc6 100644 --- a/src/scxml/qscxmltabledata.cpp +++ b/src/scxml/qscxmltabledata.cpp @@ -254,9 +254,9 @@ protected: // visitor QVector<QScxmlExecutableContent::StringId> namelist; for (const QString &name : qAsConst(invoke->namelist)) namelist += addString(name); - QVector<QScxmlExecutableContent::Param> params; + QVector<QScxmlExecutableContent::ParameterInfo> params; for (DocumentModel::Param *param : qAsConst(invoke->params)) { - QScxmlExecutableContent::Param p; + QScxmlExecutableContent::ParameterInfo p; p.name = addString(param->name); p.expr = createEvaluatorVariant(QStringLiteral("param"), QStringLiteral("expr"), param->expr); @@ -480,12 +480,14 @@ protected: // visitor } protected: + static int paramSize() { return sizeof(ParameterInfo) / sizeof(qint32); } + ContainerId generate(const DocumentModel::DoneData *node) { auto id = m_instructions.newContainerId(); DoneData *doneData; if (node) { - doneData = m_instructions.add<DoneData>(node->params.size() * Param::calculateSize()); + doneData = m_instructions.add<DoneData>(node->params.size() * paramSize()); doneData->contents = addString(node->contents); doneData->expr = createEvaluatorString(QStringLiteral("donedata"), QStringLiteral("expr"), @@ -529,10 +531,10 @@ protected: return id; } - void generate(Array<Param> *out, const QVector<DocumentModel::Param *> &in) + void generate(Array<ParameterInfo> *out, const QVector<DocumentModel::Param *> &in) { out->count = in.size(); - Param *it = out->data(); + ParameterInfo *it = out->data(); for (DocumentModel::Param *f : in) { it->name = addString(f->name); it->expr = createEvaluatorVariant(QStringLiteral("param"), QStringLiteral("expr"), @@ -870,7 +872,7 @@ private: Table<QVector<EvaluatorInfo>, EvaluatorInfo, EvaluatorId> m_evaluators; Table<QVector<AssignmentInfo>, AssignmentInfo, EvaluatorId> m_assignments; Table<QVector<ForeachInfo>, ForeachInfo, EvaluatorId> m_foreaches; - StringIds &m_dataIds; + QVector<StringId> &m_dataIds; bool m_isCppDataModel = false; StateTable m_stateTable; |