Orgad Shaneh
aedfbd5710
C++: Extract TypedefsResolver out of ResolveExpression
...
... and rename it TypeResolver
Change-Id: I5cb076812d2e3ac132f18ea884ec69328b69999c
Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com >
2015-04-11 17:27:44 +00:00
Przemyslaw Gorszkowski
8c11485edb
C++: fix dereferencing of nested type and 'auto'
...
Fixed case:
template<class T>
struct List
{
struct iterator
{
T *operator->() { return &t; }
T &operator*() { return t; }
T t;
};
iterator begin() { return iterator(); }
};
struct Foo { int bar; };
void func()
{
List<Foo> list;
auto a = list.begin();
(*a).; // code completion doesn't work
a->; // code completion does not work
}
Task-number: QTCREATORBUG-13799
Change-Id: I38e4bfb2f5d728c0b24b0f18b3d78793e90d633b
Reviewed-by: Orgad Shaneh <orgads@gmail.com >
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-02-26 10:09:39 +00:00
Przemyslaw Gorszkowski
168d9201d5
C++: rename enclosingTemplateInstantiation to enclosingBinding
...
Change-Id: I6989cd0e62e9587824737b756a37607dfdcf5ebf
Reviewed-by: Orgad Shaneh <orgads@gmail.com >
2015-02-25 15:04:28 +00:00
Przemyslaw Gorszkowski
1a239bd3e9
C++: fix dereferencing of nested type and operator '->'
...
Fixed case:
template<class T>
struct List
{
struct iterator
{
T *operator->() { return &t; }
T t;
};
iterator begin() { return iterator(); }
};
struct Foo { int bar; };
void func()
{
List<Foo> list;
list.begin()->; // code completion doesn't work
}
Task-number: QTCREATORBUG-13799
Change-Id: I65e8d3092bbc9b01a5dbee241c24d95dd03fc670
Reviewed-by: Orgad Shaneh <orgads@gmail.com >
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-02-25 15:03:43 +00:00
Przemyslaw Gorszkowski
209078e57e
C++: fix dereferencing of nested type and operator '*'
...
Fixed case:
template<class T>
struct List
{
struct iterator
{
T &operator*() { return t; }
T t;
};
iterator begin() { return iterator(); }
};
struct Foo { int bar; };
void func()
{
List<Foo> list;
(*list.begin()).; // code completion doesn't work
}
Task-number: QTCREATORBUG-13799
Change-Id: Ia3f5c1631c2f6a25d7fb1186b4ef506354ed22be
Reviewed-by: Orgad Shaneh <orgads@gmail.com >
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-02-25 15:03:40 +00:00
Eike Ziller
9926fc2ab1
Merge commit '3c85058694ee2e41658d17f524fb48f0b187d2fe'
...
Conflicts:
src/libs/utils/tooltip/tipcontents.cpp
src/libs/utils/tooltip/tipcontents.h
src/plugins/android/androiddeployqtstep.cpp
src/plugins/baremetal/baremetalconstants.h
src/plugins/baremetal/baremetaldevice.cpp
src/plugins/baremetal/baremetaldevice.h
src/plugins/baremetal/baremetaldeviceconfigurationwidget.cpp
src/plugins/baremetal/baremetaldeviceconfigurationwidget.h
src/plugins/baremetal/baremetaldeviceconfigurationwizard.cpp
src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.cpp
src/plugins/baremetal/baremetaldeviceconfigurationwizardpages.h
src/plugins/baremetal/baremetalplugin.cpp
src/plugins/baremetal/baremetalplugin.h
src/plugins/baremetal/baremetalruncontrolfactory.cpp
src/plugins/baremetal/baremetalruncontrolfactory.h
src/plugins/cppeditor/cppcodemodelinspectordialog.cpp
src/plugins/cppeditor/cppdoxygen_test.cpp
src/plugins/cppeditor/cppdoxygen_test.h
src/plugins/debugger/breakpointmarker.cpp
src/plugins/debugger/debuggeritemmodel.cpp
src/plugins/debugger/debuggeritemmodel.h
src/plugins/debugger/loadcoredialog.cpp
src/plugins/genericprojectmanager/cppmodelmanagerhelper.cpp
src/plugins/projectexplorer/addnewmodel.cpp
src/plugins/projectexplorer/addnewmodel.h
src/plugins/projectexplorer/jsonwizard/jsonfieldpage.cpp
src/plugins/qmlprofiler/abstracttimelinemodel.cpp
src/plugins/qmlprofiler/abstracttimelinemodel.h
src/plugins/qmlprofiler/notesmodel.cpp
src/plugins/qmlprofiler/qml/CategoryLabel.qml
src/plugins/qmlprofiler/qml/MainView.qml
src/plugins/qmlprofiler/qml/Overview.js
src/plugins/qmlprofiler/qml/Overview.qml
src/plugins/qmlprofiler/qml/TimeDisplay.qml
src/plugins/qmlprofiler/qml/TimeMarks.qml
src/plugins/qmlprofiler/qmlprofilertimelinemodelproxy.cpp
src/plugins/qmlprofiler/sortedtimelinemodel.cpp
src/plugins/qmlprofiler/sortedtimelinemodel.h
src/plugins/qmlprofiler/timelinemodelaggregator.cpp
src/plugins/qmlprofiler/timelinemodelaggregator.h
src/plugins/qmlprofiler/timelinerenderer.cpp
src/plugins/qmlprofiler/timelinerenderer.h
src/plugins/qmlprojectmanager/QmlProjectManager.json.in
src/plugins/texteditor/findinfiles.cpp
src/plugins/vcsbase/vcsconfigurationpage.cpp
src/shared/qbs
src/shared/scriptwrapper/interface_wrap_helpers.h
src/shared/scriptwrapper/wrap_helpers.h
tests/auto/qmlprofiler/abstracttimelinemodel/tst_abstracttimelinemodel.cpp
tests/system/suite_debugger/tst_debug_empty_main/test.py
tests/system/suite_debugger/tst_qml_js_console/test.py
tests/system/suite_debugger/tst_qml_locals/test.py
Change-Id: I67540b648f8b162496f4aa606b04d50c7c9125c6
2015-02-12 17:29:21 +01:00
Orgad Shaneh
65e7db42b8
C++: Remove unneeded qualifications
...
Mostly done using the following ruby script:
Dir.glob('**/*.cpp').each { |file|
next if file =~ %r{src/shared/qbs|/qmljs/}
s = File.read(file)
s.scan(/^using namespace (.*);$/) {
ns = $1
t = s.gsub(/^(.*)\b#{ns}::((?!Const)[A-Z])/) { |m|
before = $1
char = $2
if before =~ /"|\/\/|\\|using|SIGNAL|SLOT|Q_/
m
else
before + char
end
}
if t != s
puts file
File.open(file, 'w').write(t)
end
}
}
Change-Id: I6fbe13ddc1485efe95c3156097bf41d90c0febac
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-02-04 15:27:22 +00:00
Eike Ziller
3c85058694
Update License
...
Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com >
2015-01-16 12:37:56 +01:00
Przemyslaw Gorszkowski
0ff1cba77b
C++: fix follow symbol for const arguments
...
Fixed case:
class Foo {};
void foo(int v) {}
void foo(const char *v) {}
void foo(const Foo &v) {}
void foo(char v) {}
void test()
{
foo(5);
foo("hoo");
foo('a');
char *var = "var";
foo(var); // Jumps to last override, regardless of its type
Foo f;
foo(f); // Jumps to last override
}
Task-number: QTCREATORBUG-13128
Change-Id: I038553bb3bdbe1c300fc01573c14b6fedf0320cd
Reviewed-by: Orgad Shaneh <orgads@gmail.com >
2014-11-07 11:34:28 +01:00
Eike Ziller
ea27143239
Merge remote-tracking branch 'origin/3.2'
...
Conflicts:
src/libs/utils/ipaddresslineedit.cpp
src/libs/utils/logging.h
src/plugins/analyzerbase/AnalyzerBase.pluginspec.in
src/plugins/android/Android.pluginspec.in
src/plugins/android/androiddeploystep.cpp
src/plugins/android/androiddeploystep.h
src/plugins/android/androiddeploystepfactory.cpp
src/plugins/android/androiddeploystepwidget.cpp
src/plugins/android/androidpackagecreationfactory.cpp
src/plugins/android/androidpackagecreationstep.cpp
src/plugins/android/androidpackagecreationstep.h
src/plugins/android/androidpackagecreationwidget.cpp
src/plugins/android/androidpackagecreationwidget.h
src/plugins/android/javafilewizard.cpp
src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
src/plugins/baremetal/BareMetal.pluginspec.in
src/plugins/bazaar/Bazaar.pluginspec.in
src/plugins/beautifier/Beautifier.pluginspec.in
src/plugins/bineditor/BinEditor.pluginspec.in
src/plugins/bookmarks/Bookmarks.pluginspec.in
src/plugins/clangcodemodel/ClangCodeModel.pluginspec.in
src/plugins/clangcodemodel/clanghighlightingsupport.cpp
src/plugins/clangcodemodel/clangsymbolsearcher.cpp
src/plugins/classview/ClassView.pluginspec.in
src/plugins/clearcase/ClearCase.pluginspec.in
src/plugins/cmakeprojectmanager/CMakeProjectManager.pluginspec.in
src/plugins/cmakeprojectmanager/cmakeeditorfactory.cpp
src/plugins/cmakeprojectmanager/cmakehighlighter.cpp
src/plugins/coreplugin/Core.pluginspec.in
src/plugins/cpaster/CodePaster.pluginspec.in
src/plugins/cppeditor/CppEditor.pluginspec.in
src/plugins/cppeditor/cppfilewizard.cpp
src/plugins/cpptools/CppTools.pluginspec.in
src/plugins/cpptools/cpphighlightingsupportinternal.cpp
src/plugins/cpptools/cppmodelmanagerinterface.cpp
src/plugins/cpptools/cppmodelmanagerinterface.h
src/plugins/cvs/CVS.pluginspec.in
src/plugins/debugger/Debugger.pluginspec.in
src/plugins/designer/Designer.pluginspec.in
src/plugins/diffeditor/DiffEditor.pluginspec.in
src/plugins/emacskeys/EmacsKeys.pluginspec.in
src/plugins/fakevim/FakeVim.pluginspec.in
src/plugins/genericprojectmanager/GenericProjectManager.pluginspec.in
src/plugins/git/Git.pluginspec.in
src/plugins/git/gitorious/gitorious.cpp
src/plugins/git/gitorious/gitorious.h
src/plugins/git/gitorious/gitoriousclonewizard.cpp
src/plugins/git/gitorious/gitorioushostwidget.cpp
src/plugins/git/gitorious/gitorioushostwidget.h
src/plugins/git/gitorious/gitorioushostwizardpage.cpp
src/plugins/git/gitorious/gitoriousprojectwidget.cpp
src/plugins/git/gitorious/gitoriousprojectwidget.h
src/plugins/git/gitorious/gitoriousprojectwizardpage.cpp
src/plugins/git/gitorious/gitoriousprojectwizardpage.h
src/plugins/git/gitorious/gitoriousrepositorywizardpage.cpp
src/plugins/git/gitorious/gitoriousrepositorywizardpage.h
src/plugins/glsleditor/GLSLEditor.pluginspec.in
src/plugins/glsleditor/glsleditorfactory.cpp
src/plugins/glsleditor/glslfilewizard.cpp
src/plugins/helloworld/HelloWorld.pluginspec.in
src/plugins/help/Help.pluginspec.in
src/plugins/imageviewer/ImageViewer.pluginspec.in
src/plugins/ios/Ios.pluginspec.in
src/plugins/macros/Macros.pluginspec.in
src/plugins/mercurial/Mercurial.pluginspec.in
src/plugins/perforce/Perforce.pluginspec.in
src/plugins/projectexplorer/ProjectExplorer.pluginspec.in
src/plugins/pythoneditor/PythonEditor.pluginspec.in
src/plugins/pythoneditor/pythoneditorwidget.cpp
src/plugins/pythoneditor/wizard/pythonfilewizard.cpp
src/plugins/qbsprojectmanager/QbsProjectManager.pluginspec.in
src/plugins/qbsprojectmanager/defaultpropertyprovider.cpp
src/plugins/qmakeprojectmanager/QmakeProjectManager.pluginspec.in
src/plugins/qmakeprojectmanager/profileeditorfactory.cpp
src/plugins/qmldesigner/QmlDesigner.pluginspec.in
src/plugins/qmljseditor/QmlJSEditor.pluginspec.in
src/plugins/qmljseditor/qmljseditorfactory.cpp
src/plugins/qmljstools/QmlJSTools.pluginspec.in
src/plugins/qmlprofiler/QmlProfiler.pluginspec.in
src/plugins/qmlprojectmanager/QmlProjectManager.pluginspec.in
src/plugins/qnx/Qnx.pluginspec.in
src/plugins/qtsupport/QtSupport.pluginspec.in
src/plugins/remotelinux/RemoteLinux.pluginspec.in
src/plugins/resourceeditor/ResourceEditor.pluginspec.in
src/plugins/resourceeditor/resourcewizard.h
src/plugins/subversion/Subversion.pluginspec.in
src/plugins/tasklist/TaskList.pluginspec.in
src/plugins/texteditor/TextEditor.pluginspec.in
src/plugins/texteditor/basetexteditor_p.h
src/plugins/texteditor/basetextmark.cpp
src/plugins/texteditor/codeassist/basicproposalitemlistmodel.h
src/plugins/texteditor/codeassist/defaultassistinterface.h
src/plugins/texteditor/codeassist/iassistproposalitem.cpp
src/plugins/texteditor/itexteditor.cpp
src/plugins/texteditor/itexteditor.h
src/plugins/texteditor/itextmark.cpp
src/plugins/texteditor/plaintexteditor.cpp
src/plugins/texteditor/plaintexteditor.h
src/plugins/texteditor/texteditoractionhandler.cpp
src/plugins/todo/Todo.pluginspec.in
src/plugins/updateinfo/UpdateInfo.pluginspec.in
src/plugins/valgrind/Valgrind.pluginspec.in
src/plugins/vcsbase/VcsBase.pluginspec.in
src/plugins/welcome/Welcome.pluginspec.in
src/plugins/winrt/WinRt.pluginspec.in
tests/auto/debugger/temporarydir.h
Change-Id: I254af8be8119fe9855287909e17d4b8ca9d2fc2f
2014-10-14 15:36:16 +02:00
Eike Ziller
8295b503be
License update
...
Change-Id: I3c22ef2685d7aa589f5d0ab74d693653a4c32082
Reviewed-by: Alessandro Portale <alessandro.portale@digia.com >
2014-10-09 11:41:44 +02:00
Erik Verbruggen
67421f6c53
C++: fix invalid nesting of if statement.
...
Reported as a dead store by the clang static analyzer.
Change-Id: Id5eb72ea4698a17486b8a05d88ee66f3fd89bcfc
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2014-09-12 11:31:56 +02:00
Nikolai Kosjar
1f53ecd898
Revert "C++: add support for resolving typedefs for template arguments"
...
This reverts commit c228b36ccf .
There are multiple issues with the reverted patch:
* Infinite loop due to indirect recursion e.g. when opening projectmodels.cpp
* Crash when executing CppTools tests on Windows (no infinite loop)
Change-Id: I38f02132ca57d3d32085db6146d0df7d620d7618
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2014-09-11 12:55:02 +02:00
Przemyslaw Gorszkowski
c228b36ccf
C++: add support for resolving typedefs for template arguments
...
Example:
template <typename T>
struct Base { T t; };
struct Foo { int foo; };
void fun() {
typedef Foo TypedefedFoo;
Base<TypedefedFoo> baseFoo;
baseFoo.t.// no code completion
}
Change-Id: I4822693d3fa1ee2e9b0e4cdd28bb9a8d441fb313
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2014-09-09 13:49:31 +02:00
Nikolai Kosjar
d5c6a360d0
C++: Remove unused local variable
...
Change-Id: I4568709edc7e11de2584916014c16f95ceb4b584
Reviewed-by: Orgad Shaneh <orgads@gmail.com >
2014-08-29 16:59:44 +02:00
Erik Verbruggen
703f36a4b8
C++: remove reserved names.
...
See [global.names] (17.6.4.3.2 in the C++11 spec.)
Change-Id: I8434496dbe392b52d339d5f17cfaeee8dbd88995
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2014-08-28 17:58:33 +02:00
Przemyslaw Gorszkowski
b514d4d7b2
C++: fix code completion for typedef of pointer array
...
Example:
struct Foo { int foo; };
typedef Foo *FooArr[10];
void func()
{
FooArr arr;
arr[0]-> // No completion
}
Task-number: QTCREATORBUG-12703
Change-Id: I1898dbf83eaa0a6dfa8c401390f28c78e5739bc4
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2014-08-18 09:02:57 +02:00
Nikolai Kosjar
dc59d28736
C++: Check for Function::name() before using it
...
Lambdas do not have a name.
Change-Id: Ifda4816c62dcfe19bdbb1649dc1caf408e056b37
Task-number: QTCREATORBUG-12686
Reviewed-by: Daniel Teske <daniel.teske@digia.com >
2014-07-17 12:09:36 +02:00
Orgad Shaneh
b84611e199
C++: Enable runtime lookup debug...
...
... by setting the environment variable QTC_LOOKUPCONTEXT_DEBUG
Change-Id: Ia46f55b2989129d5327d894734b6ea9c77c3e0ac
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2014-05-28 15:46:00 +02:00
Nikolai Kosjar
acbc4b9f07
C++: Get rid of {Name,Type}::isEqualTo()
...
...since it's superseded by the class Matcher.
For consistency, rename FullySpecifiedType::isEqualTo() to match().
Change-Id: I07640f9218d814e0350265de45f05929e5d595a9
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2014-05-23 14:43:30 +02:00
Nikolai Kosjar
08c4bf3336
C++: Remove unused functions
...
Change-Id: I642f681454ae1d3e684b4c40aec7820ba3a803ad
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com >
Reviewed-by: Orgad Shaneh <orgads@gmail.com >
2014-04-07 16:47:29 +02:00
Przemyslaw Gorszkowski
faca3333b5
C++: fix typedef resolving
...
Fix a case:
struct A
{
int a;
};
typedef A B;
typedef B* Bptr;
Bptr b;
b->
Task-number: QTCREATORBUG-10021
Change-Id: Ibf5ca801dbdb72744416924c0b8fc03daad5948a
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2014-04-04 12:11:02 +02:00
Oswald Buddenhagen
f013c41d05
Merge remote-tracking branch 'origin/3.1'
...
Conflicts:
src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp
Change-Id: Icce6e8dd9b3afd9a0fe836e9babfb7a17cee9c4d
2014-03-27 18:20:00 +01:00
Przemyslaw Gorszkowski
e3f5977311
C++: nested class in function
...
Case when nested class declaration contains object name for this class.
Example:
void fun()
{
struct S
{
int i;
} s;
s.i;
}
Fixes:
* highlighting
* completion
* tests
Task-number: QTCREATORBUG-11710
Change-Id: I32e234f57655c388a87a199edc8be750d7bf823f
Reviewed-by: Orgad Shaneh <orgads@gmail.com >
Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com >
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2014-03-25 15:52:39 +01:00
Erik Verbruggen
e61d688025
C++: cleanup setting the bindings in the lookup context class.
...
Change-Id: I114d7b1116ee5e345675a332c30312614c0faf5f
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2014-02-27 15:58:50 +01:00
Robert Loehning
746c5d8863
Incremented year in copyright info
...
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com >
Reviewed-by: Kai Koehne <kai.koehne@digia.com >
2014-01-08 08:29:47 +01:00
Orgad Shaneh
4442a92729
Braces cleanup
...
Change-Id: I8413252c90a1487d291f15d92837c30ab697b245
Reviewed-by: hjk <hjk121@nokiamail.com >
2013-11-14 08:13:52 +01:00
Nikolai Kosjar
e58906a9ed
C++: Limit typedef resolving depth
...
This reverts commit 5be56c0 except for its tests. While it fixed the
problem described in the bug report, it also introduced regressions.
For now, we use a hard limit.
Change-Id: I19a85be454e3d7969371707e3eb1c3d42a16ecee
Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com >
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2013-10-18 14:07:00 +02:00
Przemyslaw Gorszkowski
5be56c073e
C++: fix endless loop during template instantiation
...
This is the first phase of fixing bug QTCREATORBUG-10320.
This change resolves typedefs of template parameters(and resolves
problem with endless loop).
The next step will be matching appropriate template specialization
(this is needed to solve problem with missing code completion).
Missing matching: template specialization with the same parameters,
e.g.:
template <class T1, class T2, class T3>
class T
{
};
template <class T1, class T2>
class T<T1, T2, T2>
{
};
Task-number: QTCREATORBUG-10320
Change-Id: Icb6b539c021b2a67a66db9011a2e627f7d96526b
Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com >
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2013-10-17 11:43:27 +02:00
Joerg Bornemann
2fd3c8bd9c
C++: fix ResolveExpression for string literals
...
ResolveExpression now correctly handles wide and
UTF-n string literals.
Change-Id: Ide2373ffdc4c9e1e4b53236a8e2782653d15e687
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2013-09-17 15:03:43 +02:00
Oswald Buddenhagen
c2e90c360b
Merge remote-tracking branch 'origin/2.8'
...
Conflicts:
src/plugins/cpptools/cppcompletion_test.cpp
src/plugins/cpptools/cpptoolsplugin.h
src/plugins/projectexplorer/customtoolchain.cpp
src/plugins/vcsbase/command.cpp
Change-Id: Ie7b3c9e136c0748b41320227c757471259339b48
2013-08-21 14:39:18 +02:00
Nikolai Kosjar
f4c6eae3bb
C++: Fix crash in typedef resolving
...
Task-number: QTCREATORBUG-9990
Change-Id: I8153f18c8b7402c5cb3edbe41098792be183de44
Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com >
Reviewed-by: Kai Koehne <kai.koehne@digia.com >
2013-08-16 15:04:56 +02:00
Przemyslaw Gorszkowski
bfbf93e64f
C++: fix auto completion for template parameters
...
Fix auto completion for the case when template parameter should be
found somewhere of scope of template instantiation declaration.
Example:
struct A
{
void foo();
struct B
{
int b;
};
};
template<typename T>
struct Template
{
T* get() { return 0; }
T t;
};
void A::foo()
{
Template<B> templ;
templ.get()->//no autocompletion
templ.t.//no autocompletion
}
Task-number: QTCREATORBUG-8852
Task-number: QTCREATORBUG-9169
Change-Id: I56b40776e66740f995ae6fc5d69e3c50139a3af2
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2013-08-05 10:50:38 +02:00
Orgad Shaneh
ad9e7ccab6
Fix coding style for else statements
...
Change-Id: I1309db70e98d678e150388c76ce665e988fdf081
Reviewed-by: Eike Ziller <eike.ziller@digia.com >
2013-07-17 11:11:25 +02:00
Przemyslaw Gorszkowski
46461fc183
C++: code completion for lambda calls
...
support for lambdas, e.g.:
struct S { int bar; };
[]() { return new S; } ()->bar;
[] { return new S; } ()->bar;
[]() ->S* { return new S(); } ()->bar;
[]() throw() { return new S(); } ()->bar;
[]() throw()->S* { return new S(); } ()->bar;
Task-number: QTCREATORBUG-9523
Change-Id: I43fbf6f0ee0bb11411c53c984df75ef33a276466
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2013-07-12 12:47:09 +02:00
Nikolai Kosjar
8f1b665667
C++: Handle recursive auto declarations
...
Remember auto declarations we have already looked up and stop if we try
it again.
Task-number: QTCREATORBUG-9503
Change-Id: I989b11609c98bf197ce916d79c9d452294355053
Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com >
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2013-06-11 16:30:20 +02:00
Przemyslaw Gorszkowski
a439d12b48
C++: fix typedefed struct
...
Fixed:
* replacing dot with arrow
* code completion
Task-number: QTCREATORBUG-7373
Change-Id: I6bd3781e91876567ce6f0d4160373438c756c417
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2013-05-24 11:46:48 +02:00
Przemyslaw Gorszkowski
783ec18424
C++: instantiate template functions
...
Task-number: QTCREATORBUG-9170
Change-Id: I4cac9124558c1d4f0722192246f3fbeea61d3d7d
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2013-05-24 11:43:52 +02:00
Nikolai Kosjar
849534ec6f
Revert "C++: fix support for typedef of templated typedefs"
...
Still crashes when opening the Qt Creator project,
g++ (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2 (Ubuntu 12.10).
This reverts commit 564c9b2842 .
Change-Id: Ief5c0aad463d245f68805f747d277ac298796c3d
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2013-04-23 12:36:06 +02:00
Przemyslaw Gorszkowski
564c9b2842
C++: fix support for typedef of templated typedefs
...
Fix:
* code completion
* follow symbols
* find usages
Task-number: QTCREATORBUG-8375
Change-Id: Ia40273fec3dead76acad4695b852a9e53065d8a7
Reviewed-by: Petar Perisin <petar.perisin@gmail.com >
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2013-04-22 10:06:05 +02:00
Erik Verbruggen
8b8a5db129
Revert "C++: fix support for typedef of templated typedefs"
...
Infinite recursion in the lookup of:
struct common_type {
public:
typedef typename common_type<typename common_type<_Tp, _Up>::type,
V>::type type;
};
This reverts commit 9a56ce4e85bec81c521258f44e9076d0bc9cce92
Change-Id: I675fe39018789cd04127d105eb983d2cb7798ca5
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2013-04-19 14:14:13 +02:00
Przemyslaw Gorszkowski
13913ed391
C++: fix support for typedef of templated typedefs
...
Fix:
* code completion
* follow symbols
* find usages
Task-number: QTCREATORBUG-8375
Change-Id: I6f35e809ba15f224c5a6d9b2fcfc18dbfba55411
Reviewed-by: Sergey Shambir <sergey.shambir.auto@gmail.com >
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2013-04-19 12:19:20 +02:00
Oswald Buddenhagen
7923032022
fix include style relating to cplusplus libraries
...
... and adjust INCLUDEPATH accordingly.
while i'm at messing with include statements, also re-order the include
blocks according to policy and sort them within bigger blocks.
Change-Id: I7762abfd7c4ecf59432b99db2f424e4fa25733a5
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com >
Reviewed-by: Eike Ziller <eike.ziller@digia.com >
2013-04-03 13:40:39 +02:00
Erik Verbruggen
bdb5142102
C++: use argumentCount in loops in initializer.
...
argumentCount is a more expensive function, so try to call it only once,
esp. in loops.
Change-Id: I6f0d420352743ec444487ce3f506ef28e5282d1e
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2013-03-15 15:46:09 +01:00
Nikolai Kosjar
29055f9f43
C++: Fix crash due to dangling pointer
...
ResolveExpression used the wrong Control object, which was deleted by
~LookupContext() in TypeOfExpression::operator()). ~Control() led to the
dangling pointer.
Task-number: QTCREATORBUG-8890
Done-with: Erik Verbruggen <erik.verbruggen@digia.com >
Change-Id: Ic07947ee54087446b730e4d3ec4bef29defa4495
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2013-03-12 08:29:48 +01:00
Przemyslaw Gorszkowski
798d84b391
C++: fix 'using' for templates in typedefs
...
Fix resolving typedef of templates which is from different namespace
and there was 'using' used for it.
Examples are in tests.
Another step to bring code completion for stl containters.
Task-number: QTCREATORBUG-7978
Change-Id: I2e9e71b45d60536c1e25cf2d371c4719b15edf79
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com >
2013-02-21 16:44:13 +01:00
Przemyslaw Gorszkowski
4c800b1b5a
C++: fix code completion for typedef of pointer
...
Fix code completion and highlighting member of typedefed pointers.
It works when typedef is inside or outside of the function.
Task-number: QTCREATORBUG-8671
Task-number: QTCREATORBUG-8672
Change-Id: I9cc87080bf443f7ffa6a90ef5ba582b87700f2db
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2013-02-11 10:27:47 +01:00
Przemyslaw Gorszkowski
21500d54b7
C++: fix replacing dot(.) with arrow(->)
...
Fix replacing operator dot(.) with operator arrow(->)
for typedef pointer.
Task-number: QTCREATORBUG-8488
Change-Id: Ic4462bc437a4aa37adfed4fa50b32d9bc20fe194
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2013-02-01 09:16:15 +01:00
Oswald Buddenhagen
1fda2111d4
Merge remote-tracking branch 'origin/2.6'
...
Conflicts:
src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
src/plugins/debugger/qtmessageloghandler.cpp
src/plugins/debugger/qtmessagelogwindow.cpp
src/plugins/madde/maemodeployconfigurationwidget.cpp
src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
src/plugins/qmldesigner/designercore/include/widgetqueryview.h
src/plugins/qmldesigner/designercore/metainfo/metainfoparser.cpp
src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp
src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h
src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp
src/plugins/qnx/bardescriptormagicmatcher.h
src/plugins/qt4projectmanager/profilekeywords.cpp
src/plugins/remotelinux/deployablefilesperprofile.cpp
src/plugins/remotelinux/deployablefilesperprofile.h
src/plugins/remotelinux/deploymentinfo.cpp
src/plugins/remotelinux/deploymentsettingsassistant.cpp
src/plugins/remotelinux/profilesupdatedialog.cpp
tests/auto/icheckbuild/ichecklib.cpp
tests/auto/icheckbuild/parsemanager.cpp
tests/auto/icheckbuild/parsemanager.h
Change-Id: Ie465a578446a089e1c502d1cb1096e84ca058104
2013-01-31 16:25:33 +01:00
Erik Verbruggen
5721847a57
C++: Fix possible null-pointer access.
...
Change-Id: Id42bb1cbf109cac8ab868ab7381a54d6be9a7697
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com >
2013-01-30 09:08:20 +01:00