Commit Graph

755 Commits

Author SHA1 Message Date
Leandro Melo
057fad645b C++: Recognize C++11 nullptr
Change-Id: I5b7ac8f9b2137ffe9439ada4ec4aeb9cee8e249d
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-11-18 13:50:19 +01:00
Leandro Melo
64d579dc3a C++: Enabled C++0x in SimpleLexer
We should create a UI flag for C++0x...

Change-Id: Iba30090aa580554af629c0fb59ae5fc22b306b80
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-11-18 12:14:24 +01:00
Oswald Buddenhagen
c344032bd5 centralize setting of "CONFIG += shared dll" for libraries
"dll" and "shared" set each other, but too late to actually test for it
in the project files, so include both.
note that this will slightly modify the build of some of our imported qt
solutions.

Change-Id: I0bd4f41a68fd160f8e87eb0a0fa66096fe70ef3e
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@nokia.com>
2011-11-18 10:40:09 +01:00
Leandro Melo
cb45971778 C++: Better resolution for typedef when resolving expr.
Example:
struct Bar { int m; };
typedef Bar *pBar;
pBar b;
b-> // completes correctly now

Change-Id: I97cc67579b955fe47c68ab6c35be9a054b6d1be9
Done-by: ckamm
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-11-17 13:57:49 +01:00
Eike Ziller
85cf2b661e Merge remote-tracking branch 'origin/2.4'
Conflicts:
	src/libs/qmljs/qmljsinterpreter.cpp
	src/libs/qmljs/qmljsinterpreter.h
	src/plugins/debugger/qml/scriptconsole.cpp
	src/plugins/git/gitplugin.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativetiledcanvas.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativetiledcanvas_p.h

Change-Id: Iad59c8d87c72a21c79c047e374c0ab689998af39
2011-11-11 09:46:25 +01:00
Leandro Melo
9731955918 C++: Fix crash in type hierarchy when anonymous in typedefs
Task-number: QTCREATORBUG-6445

Change-Id: If62745b58cad330c1f6a8605a444ec13644a1f20
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2011-11-07 14:48:04 +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
Eike Ziller
912cd548c0 Merge remote-tracking branch 'origin/2.4'
Conflicts:
	src/libs/qmljs/qmljsinterpreter.cpp
	src/libs/qmljs/qmljsinterpreter.h
	src/plugins/madde/maemopackagecreationstep.cpp
	src/plugins/projectexplorer/buildmanager.cpp
	src/plugins/qmljstools/qmljsqtstylecodeformatter.cpp
	src/plugins/qmljstools/qmljsqtstylecodeformatter.h
	tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp

Change-Id: I63ab2ba5dac006c37ccfbae55b023396a4676ff7
2011-11-01 18:16:38 +01:00
Christian Kamm
0021c4c3ee C++ insert def: Fix bug when minimizing name.
Constructors would not get the correct name before. Now rewriting the
function's name is not done by going through the 'rewrite type' func-
tionality but rather by minimizing the symbol's name directly.

Task-number: QTCREATORBUG-6223
Change-Id: I3c25e414337937f5dd0f54570c899ca2ca21d2ef
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-10-31 14:00:27 +01:00
Leandro Melo
19b1a06ec8 C++: Handle multi-line if/elif directives
Task-number: QTCREATORBUG-5843

Change-Id: Ie32ed9daadf70f3b972a96fb53edcde9b1debb6c
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2011-10-31 11:52:39 +01:00
Christian Kamm
5cd2123862 C++: Fix findMatchingDeclaration for functions not in a class.
That fixes navigation and the 'function signature update' quickfix for
global functions and functions in namespaces.

Task-number: QTCREATORBUG-6413
Change-Id: Ifc68a88a34eb363f4e84c72e9f72444d22df1086
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-10-31 11:52:07 +01:00
Christian Kamm
e4a7b0642b C++: Fix a crash in debug builds when rewriting functions.
Change-Id: I35266b69d1cc433c4d9176cc849efd03ea1cc1cd
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-10-25 11:32:18 +02:00
Christian Kamm
71b2cbef9a CDB breakpoints: Fix line adjustment in case statements.
Task-number: QTCREATORBUG-6207
Change-Id: I4df50a412dd960a0d53a824a6c4a93712bd743e8
Reviewed-on: http://codereview.qt-project.org/5964
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-10-04 09:35:45 +02:00
Christian Kamm
9898a5e094 C++: Fix bug in findMatchingDefinition.
In strict mode, don't give up after the first Document with candidates.

Change-Id: I62ba59708a3501b31f79d979b1a85bede875eccb
Reviewed-on: http://codereview.qt-project.org/5142
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-09-20 07:24:37 +02:00
Christian Kamm
151475a0fe C++: Fix function return type printing.
We used to print T * foo(), but our style suggests T *foo().

Change-Id: Ie3b0ce6b620785ec98aeb394f7955ce959440619
Reviewed-on: http://codereview.qt-project.org/4634
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-09-12 11:16:39 +02:00
Benito van der Zander
d6e46f7a84 add always defined macro Q_CREATOR_RUN to cpp parser
Merge-request: 336
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>

Change-Id: Iefd0c60bb3e78047e28dcff33cc62c15ed11f711
Reviewed-on: http://codereview.qt-project.org/4292
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2011-09-08 14:09:48 +02:00
Christian Kamm
10a956a8f7 QmlJS: Find setContextProperty calls in C++ and expose to QML.
Task-number: QTCREATORBUG-3199

Change-Id: I591490ceafadc0f5a07c63ec063f1bdfa7055f47
Reviewed-on: http://codereview.qt-project.org/4074
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@nokia.com>
2011-09-08 12:34:22 +02:00
Leandro Melo
d91c218d54 C++: More flexibility for string representation of macros
It's now possible to get the macro definition with the actual
line breaks used on the code. This is particularly useful for
tooltips in order for them to look nice.

The preprocessor is changed so the macro also stores the breaks
positions. This doesn't seem to have any impact on performance.
In my machine, for example, the total time for parsing Creator's
source code is approx. 18100ms with or without the patch.

Change-Id: Ic7487236315c3567d26496315accdb2adfea894a
Reviewed-on: http://codereview.qt.nokia.com/4253
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2011-09-06 14:21:04 +02:00
Erik Verbruggen
bb41c375b0 C++: removed assert that could crash creator. Gracefully exit instead.
Change-Id: Iab79b2548195feb83b3f408f0eb612878454bd47
Reviewed-on: http://codereview.qt.nokia.com/4246
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2011-09-06 10:51:13 +02:00
Leandro Melo
f235f2594b C++: Export DiagnosticMessage
This is now necessary due to the recent change
that added the non-inline operator==.

Change-Id: I62255ddeb09f1e312a802db9733575e73ea56478
Reviewed-on: http://codereview.qt.nokia.com/3928
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2011-08-31 11:52:57 +02: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
9f1c294dd4 C++ preprocessor: Fix multiline tokens in ifdef'ed out blocks.
Change-Id: If6f9819565f891e861f9e111423d99caa7c0f7aa
Reviewed-on: http://codereview.qt.nokia.com/3884
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-08-31 07:41:32 +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
93e367ed0c C++: Don't strip comments from preprocessed source code.
Change-Id: I3a4817d36b9c724abca504c42914a73f97ab34c7
Reviewed-on: http://codereview.qt.nokia.com/3480
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-08-25 13:20:09 +02:00
Christian Kamm
51ea52971f C++: Always remove NumericLiterals when removing the AST.
Contrary to StringLiterals, keeping them around is unnecessary.

Change-Id: Idc1967c125e1373e69ce4c7640328d323a84ec14
Reviewed-on: http://codereview.qt.nokia.com/3395
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-08-25 13:19:32 +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
Christian Kamm
d8c053b525 C++: Fix completion for typedefs for templates in namespaces.
Change-Id: Ib96551388c94731d97eb8f9728613b120b0b86a9
Reviewed-on: http://codereview.qt.nokia.com/3262
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-08-19 14:24:05 +02:00
Christian Kamm
8a6d767a8f Refactoring changes: Cleanup and improvements.
Previously RefactoringFiles were usually passed around by value.
However, since a RefactoringFile may sometimes own a QTextDocument
(when it was read from a file), that's not great and caused the
file to be reread after every copy.

With this change RefactoringFile becomes noncopyable and is always
owned by a shared pointer.

This change also allowed having const RefactoringFiles which is
useful because they can be safely used from other threads. See
CppRefactoringChanges::fileNoEditor.

Change-Id: I9045921d6d0f6349f9558ff2a3d8317ea172193b
Reviewed-on: http://codereview.qt.nokia.com/3084
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-08-19 11:12:09 +02:00
Friedemann Kleint
6a6af5a59c Header cleanup in various plugins.
Change-Id: I16b273cc792bfd2035d35e7c67675f039cd387b9
Reviewed-on: http://codereview.qt.nokia.com/3185
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2011-08-18 15:05:00 +02:00
Kai Koehne
1b93bdca24 Disable gcc warning about always-true Q_ASSERT check
gcc 4.5.1 warned about the Q_ASSERT in QStringRef::at() being
always false for isCompleteStringLiteral, isCompleteCharLiteral.

Change-Id: Idb20f81f92876eff685166c8deeebd6e151303b1
Reviewed-on: http://codereview.qt.nokia.com/3070
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-08-17 13:03:52 +02:00
Christian Kamm
451e9dbb02 C++: Fix ::A name handling in findMatchingDeclaration.
Change-Id: Id158be80c42056c145c2b787d4f569e2c0a0b66e
Reviewed-on: http://codereview.qt.nokia.com/2932
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2011-08-16 11:13:52 +02:00
Christian Kamm
8f14bc0ea2 C++: Synchronize function decl/def refactoring.
When editing a function declaration or definition the code model
may realize the same changes have to be applied somewhere else. A
refactoring marker will pop up that can be clicked to perform the
changes. Alternatively, press enter to apply.

Change-Id: I2299a2ecfb6a8f87d4853fc7cfa99486f890a1d3
Reviewed-on: http://codereview.qt.nokia.com/2909
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-08-16 11:13:12 +02:00
Christian Kamm
01bb7443fd C++: Fix off-by-one in scopeAt.
The only Scope that set the end offset to *before* the last token
was ObjCClassDeclaration.

Change-Id: Icbdb5bcdd72d96087ac586ad51510fed74a633eb
Reviewed-on: http://codereview.qt.nokia.com/2820
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-08-10 14:37:17 +02:00
Christian Kamm
a4e85dda53 C++ insert definition: Use minimally qualified names.
Change-Id: I633dbc77557fc2b6563888103350612a262536ee
Reviewed-on: http://codereview.qt.nokia.com/2731
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-08-08 14:47:49 +02:00
Oswald Buddenhagen
65c0eb5165 Merge branch '2.3'
Conflicts:
	src/plugins/debugger/qml/qmlengine.cpp

Change-Id: I46509f0c187b71bbaed7b2118a160914f8250ca4
2011-07-29 17:57:59 +02:00
Friedemann Kleint
938bcae9d6 Debugger[CDB]: Fix breakpoint location correction in constructors.
Change-Id: I638554936eae2db7ff2f55508d13f1c52c07f17d
Reviewed-on: http://codereview.qt.nokia.com/2114
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
2011-07-25 15:04:59 +02:00
Leandro Melo
23decd9d34 C++ editor: Improve type hierarchy widget
Now the type hierarchy widget will also show the classes
derived from the selected one. For consistency the way
the base classes are shown was changed too. The diagram
below is an example from Creator's code when openining
the type hierarchy for BaseTextEditorWidget:

Bases
 +QObject
  +QWidget
   +...
     BaseTextEditorWidget
 +QPaintDevice
  +...
    BaseTextEditorWidget
Derived
 +BaseTextEditorWidget
  +VCSBaseEditorWidget
    GitEditor
    MercurialEditor
    ...
   GLSLEditorWidget
   CppEditorWidget
   QmlJSTextEditorWidget
   ...

Depending on the project and on the selected class the
hierarchy widget might take a bit to be constructed.
This should be improved later.

Change-Id: Ifbdd1cbbba955a0bdf03297ff0e7620351b12dc5
Reviewed-on: http://codereview.qt.nokia.com/883
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-07-08 14:50:26 +02:00
Thomas Murach
a4c4d67772 corrected license headers
Change-Id: I56fa50745a80abf52488bebe6a5a72cf26932a8b
Merge-request: 352
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Reviewed-on: http://codereview.qt.nokia.com/1251
2011-07-06 17:56:15 +02:00
Erik Verbruggen
b3237d7d42 Fixed (C)opyright headers.
Change-Id: I755bdd1788770b7edd34f06372219d27abd0af11
Reviewed-on: http://codereview.qt.nokia.com/1214
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
2011-07-06 11:57:21 +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
83e4a7260d C++ editor: Remove unnecessary line split in find usages
Avoid extra allocations since we only the actual line for the case.

Change-Id: I0d0f0db394d9075bbdce24d1d5b5efa55c52f9b3
Reviewed-on: http://codereview.qt.nokia.com/261
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
2011-05-31 12:08:17 +02:00
hjk
7223cf00e6 cplusplus: remove unneeded declaration and destructor
Change-Id: I5177c5d46409225a8debda2e0f78fffdea27b266
Reviewed-on: http://codereview.qt.nokia.com/208
Reviewed-by: hjk <qthjk@ovi.com>
2011-05-30 12:56:38 +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
Oswald Buddenhagen
882d2ac2a7 fix compile of plugins which use #include <cplusplus/foo.h> 2011-05-16 11:56:36 +02:00
Oswald Buddenhagen
67704b8b41 move src/shared/cplusplus/ -> src/libs/3rdparty/cplusplus/
Approved-by: legal
2011-05-16 11:05:30 +02:00
Erik Verbruggen
e0ae4021bd Fixed auto-test, added constant, and added a bit of doxymentation. 2011-05-09 15:28:11 +02:00
Erik Verbruggen
49814d9ea5 Class to find breakpoint positions for CDB.
Reviewed-by: Friedemann Kleint
2011-05-09 13:43:19 +02:00
Tobias Hunger
aa2acec14c Fix/add copyright headers
Change-Id: I8b73d583be1ee7183f4074bce49d5390e38631a2
2011-05-06 15:17:05 +02:00
Friedemann Kleint
774fa49412 Fix more krazy warnings. 2011-04-19 15:43:53 +02:00
hjk
8397663964 Update license. 2011-04-13 11:49:28 +02:00