QmlJS: Rework exported C++ type registry.
The problem was that if you exported A 1.0, A 1.1 and B 1.0 where A is the prototype of B the code model had not enough information to know that, depending on the import, B 1.0's prototype should be A 1.1 or A 1.0. To solve this problem QmlObjectValues now store the import's version as well as the local component version. In the example above B 1.0 would have import version 1.1 if the 1.1 module was imported and thus be able to choose the right prototype. Change-Id: I7ef33f12ca5a528c62b2a8240f4b5720b0ebd4c3 Reviewed-on: http://codereview.qt-project.org/5129 Reviewed-by:Thomas Hartmann <Thomas.Hartmann@nokia.com>
Showing
- src/libs/qmljs/qmljsinterpreter.cpp 130 additions, 168 deletionssrc/libs/qmljs/qmljsinterpreter.cpp
- src/libs/qmljs/qmljsinterpreter.h 26 additions, 27 deletionssrc/libs/qmljs/qmljsinterpreter.h
- src/libs/qmljs/qmljslink.cpp 18 additions, 20 deletionssrc/libs/qmljs/qmljslink.cpp
- src/libs/qmljs/qmljsscopebuilder.cpp 4 additions, 4 deletionssrc/libs/qmljs/qmljsscopebuilder.cpp
- src/libs/qmljs/qmljsvalueowner.cpp 2 additions, 1 deletionsrc/libs/qmljs/qmljsvalueowner.cpp
- src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp 34 additions, 72 deletions...lugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp
- src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp 3 additions, 3 deletions...gins/qmldesigner/designercore/model/texttomodelmerger.cpp
- src/plugins/qmljseditor/qmljscompletionassist.cpp 145 additions, 123 deletionssrc/plugins/qmljseditor/qmljscompletionassist.cpp
- src/plugins/qmljseditor/qmljscompletionassist.h 0 additions, 14 deletionssrc/plugins/qmljseditor/qmljscompletionassist.h
- src/plugins/qmljseditor/qmljssemantichighlighter.cpp 1 addition, 1 deletionsrc/plugins/qmljseditor/qmljssemantichighlighter.cpp
Loading
Please register or sign in to comment