diff options
| author | Ulf Hermann <ulf.hermann@qt.io> | 2024-11-25 11:05:10 +0100 |
|---|---|---|
| committer | Ulf Hermann <ulf.hermann@qt.io> | 2024-11-29 16:41:21 +0100 |
| commit | 6d5f0aea9e29cd4710adc1d8f9d58954473a85fa (patch) | |
| tree | 136a353357b5148d8dc721f87732d676be65df2b /src | |
| parent | 804d6ceec11e687e4fa821a2b6ceb4223597d0ab (diff) | |
QmlCompiler: Remove QQmlJSTypeResolver::trackedType()
We create a new QQmlJSRegisterContent in all the cases where it's used
anyway.
Task-number: QTBUG-124670
Change-Id: I4315b0485569c2a7fb77a78ab9d25f88d2371d96
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
Diffstat (limited to 'src')
| -rw-r--r-- | src/qmlcompiler/qqmljsstorageinitializer.cpp | 5 | ||||
| -rw-r--r-- | src/qmlcompiler/qqmljstypepropagator.cpp | 18 | ||||
| -rw-r--r-- | src/qmlcompiler/qqmljstyperesolver_p.h | 1 |
3 files changed, 7 insertions, 17 deletions
diff --git a/src/qmlcompiler/qqmljsstorageinitializer.cpp b/src/qmlcompiler/qqmljsstorageinitializer.cpp index 04ba64a647..96a44c9eea 100644 --- a/src/qmlcompiler/qqmljsstorageinitializer.cpp +++ b/src/qmlcompiler/qqmljsstorageinitializer.cpp @@ -23,7 +23,7 @@ QQmlJSCompilePass::BlocksAndAnnotations QQmlJSStorageInitializer::run(Function * if (QQmlJSRegisterContent &returnType = function->returnType; returnType.isValid()) { if (const QQmlJSScope::ConstPtr stored = m_typeResolver->storedType(returnType.containedType())) { - returnType = m_pool->storedIn(returnType, m_typeResolver->trackedType(stored)); + returnType = m_pool->storedIn(returnType, stored); } else { addError(QStringLiteral("Cannot store the return type %1.") .arg(returnType.containedType()->internalName())); @@ -38,8 +38,7 @@ QQmlJSCompilePass::BlocksAndAnnotations QQmlJSStorageInitializer::run(Function * const QQmlJSRegisterContent original = m_typeResolver->original(content); const QQmlJSScope::ConstPtr originalStored = m_typeResolver->storedType(original.containedType()); - const QQmlJSScope::ConstPtr originalTracked = m_typeResolver->trackedType(originalStored); - content = m_pool->storedIn(content, originalTracked); + content = m_pool->storedIn(content, originalStored); const QQmlJSScope::ConstPtr adjustedStored = m_typeResolver->storedType(content.containedType()); diff --git a/src/qmlcompiler/qqmljstypepropagator.cpp b/src/qmlcompiler/qqmljstypepropagator.cpp index 4c3e6b120d..056d0a902e 100644 --- a/src/qmlcompiler/qqmljstypepropagator.cpp +++ b/src/qmlcompiler/qqmljstypepropagator.cpp @@ -2294,8 +2294,7 @@ void QQmlJSTypePropagator::generate_DefineArray(int argc, int args) setAccumulator(m_typeResolver->operationType(m_typeResolver->variantListType())); // Track all arguments as the same type. - const QQmlJSScope::ConstPtr elementType - = m_typeResolver->trackedType(m_typeResolver->varType()); + const QQmlJSScope::ConstPtr elementType = m_typeResolver->varType(); for (int i = 0; i < argc; ++i) addReadRegister(args + i, elementType); } @@ -2306,11 +2305,8 @@ void QQmlJSTypePropagator::generate_DefineObjectLiteral(int internalClassId, int Q_ASSERT(argc >= classSize); // Track each element as separate type - for (int i = 0; i < classSize; ++i) { - addReadRegister( - args + i, - m_typeResolver->trackedType(m_typeResolver->varType())); - } + for (int i = 0; i < classSize; ++i) + addReadRegister(args + i, m_typeResolver->varType()); for (int i = classSize; i < argc; i += 3) { // layout for remaining members is: @@ -2319,14 +2315,10 @@ void QQmlJSTypePropagator::generate_DefineObjectLiteral(int internalClassId, int // could not be compiled to C++. Ignore it. // 1: name of argument - addReadRegister( - args + i + 1, - m_typeResolver->trackedType(m_typeResolver->stringType())); + addReadRegister(args + i + 1, m_typeResolver->stringType()); // 2: value of argument - addReadRegister( - args + i + 2, - m_typeResolver->trackedType(m_typeResolver->varType())); + addReadRegister(args + i + 2, m_typeResolver->varType()); } setAccumulator(m_typeResolver->operationType(m_typeResolver->variantMapType())); diff --git a/src/qmlcompiler/qqmljstyperesolver_p.h b/src/qmlcompiler/qqmljstyperesolver_p.h index aace2d34eb..47c5bf8cfa 100644 --- a/src/qmlcompiler/qqmljstyperesolver_p.h +++ b/src/qmlcompiler/qqmljstyperesolver_p.h @@ -200,7 +200,6 @@ public: bool cloneMode() const { return m_cloneMode; } QQmlJSScope::ConstPtr storedType(const QQmlJSScope::ConstPtr &type) const; - QQmlJSScope::ConstPtr trackedType(const QQmlJSScope::ConstPtr &type) const { return type; } const QQmlJSScopesById &objectsById() const { return m_objectsById; } bool canCallJSFunctions() const { return m_objectsById.signaturesAreEnforced(); } |
