summaryrefslogtreecommitdiff
path: root/src/libs/qmljs/qmljscheck.cpp
diff options
context:
space:
mode:
authorChristian Stenger <christian.stenger@qt.io>2022-02-07 15:10:44 +0100
committerChristian Stenger <christian.stenger@qt.io>2022-02-11 15:44:22 +0000
commit39db18f96870d794004e2d52aa663ea05adf0070 (patch)
tree2ad7b4f330aa9f7a98ed47f444e6345f71d7aeb9 /src/libs/qmljs/qmljscheck.cpp
parent125ac37724228b323509abfef6a737427837219b (diff)
downloadqt-creator-39db18f96870d794004e2d52aa663ea05adf0070.tar.gz
QmlJS: Soften strict equality check Pt III
Adapt to differences Qt5 vs Qt6. Fixes: QTCREATORBUG-25917 Change-Id: Ieee1cf0442016c62b82bd932dd62d0dc9a78bc26 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Fawzi Mohamed <fawzi.mohamed@qt.io>
Diffstat (limited to 'src/libs/qmljs/qmljscheck.cpp')
-rw-r--r--src/libs/qmljs/qmljscheck.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/libs/qmljs/qmljscheck.cpp b/src/libs/qmljs/qmljscheck.cpp
index 21c501791c..7fe9885bdd 100644
--- a/src/libs/qmljs/qmljscheck.cpp
+++ b/src/libs/qmljs/qmljscheck.cpp
@@ -1295,7 +1295,17 @@ static bool isIntegerValue(const Value *value)
if (value->asNumberValue() || value->asIntValue())
return true;
if (auto obj = value->asObjectValue())
- return obj->className() == "Number";
+ return obj->className() == "Number" || obj->className() == "int";
+
+ return false;
+}
+
+static bool isStringValue(const Value *value)
+{
+ if (value->asStringValue())
+ return true;
+ if (auto obj = value->asObjectValue())
+ return obj->className() == "QString" || obj->className() == "string";
return false;
}
@@ -1311,6 +1321,8 @@ static bool strictCompareConstant(const Value *lhs, const Value *rhs)
return false;
if (isIntegerValue(lhs) && isIntegerValue(rhs))
return false;
+ if (isStringValue(lhs) && isStringValue(rhs))
+ return false;
if (lhs->asBooleanValue() && !rhs->asBooleanValue())
return true;
if (lhs->asNumberValue() && !rhs->asNumberValue())