Update the signatures of importFile and importModule overridden methods
to match the new ones in parent class.
Change-Id: I8c5e7458935f848bc3952d4c388b5385dd9a5da5
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Modules used to be searched by name with optionally an attached
version. Now, if a module with version is not found, the version is
attached to the parent module.
Task-number: QTCREATORBUG-16145
Change-Id: Ie0f30d4df64d13b3ec4c5ee38e9ad9215ae56420
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
With this patch it is possible to specify QML_IMPORT_PATH in
CMake projects and QtCreator will scan those paths.
One only has to make sure that the variable which is set in the
CMakeLists.txt is also added to the CMakeCache.txt
Task-number: QTCREATORBUG-11328
Change-Id: I11c7694806664d3203d855983e7db4a89fac267d
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
For a valid AST id should be never empty.
A crash has been reported. though. Most likely the parser
injected a UiQualifiedId for an incomplete document.
Change-Id: Id2f1b25cf9d78982524d7aaff2b43210e1ae2a3b
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Let's not reformat readonly qualifiers away. They are likely there for a
reason.
Task-number: QTCREATORBUG-15745
Change-Id: Iaab7a8edb47fccd0cf36759750500a93be45bbc2
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Reviewed-by: Marco Benelli <marco.benelli@theqtcompany.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
this fix the polluted output while QtQuickDesigner is opened
Change-Id: Icba0d76ff25ae720b5e3b3ce8cc5cecc45181241
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Previously qrc paths of QML/JS documents were not considered for
implicit imports. Only the path of the document in the file system
was considered. The QML engine, however, doesn't know the original
path at all and only uses the qrc paths for import resolution. This
created a mismatch between what the QML engine could recognize and
what the code model suggested.
Without alias directives, any files imported from a qrc file would
have to reside in the same directory as the one implicitly importing
them, so this arrangement happened to work, most of the time.
In order to support aliases we have to search the files in the same
qrc path to figure out the imports. To do that, we keep a reverse
map of qrc paths to files in the QrcParser and iterate that when
resolving imports.
Change-Id: I84baae6cbfbe96ddd5322c81494c1e4a3f473f3f
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
It is now deduced from either the type of the
QFutureInterface<ResultType> function argument, or the return type.
Change-Id: Iddab3cc329206c649a6e55a44b2de2d406701dee
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
QTimer::singleShot with a member function pointer or a lambda does
not schedule the invocation directly on the receivers event loop,
even if the timeout is 0. It actually creates a timer in the thread
where QTimer::singleShot is called, which requires an event dispatcher
to be available. Only the timer's timeout() signal then schedules the
invocation on the receivers thread.
We do not want to actually run an event loop here until a timer fires.
Even if a timer with timeout 0 might directly schedule the timeout
event on the event dispatcher without involving actual timers, and
even if that event dispatcher makes sure all events are handled before
deleting itself, it would feel like relying on an implementation
detail.
This reverts commit a2e19ba1be.
Task-number: QTCREATORBUG-15681
Change-Id: I19846ce089d72c971d3cc5927c2ddf563e06de14
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
runAsync avoids the globally shared thread pool.
updateCppQmlTypes missed some kind of progress information.
Change-Id: I8739761326c2f2a5364c0c1552b3c43b00f1ff28
Reviewed-by: Marco Benelli <marco.benelli@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
To get rid of the shared thread pool (and to use the API with the less
ugly implementation).
Change-Id: Ia93977b8b394aff8e410d6d81446c23e32b7aed5
Reviewed-by: Marco Benelli <marco.benelli@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
- Use simple list instead of QFutureSynchronizer (no feature of that was
used)
- Avoid duplicate code cleaning up the current list of running futures
- Clean list of running futures after waiting for them all to finish
Change-Id: Ia13ee25ab7835fc4f4970d23d20b16cfe6bf6dfb
Reviewed-by: Marco Benelli <marco.benelli@theqtcompany.com>
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com>
QtCreator is not currently handling dependencies written in qmltypes
files, that imports 'QtQuick.tooling 1.2', so it write several warnings
in 'General Messages' for each qmltypes file it reads.
Since dependencies are resolved anyway in the shipped qmltypes, these
warnings are useless and annoying.
Change-Id: Ie209ca4164381990feda12fb4c7a9e332e4a632d
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
signalling NaNs are generally undesirable as they with trigger a signal
on any further arithmetics operation done to them.
Change-Id: Icebae3d4eb22c8294b11da234a2ba5c7e31b9733
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Now it is closer to its only user and possibly reusable for no-QML uses
there. We also drop the QML/JS syntax checker. The application being
debugged can already tell us about syntax errors. There is no need to
duplicate that functionality.
Change-Id: I2ba151f9f4c854c6119ba5462c21be40bddcebf9
Reviewed-by: Ulf Hermann <ulf.hermann@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
...which was least buggy.
The bugs fixed by the changes we revert here (highlighting/completion
for code involving templates) were minor compared to ones we currently
have. Those bugs will be addressed by the clang code model anyway.
Relevant commits were collected via:
$ cd ${QTC}/src/libs/cplusplus
$ git log \
--no-merges \
--format=oneline \
v3.4.2..HEAD \
-- LookupContext.* ResolveExpression.* TypeResolver.* TypeOfExpression.* \
../../plugins/cpptools/cppcompletion_test.cpp
From this list the following were skipped due to irrelevance:
88c5b47e53 # CppTools: Minor cleanup in completion tests
e5255a1f5c # CppTools: Add a test for ObjC not replacing dot with arrow
5b12c8d63a # CppTools: Support ObjC in member access operator tests
9fef4fb9ca # CPlusPlus: Fix warnings about overriding visit(...) methods
There were only minor conflicts while reverting those.
This changes touches so many files because there were quite some
cleanups and renames after the 3.4.2 release.
Task-number: QTCREATORBUG-14889
Task-number: QTCREATORBUG-15211
Task-number: QTCREATORBUG-15213
Task-number: QTCREATORBUG-15257
Task-number: QTCREATORBUG-15264
Task-number: QTCREATORBUG-15291
Task-number: QTCREATORBUG-15329
Change-Id: I01f759f8f35ecb4228928a4f22086e279c1a5435
Reviewed-by: Marco Bubke <marco.bubke@theqtcompany.com>
The commit b26920c3a3 introduced a bug
in reformatting properties lacking an object initializer.
Change-Id: I30f9c9c8a005660e7af4a6c97d0b1ff1be461548
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
It crashed in some places on our code-base due to the so-called "static
initialization order fiasco".
As a solution, it turns the variable into a function. This shouldn't have
a penalty due to QStringLiteral.
Change-Id: I9f8a955afdff878dc2f0db16fec861d81250c243
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
m_objectsByQualifiedName did not prefer the latest meta object
revision, as consequence at type exported both anonymously and with a
name, would pick up one version randomly.
Change-Id: I91baf2729d0a0bda61205a62d9a38d04b4da058e
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com>
Half of the widget height is a particularly bad estimate for the
default height of a console item. Focusing editable items should be
done by explicitly transferring focus. Also, this only "worked" if
an editable or formerly editable row was the very first line in the
view, which rarely happens.
By default, if no settings are present, all log categories are enabled
now. Otherwise we might miss the error messages resulting from failed
evaluations.
Repeatedly setting the filter regexp to the same thing doesn't signal
a filter change, which is what we actually want when changing the
filter.
Change-Id: Ibe33b0438d92e777bdceaf9af032fc5117ba4041
Reviewed-by: hjk <hjk@theqtcompany.com>
Using Utils:TreeView automatically gives us the capability for loading
item as they are expanded. This way we can show recursive structure in
the console as well as load data from the debug server on demand.
Also, properly print error messages received from unsuccessful
command evaluations.
Task-number: QTCREATORBUG-14931
Change-Id: I66d440eedd9723b04670169b27db1ee18f3f2891
Reviewed-by: hjk <hjk@theqtcompany.com>
operator bool() is a trap, but with explicit it's far safer,
and we can use that now.
Change-Id: I4e58631c94e87c00256c3ab3cff4fd2c5f632713
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>