qtdeclarative/tests/auto/qml/qmlcppcodegen/data
Ulf Hermann bda7b2a444 QmlCompiler: Handle various date and time conversions correctly
We can coerce QDateTime, QDate and QTime into each other because they
would all be represented by a Date object in JavaScript. Furthermore we
can coerce them all to QString. Technically, we could also coerce
strings to all of them, but we don't want to because that is terrible.

Fixes: QTBUG-109380
Change-Id: I176bfb5b715a6a6750cb5918c44261fa23fb8832
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
2023-01-17 21:58:32 +01:00
..
Cycle QQmlJSImportsVisitor: Break inheritance cycles 2021-12-12 12:05:28 +01:00
ProgressBar Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
ambiguous1 QmlCompiler: Improve ambiguous type detection 2022-04-01 20:58:49 +02:00
ambiguous2 QmlCompiler: Improve ambiguous type detection 2022-04-01 20:58:49 +02:00
imports QmlCompiler: Improve ambiguous type detection 2022-04-01 20:58:49 +02:00
shared Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
AccessModelMethodsFromOutside.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
ArraySequenceLengthInterop.qml QQmlJSCodeGenerator: fix nullptr dereference 2022-12-12 15:33:18 +01:00
BadType.qml QmlCompiler: Add test case for descriptive name of invalid type 2022-04-28 22:50:25 +00:00
BaseMember.qml
BindingExpression.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
CMakeLists.txt QmlCompiler: Handle various date and time conversions correctly 2023-01-17 21:58:32 +01:00
CxxTypeFromDir.qml QML: Unify postprocessing of imports 2022-12-07 16:48:35 +01:00
CxxTypeFromImplicit.qml QML: Unify postprocessing of imports 2022-12-07 16:48:35 +01:00
Cycle1.qml QQmlJSImportsVisitor: Break inheritance cycles 2021-12-12 12:05:28 +01:00
Cycle2.qml QQmlJSImportsVisitor: Break inheritance cycles 2021-12-12 12:05:28 +01:00
Cycle3.qml QQmlJSImportsVisitor: Break inheritance cycles 2021-12-12 12:05:28 +01:00
Dummy.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
Enums.qml
Foozle.qml QmlCompiler: Don't try to get attached objects for non-QObject* 2021-12-17 12:43:14 +01:00
Loopy.qml QQmlJSAotContext: flushPendingBinding() before capturing a property 2021-12-10 10:06:28 +01:00
OkType.qml QmlCompiler: Add test case for descriptive name of invalid type 2022-04-28 22:50:25 +00:00
Panel.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
RootWithoutId.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
SelectionRectangle.qml
Test.qml QmlCompiler: Check builtin type aliases after list resolution 2022-06-15 09:43:01 +02:00
TestCase.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
WindowDerived.qml QmlCompiler: Fix a number of warts regarding type lookup 2022-03-23 12:29:26 +01:00
aliasLookup.qml
ambiguous.h Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
ambiguousSignals.qml QmlCompiler: Ignore cloned signals when analyzing signal handlers 2022-12-07 13:50:01 +01:00
anchorsFill.qml
argumentConversion.qml QmlCompiler: Don't push type conversions back into the engine 2022-07-05 19:50:24 +02:00
array.qml
asCast.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
attachedBaseEnum.qml
badSequence.qml QmlCompiler: Don't crash on unknown list value types 2022-07-06 21:28:05 +02:00
bindToValueType.qml
birthdayparty.cpp Port from container::count() and length() to size() 2022-10-07 23:38:48 +02:00
birthdayparty.h QmlCompiler: Handle trivial signal handler constructions 2022-07-07 19:33:39 +02:00
blockComments.qml QmlCompiler: Do not generate block comments into C++ code 2022-02-18 12:13:47 +01:00
boundComponents.qml qmlcompiler: Evaluate pragma ComponentBehavior 2022-05-24 15:44:16 +02:00
callContextPropertyLookupResult.qml
callWithSpread.qml QmlCompiler: Don't crash on CallWithSpread 2022-11-22 12:32:23 +01:00
childobject.qml
colorAsVariant.qml
colorString.qml
componentReturnType.qml
compositeTypeMethod.qml
compositesingleton.qml
consoleObject.qml QmlCompiler: Implement console logging methods 2022-11-23 10:27:55 +01:00
construct.qml
contextParam.qml
conversionDecrement.qml QmlCompiler: Add missing parentheses to in-place arithmetic operations 2022-06-28 01:52:43 +02:00
conversions.qml
conversions2.qml QmlCompiler: Don't store void and nullptr 2022-02-12 20:03:12 +01:00
cppbaseclass.h QmlCompiler: Do not crash on version-mismatched property access 2022-10-06 20:37:53 +02:00
curlygrouped.qml
cycleHead.qml QQmlJSImportsVisitor: Break inheritance cycles 2021-12-12 12:05:28 +01:00
dateConversions.qml QmlCompiler: Handle various date and time conversions correctly 2023-01-17 21:58:32 +01:00
deadShoeSize.qml
deadStoreLoop.qml QmlCompiler: Avoid infinite loop in dead store elimination 2022-02-18 16:48:50 +01:00
dialog.qml
druggeljug.h QmlCompiler: Handle various date and time conversions correctly 2023-01-17 21:58:32 +01:00
dynamicmeta.h Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
dynamicscene.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
enumConversion.qml Fix comparison AOT-lookup and intended type in value types 2022-12-05 17:39:24 +01:00
enumInvalid.qml
enumLookup.qml QmlCompiler: Allow wrapping enums into int 2022-07-07 19:33:27 +02:00
enumProblems.qml QmlCompiler: Fix various kinds of enum lookup 2022-12-02 13:35:42 +01:00
enumProperty.h Fix comparison AOT-lookup and intended type in value types 2022-12-05 17:39:24 +01:00
enumScope.qml
enumproblems.h QmlCompiler: Fix various kinds of enum lookup 2022-12-02 13:35:42 +01:00
enumsInOtherObject.qml
enumsUser.qml
equalityQObjects.qml QmlCachegen: Equality comparison ability to QObject * 2023-01-10 15:09:23 +03:00
equalityVarAndNonStorable.qml Allow extraction of V4 values from QJSPrimitiveValue 2023-01-16 23:03:57 +00:00
equalsUndefined.qml
excessiveParameters.qml
extendedTypes.qml
failures.qml QML: Fix the most blatant TDZ violations 2022-11-14 10:19:08 +01:00
fallbacklookups.qml QML: Handle dynamic meta objects in AOT lookups 2022-03-03 18:44:38 +01:00
fileDialog.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
fromBoolValue.qml QmlCompiler: Analyze type conversions before reads in basic blocks 2022-04-06 17:12:50 +02:00
funcWithParams.qml
functionLookup.qml QmlCompiler: Do not crash on attempts to lookup a function in the scope 2022-02-18 12:13:47 +01:00
functionReturningVoid.qml QmlCompiler: Fix return type calculation 2021-12-06 19:35:50 +01:00
functionTakingVar.qml QML: Take care of QVariant when converting function arguments 2022-02-23 12:09:42 +01:00
gadgetwithenum.h qmltyperegistrar: Generate accessSemantics="none" for foreign namespaces 2022-11-29 12:32:27 +01:00
globals.qml
idAccess.qml
immediateQuit.qml
importsFromImportPath.qml
infinities.qml QmlCompiler: Correctly encode inf/nan/-0 into C++ 2022-02-18 12:13:47 +01:00
infinitiesToInt.qml QmlCompiler: Test that infinities cleanly cast to int 2022-12-23 09:02:24 +01:00
intEnumCompare.qml
intOverflow.qml
interactive.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
interceptor.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
invisible.h Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
invisibleBase.qml QmlCompiler: Handle ID lookups of incomplete types correctly 2022-01-22 09:59:09 +01:00
invisibleListElementType.qml QmlCompiler: Don't crash when trying to resolve null list types 2022-06-02 10:07:40 +02:00
invisibleTypes.qml QmlCompile: Double-check types before generating lookups 2022-04-25 08:44:43 +02:00
isnan.qml QmlCompiler: Correctly label arguments and return types of JS functions 2022-02-25 14:08:22 +01:00
javaScriptArgument.qml QmlCompiler: Really fix writing into argument values 2022-07-05 19:50:19 +02:00
jsMathObject.qml QmlCompiler: Implement Math.pow() 2022-07-21 13:19:04 +02:00
jsimport.qml
jsmoduleimport.qml
layouts.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
letAndConst.qml QmlCompiler: Ignore InitializeDeadTemporalZone instruction 2022-11-11 12:07:42 +01:00
library.js
listAsArgument.qml QmlCompiler: Allow lists as arguments to methods 2022-11-10 15:00:11 +01:00
listIndices.qml QmlCompiler: Detect non-integral values when accessing QQmlListProperty 2022-05-19 22:30:23 +02:00
listPropertyAsModel.qml QQmlListAccessor: Accept QQmlListProperty 2022-07-26 21:17:28 +02:00
listlength.qml
math.qml
mathOperations.qml QmlCompiler: Implement remaining operators 2022-08-29 13:21:06 +02:00
methods.qml
modulePrefix.qml
moveRegVoid.qml QmlCompiler: On MoveReg, check if we need to move at all 2022-03-01 08:51:52 +01:00
multiforeign.h QmlCompiler: Store imported types in a QList 2022-11-25 00:04:02 +01:00
multiforeign.qml QmlCompiler: Store imported types in a QList 2022-11-25 00:04:02 +01:00
namespaceWithEnum.qml qmltyperegistrar: Generate accessSemantics="none" for foreign namespaces 2022-11-29 12:32:27 +01:00
noBindingLoop.qml QQmlJSAotContext: flushPendingBinding() before capturing a property 2021-12-10 10:06:28 +01:00
noQQmlData.qml
nonNotifyable.qml
noscope.qml
notEqualsInt.qml QmlCompiler: Place code for CmpNeInt in parentheses 2022-02-04 15:55:00 +01:00
notNotString.qml QmlCompiler: Allow any conversion possible via QJSPrimitiveValue 2022-08-03 08:32:50 +02:00
nullAccess.qml
nullComparison.qml QmlCompiler: Fix comparison of null and undefined 2022-11-23 10:27:48 +01:00
numbersInJsPrimitive.qml QmlCompiler: Fix wrapping of numbers in QJSPrimitiveValue 2022-12-15 17:47:11 +01:00
objectInVar.qml QmlCompiler: Perform QVariant conversion in JavaScript semantics 2022-02-18 12:13:47 +01:00
objectwithmethod.h Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
outOfBounds.qml QmlCompiler: Implement console logging methods 2022-11-23 10:27:55 +01:00
overriddenMember.qml
ownProperty.qml
page.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
parentProp.qml
person.cpp QmlCompiler: Support conversions between QString and QByteArray 2022-07-22 21:30:12 +02:00
person.h QmlCompiler: Ignore cloned signals when analyzing signal handlers 2022-12-07 13:50:01 +01:00
popContextAfterRet.qml QmlCompiler: Handle context push/pop in dead code 2022-01-18 12:51:38 +01:00
prefixedMetaType.qml QmlCompiler: Respect qualified property types 2022-04-06 05:02:34 +02:00
pressAndHoldButton.qml
propertyChanges.qml
registerPropagation.qml QmlCompiler: Initialize registers with undefined where necessary 2022-07-05 19:50:28 +02:00
registerelimination.qml Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
revisions.qml QmlCompiler: Respect revisions 2022-01-21 01:23:58 +01:00
scopeVsObject.qml
script.js
script.mjs
sequencetypeexample.cpp QQmlJSCodeGenerator: fix nullptr dereference 2022-12-12 15:33:18 +01:00
sequencetypeexample.h QQmlJSCodeGenerator: fix nullptr dereference 2022-12-12 15:33:18 +01:00
shifts.qml
signal.qml
signalHandler.qml QmlCompiler: Handle trivial signal handler constructions 2022-07-07 19:33:39 +02:00
signalIndexMismatch.qml Remove signal index mismatch in aot-compiled code 2022-11-15 11:52:45 +01:00
signatureIgnored.qml Add option to enforce function signatures 2022-10-14 16:36:36 +02:00
specificParent.qml
state.h Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
storeElementSideEffects.qml QmlCompiler: Mark StoreElement on JS values has having side effects 2022-12-15 14:03:55 +01:00
stringArg.qml QmlCompiler: Inline String.arg() into generated code 2022-06-24 22:17:17 +02:00
stringLength.qml
stringToByteArray.qml QmlCompiler: Support conversions between QString and QByteArray 2022-07-22 21:30:12 +02:00
testlogger.js Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
text.qml
theme.cpp Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
theme.h Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
themerbad.qml qmlcachegen: Don't generate bad code if we cannot resolve a return type 2021-12-10 02:42:47 +01:00
themergood.qml QmlCompiler: Split type name by last "::" rather than first 2021-12-10 02:42:47 +01:00
throwObjectName.qml QmlCompiler: Properly annotate ThrowException instruction 2022-06-23 09:35:56 +02:00
timelinetheme.cpp Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
timelinetheme.h Use SPDX license identifiers 2022-06-11 08:05:15 +02:00
toString.qml QmlCompiler: Reject conversions via QJSValue 2022-06-15 09:43:01 +02:00
translation.qml QmlCompiler: Inline translation methods 2022-06-24 14:47:58 +02:00
trivialSignalHandler.qml QmlCompiler: Handle trivial signal handler constructions 2022-07-07 19:33:39 +02:00
typePropagationLoop.qml QmlCompiler: Properly check contained type for enums 2022-10-12 20:43:34 +02:00
typePropertyClash.qml QmlCompiler: Don't retrieve metaobjects for value and sequence types 2022-06-10 14:41:49 +02:00
typedArray.qml QmlCompiler: Add support for LoadElement on strings 2022-05-24 15:44:16 +02:00
undefinedResets.qml QmlCompiler: Allow storeNameSloppy to reset a property 2022-07-11 13:37:26 +02:00
unknownAttached.qml QmlCompiler: Don't try to get attached objects for non-QObject* 2021-12-17 12:43:14 +01:00
unknownParameter.qml
unstoredUndefined.qml QmlCompiler: Don't generate invalid code for storing undefined 2022-06-29 13:26:07 +02:00
unusedAttached.qml
urlString.qml
usingCxxTypesFromFileImports.qml QML: Unify postprocessing of imports 2022-12-07 16:48:35 +01:00
valueTypeLists.qml QmlCompiler: Add support for LoadElement on strings 2022-05-24 15:44:16 +02:00
valueTypeProperty.qml
variantlist.qml Re-allow retrieval of list properties in QQmlJSCodeGenerator 2022-01-15 14:22:42 +01:00
versionmismatch.qml QmlCompiler: Do not crash on version-mismatched property access 2022-10-06 20:37:53 +02:00
voidfunction.qml
withlength.h Add option to enforce function signatures 2022-10-14 16:36:36 +02:00
wrapwithvariant.h Allow extraction of V4 values from QJSPrimitiveValue 2023-01-16 23:03:57 +00:00