aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2022-05-20 10:05:32 +0200
committerUlf Hermann <ulf.hermann@qt.io>2022-05-23 10:50:02 +0000
commit14fe834c42ac2eba9f0ac3cc064397ac796d0fb7 (patch)
tree5d4cc65069f97cb61ffaf3c122a3f0d2daa6e7f2
parent775b1de8e57f098dddc532fe79e4d228a182be80 (diff)
QmlCompiler: Do not wrap doubles into QJSPrimitiveValue
Doubles can be stored directly. If we wrap them into QJSPrimitiveValue we just induce unnecessary conversions. Pick-to: 6.2 6.3 Task-number: QTBUG-103560 Change-Id: I34b4ac46afe72f1532362f0aaf156c4a30704f88 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
-rw-r--r--src/qmlcompiler/qqmljstyperesolver.cpp9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/qmlcompiler/qqmljstyperesolver.cpp b/src/qmlcompiler/qqmljstyperesolver.cpp
index 81a75faa38..654eeb7e02 100644
--- a/src/qmlcompiler/qqmljstyperesolver.cpp
+++ b/src/qmlcompiler/qqmljstyperesolver.cpp
@@ -243,10 +243,7 @@ QQmlJSTypeResolver::typeForBinaryOperation(QSOperator::Op oper, const QQmlJSRegi
if (equals(result, boolType()))
return QQmlJSRegisterContent::create(intType(), intType(),
QQmlJSRegisterContent::Builtin);
- if (isNumeric(result))
- return QQmlJSRegisterContent::create(realType(), realType(),
- QQmlJSRegisterContent::Builtin);
- return QQmlJSRegisterContent::create(jsPrimitiveType(), realType(),
+ return QQmlJSRegisterContent::create(realType(), realType(),
QQmlJSRegisterContent::Builtin);
}
case QSOperator::Op::Mul:
@@ -254,9 +251,7 @@ QQmlJSTypeResolver::typeForBinaryOperation(QSOperator::Op oper, const QQmlJSRegi
case QSOperator::Op::Exp:
case QSOperator::Op::Mod:
return QQmlJSRegisterContent::create(
- isNumeric(merge(containedType(left), containedType(right))) ? realType()
- : jsPrimitiveType(),
- realType(), QQmlJSRegisterContent::Builtin);
+ realType(), realType(), QQmlJSRegisterContent::Builtin);
case QSOperator::Op::As:
return right;
default: