diff options
-rw-r--r-- | src/qmlcompiler/qqmljstypepropagator.cpp | 3 | ||||
-rw-r--r-- | tests/auto/qml/qmllint/data/SharedFunctions.js | 5 | ||||
-rw-r--r-- | tests/auto/qml/qmllint/data/dontCheckJSTypes.qml | 11 | ||||
-rw-r--r-- | tests/auto/qml/qmllint/tst_qmllint.cpp | 1 |
4 files changed, 20 insertions, 0 deletions
diff --git a/src/qmlcompiler/qqmljstypepropagator.cpp b/src/qmlcompiler/qqmljstypepropagator.cpp index fa29c305bd..dd95bfbc84 100644 --- a/src/qmlcompiler/qqmljstypepropagator.cpp +++ b/src/qmlcompiler/qqmljstypepropagator.cpp @@ -846,6 +846,9 @@ void QQmlJSTypePropagator::propagatePropertyLookup(const QString &propertyName, if (propertyResolution(baseType, propertyName) != PropertyMissing) return; + if (baseType->isScript()) + return; + std::optional<QQmlJSFixSuggestion> fixSuggestion; if (auto suggestion = QQmlJSUtils::didYouMean(propertyName, baseType->properties().keys(), diff --git a/tests/auto/qml/qmllint/data/SharedFunctions.js b/tests/auto/qml/qmllint/data/SharedFunctions.js new file mode 100644 index 0000000000..3398d2d6d7 --- /dev/null +++ b/tests/auto/qml/qmllint/data/SharedFunctions.js @@ -0,0 +1,5 @@ +.pragma library + +function setColorAlpha(color, alpha) { + return Qt.hsla(color.hslHue, color.hslSaturation, color.hslLightness, alpha) +} diff --git a/tests/auto/qml/qmllint/data/dontCheckJSTypes.qml b/tests/auto/qml/qmllint/data/dontCheckJSTypes.qml new file mode 100644 index 0000000000..dc582936b9 --- /dev/null +++ b/tests/auto/qml/qmllint/data/dontCheckJSTypes.qml @@ -0,0 +1,11 @@ +import QtQuick + +import "SharedFunctions.js" as Functions + +Item { + Rectangle { + color: Functions.setColorAlpha(Qt.color("orange"), 0.15) + x: Functions.setColorAlpha.asdfg + y: Functions.asdfg + } +} diff --git a/tests/auto/qml/qmllint/tst_qmllint.cpp b/tests/auto/qml/qmllint/tst_qmllint.cpp index 6a646c96f0..a33e73ddb6 100644 --- a/tests/auto/qml/qmllint/tst_qmllint.cpp +++ b/tests/auto/qml/qmllint/tst_qmllint.cpp @@ -1331,6 +1331,7 @@ void TestQmllint::cleanQmlCode_data() QTest::newRow("QEventPoint") << QStringLiteral("qEventPoint.qml"); QTest::newRow("locale") << QStringLiteral("locale.qml"); QTest::newRow("constInvokable") << QStringLiteral("useConstInvokable.qml"); + QTest::newRow("dontCheckJSTypes") << QStringLiteral("dontCheckJSTypes.qml"); } void TestQmllint::cleanQmlCode() |