Commit Graph

77 Commits

Author SHA1 Message Date
Erik Verbruggen
3aab8beaf4 Supply c++11 flags and per-project info to c++ code model.
A manual squash/merge of the changes below, plus a couple of subsequent
code fixes.

59085aa5fbb99e2d786cd2c1a06c24a111ccb49f:
    Modify CppModel::ProjectInfo

    Adding per project node information, to pass on the correct
    defines/includes for each file, instead of aggregating them incorrectly.

    Also split up SOURCES and OBJECTIVE_SOURCES.

    Also ask the toolchain to convert the compilerflags to flags the
    codemodel understands, for now only gcc and only c++11.

    Also make the toolchain aware of the flags used to compile, so that it
    can emit the correct defines.

    Note: No header files are passed on.

74028802314cd4e75b41b46407433e07090a304d:
    GCC: Evaluate cxxflags when checking for predefined macros

ebaaa4957e4c02cc9637a998eddae1d0acd74f83:
    MSVC: Take cxxflags into account when checking for predefined macros

9bfce7e889bcf7bcc47bf880e3ea25945ca7d0d7:
    Compile fixes

Change-Id: I9de94ad038dfc5dc1987732e84b13fb4419c96f5
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
2012-02-16 15:17:17 +01:00
Erik Verbruggen
3fa55b7ab9 Removed module names from #include directives.
Getting the #include directives ready for Qt5. This includes the
new-project wizards.

Change-Id: Ia9261f1e8faec06b9285b694d2b7e9a095978d2b
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-02-15 16:24:46 +01:00
Erik Verbruggen
dbc3332b8e C++: Moved completion/highlighting into the model manager.
This way the editor does not need to know all the details of
instantiating or maintaining classes for highlighting and/or completion,
it can just ask the model manager. The change also enables different
highlighting- or completion-engines without changes to the cppeditor.

Change-Id: I8000d9d9fe446b292defddb2295493cf77d0f14a
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
2012-02-08 14:30:14 +01:00
hjk
2931a499e6 Long live the king!
Change-Id: I2b72b34c0cfeafc8bdbaf49b83ff723544f2b6e2
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-01-26 19:55:36 +01:00
hjk
4a21f0c3c8 Use new static ICore interface.
Change-Id: I9b690d9b150c8d162b15370f9f8986267c9128f1
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-01-24 18:48:47 +01:00
hjk
31600758de all: s/info@qt.nokia.com/qt-info@nokia.com/
Change-Id: If18afb5d4665924e7d9250dccbc60a65e6daa75e
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2011-11-03 10:33:19 +01:00
Christian Kamm
9f7a2194f7 QmlJS: Fix infinite loop when scanning for exported C++ types.
Setting extra diagnostics would call updateDocument which would in turn
trigger another scan.

Change-Id: I3810a380cdf716a12767d94ff82dc30f8ae3954d
Reviewed-on: http://codereview.qt.nokia.com/3917
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-08-31 10:53:21 +02:00
Christian Kamm
94a00259ac C++/QmlJS: Warnings if C++ based QML type detection fails.
Change-Id: I1e206e09c4068cc541978ee148f9ed8c4138c249
Reviewed-on: http://codereview.qt.nokia.com/3579
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-08-30 12:03:34 +02:00
Christian Kamm
27d0830698 QmlJS: Move the exported-C++-type detection out of C++ code.
It now lives in qmljstools/qmljsfindexportedcpptypes, all in one place.

Also ensures that the source code is available when a file is being
scanned for QML exports. This will enable checking comments for
annotations about the URI a plugin is usually imported as.

Change-Id: I1da36d0678e0a8d34b171dbe0f6b5690d89eb18b
Reviewed-on: http://codereview.qt.nokia.com/3392
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-08-24 12:13:41 +02:00
Erik Verbruggen
7e43490f99 Emit a signal when parsing is finished after updating source files.
Change-Id: I8a8878c420c0f8d24db16d606aace42519ac3047
Reviewed-on: http://codereview.qt.nokia.com/1151
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Bill King <bill.king@nokia.com>
2011-07-05 16:10:06 +02:00
Leandro Melo
ab40e9c78e C++ editor: Remove scanning/caching of includes
With the completion now in a separate thread this should
no longer be necessary.

Reviewed-by: Roberto Raggi
2011-05-18 12:35:53 +02:00
Tobias Hunger
aa2acec14c Fix/add copyright headers
Change-Id: I8b73d583be1ee7183f4074bce49d5390e38631a2
2011-05-06 15:17:05 +02:00
hjk
8397663964 Update license. 2011-04-13 11:49:28 +02:00
hjk
f576ad9f2c texteditor: merge ITextEditable into ITextEditor
rename BastTextEditor->BaseTextEditorWidget, BaseTextEditorEditable->BaseTextEditor
rename BaseTextEditor{,Widget} subclasses
rename editableInterface->editorInterface
rename createEditableInterface->createEditor
minor cleanups after renamings
2011-02-22 11:23:53 +01:00
con
d1023c7614 It's 2011 now.
Reviewed-by: hjk
2011-01-12 09:46:24 +01:00
Christian Kamm
283a3d32cd Qml/C++: Fix performance problem with type extraction.
By moving the offending code into a background thread.

Reviewed-by: Erik Verbruggen
2011-01-06 15:02:06 +01:00
Christian Kamm
ab642bc820 QmlJS: Add refcounting to FakeMetaObjects.
Previously they were leaked when a qmldump or the C++ exported QML
type list updated.

Just deleting the previous FakeMetaObjects is not an option, as they
might still be used in a QmlObjectValue owned by an Engine.

Reviewed-by: Erik Verbruggen
2011-01-06 15:01:09 +01:00
Christian Kamm
0194da7300 Qml-C++: Find C++ qmlRegisterType calls and populate QML code model.
Reviewed-by: Erik Verbruggen
2011-01-04 15:58:22 +01:00
Christian Kamm
5f50a6ae34 C++: Move the ModelManagerInterface from CppTools to CPlusPlus. 2011-01-04 15:58:21 +01:00
con
04e32b0049 License headers. 2010-12-17 16:03:42 +01:00
ck
46f537e56a Quickfix: Convert underscore notation to camel case.
Reviewed-by: Roberto Raggi
2010-07-20 11:07:14 +02:00
Bill King
c9710052bb Fix autotests so that they're compiling again. 2010-07-06 14:37:45 +10:00
Erik Verbruggen
e3e8b1a5c0 Removed the TokenCache. 2010-07-02 11:18:51 +02:00
Erik Verbruggen
e42ca194c5 Introduced token caching to prevent repetetive tokenizing.
Also removed TokenUnderCursor as it's functionality is in the token cache.

Reviewed-by: ckamm
2010-06-14 10:10:05 +02:00
Roberto Raggi
f5dae8bc9f Refactored the quickfix engine. 2010-06-07 12:16:45 +02:00
Erik Verbruggen
424b9724d6 Revert "Introduced a token cache for the C++ editor."
This reverts commit c2393df023.
2010-06-04 12:37:26 +02:00
Erik Verbruggen
c2393df023 Introduced a token cache for the C++ editor.
This should speed things up a bit, because before, the line was tokenized at
least 3 times.
2010-06-04 09:36:05 +02:00
Roberto Raggi
1c078ec2a3 Ensure we keep the context around for as long as it is needed. 2010-05-31 12:37:15 +02:00
Roberto Raggi
3e440ec213 Cache the resolved file names. 2010-05-10 09:57:56 +02:00
Roberto Raggi
95aae8bb5e Get rid of ugly using namespace directives. 2010-05-05 16:36:46 +02:00
Erik Verbruggen
528ec741c1 Add private frameworks when a framework is added.
Task-number: QTCREATORBUG-1102
Reviewed-by: Roberto Raggi
2010-04-13 12:29:05 +02:00
Erik Verbruggen
284b8d38e2 Put the DependencyTable calculation into the QFuture.
Done-with: Roberto Raggi
2010-03-17 14:20:17 +01:00
dt
90c1c8f54d Cancel a previous update code model 2010-03-10 17:02:24 +01:00
Erik Verbruggen
417a1c9f28 Fixed QTCREATORBUG-745.
Fixed crash in FindUsages on a dirty file in a large project, which is saved
while the FindUsages is still running.
2010-03-09 17:38:02 +01:00
hjk
9595504bda Long live the king! 2010-03-05 11:28:13 +01:00
Wolfgang Beck
e134e24919 Source update. 2010-02-03 13:21:08 +10:00
Wolfgang Beck
4b33881729 Merge ichecker branch changes into the mainline. New project can be found under src/tools/ICheck 2010-01-19 15:26:08 +10:00
Christian Kamm
f90f9e4879 Find macro uses.
Reviewed-by: Erik Verbruggen
2009-12-21 14:57:05 +01:00
Roberto Raggi
b168eec2a1 Replaced the hardcoded QHash<QString, QString> with CppModelManagerInterface::WorkingCopy. 2009-12-15 15:16:46 +01:00
Roberto Raggi
bdb4e48ebf Store the working list in a QHash. 2009-12-07 12:47:45 +01:00
Roberto Raggi
15ee71b324 Disable the indexer when m_indexerEnabled is false. 2009-12-07 12:03:31 +01:00
Thorbjørn Lindeijer
b07c1be547 Fixed a crash on exit when include files are still being scanned
Found by Roberto.
2009-10-13 12:14:23 +02:00
Roberto Raggi
420b09e8c2 Expose CppModelManagerInterface::workingCopy() 2009-10-12 10:38:00 +02:00
Roberto Raggi
73320a43d1 Added `Find Usages' of a Symbol. 2009-10-05 15:17:48 +02:00
con
f006183b3d Support include completion for frameworks on Mac.
Which is 'quite' important, since Qt builds by default generate
frameworks.
2009-10-01 17:02:18 +02:00
Roberto Raggi
ace380ec28 Make the symbols used in the current editors. 2009-09-30 13:25:59 +02:00
Roberto Raggi
8848be4caa Find references 2009-09-23 16:52:41 +02:00
hjk
93cbef8724 long live the king 2009-08-14 09:30:56 +02:00
hjk
b104b43fa0 sessionmanager: replace signal sessionUnloaded() by aboutToUnloadSession()
sessionUnloaded was sometimes emitted when the session manager was in
an unsafe state (between delete m_file and  m_file = new ...) leading
to crashes when slots connected to the signal accessed the sessionmanager
again. This patch moves the signal emission before  delete m_file.

Reviewed-by: dt
2009-08-13 17:10:53 +02:00
Thorbjørn Lindeijer
00f7dd4586 Do the scanning for include files in the background
In order to speed up completion for include statements.

Reviewed-by: Daniel Molkentin <daniel.molkentin@nokia.com>
2009-07-24 12:52:42 +02:00