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

DOM refactoring p2

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: P3: Somewhat important P3: Somewhat important
    • Some future release
    • Some future release
    • QML: Tooling
    • None
    • 663ff3cb0 (dev)

      Lots of things have been done as part of QTBUG-119550, however there is still a huge room for improvements:

      1. Reconsideration threading model of DOM QTBUG-121171
      2. Unify data model (the way DOM stores files, Universe <> Environment interaction, etc.)
      3. Separate entities dealing with the reading/writing files from/to File system from the parsing. For example by introducing specifically designated QmlJSLoader, taking care of dependencies etc. Currently the verification of the supported files / types is happening inside the fileTypeForPath which is invoked inside the DomEnv/DomUniv::loadFile
      4. Introducing an entity, responsible for the Parsing (currently it's happening in the constructors of the QmlFile / JSFile etc.)
      5. Refactor the way DOM handles dependencies QTBUG-120640
      6. introduction of the "unified" simpler high level API. Minimize usages of DomItem (or be precise what we need from it) same applies to MutableDomItem (potentially remove it)
      7. In almost each class representing an Element, we can change QMultiMap to just Map, so most of the `index(0)` could be removed from the code. (we don't have duplicated properties etc.)
      8. Simplify / unify inheritance of types. For example Id and Binding are not inherited from `CommentableDomElement`. In general make it clear what is DomElement and what is not 
      9. Introduce unified Extract "Parsing"
      10. some more cleaning, making it more transparent. For example QTBUG-121198, or moving DomItem::fromCode to DomEnv
      11. QTBUG-121933
      12. Remove extraOwningItems from the DOMTop
      13. more to discover

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            qtqmlteam Qt Qml Team User
            dima.a Dmitrii Akshintsev
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes