Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-76025

Specify the QML language and write a QML-to-C++ compiler

    XMLWordPrintable

Details

    Description

      We need to figure out the exact specifics of what we can or cannot support in strict QML.

      The high level descriptions sound nice, but are certainly incomplete and the devil will definitely be in the details.

      In order to learn more about this, we need to write a prototype and try to port some example code from dynamic to strict QML.

      Attachments

        Issue Links

          1.
          Support unwind handlers in qmlcachegen Technical task Reported Ulf Hermann
          2.
          Support iterators in qmlcachegen Technical task Closed Ulf Hermann
          3.
          qmlsc: Implement Temporal Dead Zone (TDZ) checks Technical task Closed Ulf Hermann
          4.
          qmlsc doesn't like JS Math functions Technical task Closed Ulf Hermann
          5.
          Provide specialization for qsTr and string.arg() Technical task Closed Ulf Hermann
          6.
          Implement generate_InitializeBlockDeadTemporalZone Technical task Closed Ulf Hermann
          7.
          Have qmlsc and qmlcachegen generate code for console.log() and friends Technical task Closed Ulf Hermann
          8.
          qmlsc: Support optional chaining Technical task Closed Olivier De Cannière
          9.
          qmlsc: Add ability to inline const primitive values from *.js files Technical task Open Qt Qml Team User
          10.
          Provide a typed way to store functions in properties Technical task Open Qt Qml Team User
          11.
          Generate code for list operations when compiling to C++ Technical task Open Qt Qml Team User
          12.
          Add more fine grained options to control the QML disk cache Technical task Closed Ulf Hermann
          13.
          Implement conversions between QQmlListProperty<T> and QList<T *> for object type T Technical task Open Qt Qml Team User
          14.
          Further un-specialize function arguments Technical task Closed Ulf Hermann
          15.
          qmlsc: Problem with QSize vs. QSizeF Technical task Closed Qt Qml Team User
          16.
          Treat strings like arrays regarding operator [] Technical task Closed Ulf Hermann
          17.
          Optimize type conversions in qmlsc and qmlcachegen Technical task Closed Ulf Hermann
          18.
          Add builtin types for 8 and 16bit integers, as well as unsigned 32bit Technical task Closed Ulf Hermann
          19.
          Fix more primitive type conversions Technical task Closed Ulf Hermann
          20.
          Support namespaced attached properties and singletons in qmlcompiler and qmlsc Technical task Closed Ulf Hermann
          21.
          Find a replacement for PropertyChanges Technical task Closed Ulf Hermann
          22.
          Fix property-level polymorphism in qmlcachegenplus Technical task Closed Ulf Hermann
          23.
          qmltypes format does not properly specify extended types Technical task Closed Fawzi Mohamed
          24.
          Prototype C++ and QML interaction Technical task Closed Andrei Golubev
          25.
          Benchmark qmlcachegenplus Technical task Closed Ulf Hermann
          26.
          Write a JavaScript to C++ compiler Technical task Closed Ulf Hermann
          27.
          Split qmlsc into open source and commercial parts Technical task Closed Ulf Hermann
          28.
          Find a replacement for duck-typed property and method access Technical task Open Ulf Hermann
          29.
          Get rid of most QML plugins Technical task Closed Maximilian Goldstein
          30.
          Write a QML object-creation compiler Technical task Closed Andrei Golubev
          31.
          Write a generic C++ code generator Technical task Closed Ulf Hermann
          32.
          Add QObjectProperty, QPropertyAlias, QObjectPropertyAlias Technical task Closed Andrei Golubev
          33.
          (qmltc) Support QML language and QQmlEngine related features Technical task Closed Sami Shalayel
          34.
          Try to eliminate finalize callbacks Sub-task Closed Fabian Kosmale
          35.
          It should be possible to type javascript rest parameters Technical task Closed Qt Qml Team User
          36.
          Use std::move or inline expressions into place if used only once Technical task Closed Ulf Hermann
          37.
          Support Qt.callLater Technical task Open Qt Qml Team User
          38.
          Optimize arithmetic operators in qmlsc some more Technical task Closed Ulf Hermann
          39.
          qmllint does not like QVariantMap properties Technical task Closed Olivier De Cannière
          40.
          Allow coercion of value types to string Technical task Reported Qt Qml Team User
          41.
          JS string member functions are untyped Technical task Reported Qt Qml Team User
          42.
          JS Number member functions are untyped Technical task Reported Qt Qml Team User
          43.
          Optimize builtin JavaScript functions on numbers Technical task Reported Qt Qml Team User
          44.
          Be able to mute warnings in qmlsc Technical task Closed Qt Qml Team User
          45.
          qmlcachegen: Add optimization for coercing to static bool Technical task Reported Qt Qml Team User
          46.
          qmlcachegen: Revisit generate_As() Technical task Closed Ulf Hermann
          47.
          qmlsc: Support JS Date Technical task Open Ulf Hermann
          48.
          Add command line flags to customize diagnostic output of qmlsc/qmlcachegen Technical task Reported Qt Qml Team User
          49.
          Support assigning potential undefined via SetLookup Technical task Reported Qt Qml Team User
          50.
          qmlsc: Support JS object literals Technical task Reported Qt Qml Team User
          51.
          qmlsc: Propagate values through temporary arrays Technical task Reported Qt Qml Team User
          52.
          qmlsc: Support RegExp Technical task Reported Qt Qml Team User
          53.
          qmlsc: Support more standard and Qt-defined fixed-width numeric types Technical task Closed Ulf Hermann
          54.
          qmlsc: Support Qt.binding() Technical task Reported Qt Qml Team User
          55.
          qmlsc: Support Math.PI and other static data properties Technical task Closed Luca Di Sera
          56.
          Implement write-back for value types and lists Technical task Closed Ulf Hermann
          57.
          qmlsc: Add generate_MoveRegExp support Technical task Reported Qt Qml Team User
          58.
          qmlsc/qmllint: Add support for QLocale Technical task Closed Ulf Hermann
          59.
          Refactor QQmlJSTypePropagator and QQmlCodeGenreator Technical task Reported Qt Qml Team User
          60.
          Add JSON types to the type system as builtins Technical task Closed Luca Di Sera
          61.
          qmlsc: Add generate_CmpInstanceOf support Technical task Reported Qt Qml Team User
          62.
          qmlsc cannot resolve methods of QTime Technical task Reported Qt Qml Team User
          63.
          [QML] Binding with dynamic type not compilable Technical task Reported Ulf Hermann
          64.
          Allow std::move'ing registers between different basic blocks Technical task Reported Qt Qml Team User
          65.
          Rewrite the compile time type system to form a graph Technical task In Progress Ulf Hermann
          66.
          Support QML connect statements Technical task Reported Qt Qml Team User
          For Gerrit Dashboard: QTBUG-76025
          # Subject Branch Project Status CR V

          Activity

            People

              ulherman Ulf Hermann
              ulherman Ulf Hermann
              Vladimir Minenko Vladimir Minenko
              Alex Blasche Alex Blasche
              Votes:
              0 Vote for this issue
              Watchers:
              17 Start watching this issue

              Dates

                Created:
                Updated:

                Gerrit Reviews

                  There are no open Gerrit changes