.. of builtIn qml and cpp code over "Inspect API For Element Under
Cursor" action.
Change-Id: I70d5bec2933b682295c5242248a2b0f95dba4e76
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Enable access to the private Document
instance in the same way its done
already in the ASTObjectValue class
by adding a const getter.
Change-Id: I0581e527bb766fc72682f2e38d0d8d52d4452deb
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Qt 5.3 is the minimum requirement these days. Remove all fallback code
from sources and project files.
Change-Id: If6188a471197acadda4d6baee71804ba1a8026c6
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
We use forward slashes in all internal paths, even on Windows.
Change-Id: Ie0b418c770dad96829dd357fe425616b6d3a5b82
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
CppComponent has extra information on properties that makes sense
also for ObjectValues, change the processProperty method to pass
in an extra struct with that info (and that can be later extended).
Change-Id: If09b178a4095bed03ff59bfb2164088309d2c8e2
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
Moved Document::Language, Import::Type and StaticAnalysis::Severity
enums to qmljsconstants.h and renamed values removing the redundant
part.
Thus the effective length changed little or improved
(Document::QmlLanguage => Language::Qml).
The separate file allows better reuse of enum values without introducing
circular dependencies.
Change-Id: I5186d7c04f5d3f6c289068b919be5ff1ff118326
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Use standard wording, fix capitalization, typos, and
style and grammar issues.
Change-Id: Iac3faa59ef32aa2a8ec1857aed0d861701cbfbe7
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
QDoc does some magic with the \class and \namespaces
and \brief commands, so the following wording must be used:
"The xxx class yyy ..."
Change-Id: Id231f30e8464898b776888d5423523de404aae34
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Qmljs now keeps a cache of parsed qrc files, and can resolve "qrc:" links.
This breaks the assumption that the name that the qml files has on
the filesystem is the one that qml sees, and that contents of
directories can be found just looking at file whose path starts with the
directory path.
Currently the first file is used when multiple qrc files contain the same
path, but support for strict and weak path resolving is already there.
At the moment only qrc files for projects that call updateQmljsCodeModel
are updated.
ChangeLog: QmljsSupport: Imports using qrc links are resolved.
Task-number: QTCREATORBUG-8953
Change-Id: I695fac2692af2417d49c192c580a1c2e7b4873f4
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
We had a qmltypes file that was encoded in UTF16 and did not work.
We should at least warn about it.
Change-Id: I42555782ee16ddd25552f919845aa85ff1f3f636
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
Ran script to remove inludes on a trial-and-error basis and
manually corrected it (Parser excluded).
Change-Id: I5ec6e1076430009bb72094411b2c3386f8bea548
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
The \i and \o commands were replaced with \li and
\bold was replaced with \b in QDoc for Qt 5.
The \input command was replaced with \include in the docs.
Change-Id: I257d1bebb8ebc739ca20e0d29fcf0406ecb14534
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
#!/usr/bin/env ruby
Dir.glob('**/*.cpp') { |file|
# skip ast (excluding paste, astpath, and canv'ast'imer)
next if file =~ /ast[^eip]|keywords\.|qualifiers|preprocessor|names.cpp/i
s = File.read(file)
next if s.include?('qlalr')
orig = s.dup
s.gsub!(/\n *if [^\n]*{\n[^\n]*\n\s+}(\s+else if [^\n]* {\n[^\n]*\n\s+})*(\s+else {\n[^\n]*\n\s+})?\n/m) { |m|
res = $&
if res =~ /^\s*(\/\/|[A-Z_]{3,})/ # C++ comment or macro (Q_UNUSED, SDEBUG), do not touch braces
res
else
res.gsub!('} else', 'else')
res.gsub!(/\n +} *\n/m, "\n")
res.gsub(/ *{$/, '')
end
}
s.gsub!(/ *$/, '')
File.open(file, 'wb').write(s) if s != orig
}
Change-Id: I3b30ee60df0986f66c02132c65fc38a3fbb6bbdc
Reviewed-by: hjk <qthjk@ovi.com>
Both CppComponentValues are created and available in the code model.
In case of a context lookup it seems to be random which one is taken.
This patch ensures that the code model only contains the object
with the highest version.
Change-Id: Icd1ac1c7d62e277bbd8a2747c3504457be5dd8d6
Reviewed-by: Christian Kamm <kamm@incasoftware.de>
A Component in .qmltypes can have an array of exports which
may differ in type names and versions.
Consider the type names to be aliases and create a CppComponentValue
for each of the alias corresponding to the best available version.
Change-Id: I759ae0c68441e805b0502bf2d203c524bf1a7a7c
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
A Component in .qmltypes can have an array of exports which
may differ in type names too (possibly because of type deprecation).
Consider the type names to be aliases and create a CppComponentValue
for each of the alias.
Change-Id: I70cadab465aec3e7842abd7050549c77fb8342fc
Reviewed-by: Marco Bubke <marco.bubke@nokia.com>
Reviewed-by: Alessandro Portale <alessandro.portale@nokia.com>
Getting the #include directives ready for Qt5. This includes the
new-project wizards.
Change-Id: Ia9261f1e8faec06b9285b694d2b7e9a095978d2b
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
Introduce #ifdefs for incompatible changes in QAtomicPointer
and QAtomicInt.
Change-Id: Ice03a2cc8b3aed174e549827cfcf737764c41642
Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
When property declarations use a custom type such as
property Foo bar
we now
* highlight Foo as a QML type if it's found
* complete bar. as a Foo
Change-Id: I82c249646af19bfeb9f5a7a7692f0dc10b009835
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
Could lead to crashes when two threads initialize it at the same time.
Change-Id: Ia8e2c280c89087b1195451948c36a384e1098423
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
* Don't build all default values (including the global object)
separately for each ValueOwner instance.
* Instead, keep all global, immutable values in a single, shared
instance.
While refactoring, some cases where we *modified* the global object had
to be removed:
* C++ context properties no longer get injected into the global object,
instead they now have their own scope just above the global one.
* The Qt object's prototype no longer gets modified in Link. Instead,
it's now a reference to the "Qt" object provided in a qmltypes file.
* The whole concept of a function 'Activation' that could potentially
affect the global object was removed.
Change-Id: Id382faf965efa747fcc7a9b0bc2c90429d84d61b
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
* FunctionValues know about optional arguments (for builtins)
* ASTFunctionValues only report themselves as variadic if they
use the 'arguments' array.
* Function argument hint shows optional args and variadic.
* Completion automatically adds parentheses.
Change-Id: Ib2598600ff8b1ce8c5de3bcabd24a3e171ff3a57
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>