Orgad Shaneh
33d270976e
C++: Fix highlighting of member on indirect specialization typedef
...
Missed a spot in ad4cb444fb
Task-number: QTCREATORBUG-14141
Change-Id: I1a6a25ce3e9c2a680e1b8eebec01a17749cdb026
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-05-05 08:59:28 +00:00
Orgad Shaneh
a8f42831cb
C++: Minor optimization in ResolveExpression
...
Avoid needless snapshot copying
Change-Id: Iea38bd0866495cf5335b4444d5643d7082fbfcde
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-05-05 08:44:42 +00:00
Orgad Shaneh
fc884f6a27
C++: Fix commented debug in preprocessor
...
included is QByteArray
Change-Id: I5ec6d68bd0bbcb2b08cdcfe2759d72f474d4cda4
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-05-05 08:43:18 +00:00
Orgad Shaneh
997f8fe269
C++: Remove redundant assignment
...
TranslationUnit assigns itself to the control in its ctor.
Change-Id: I08cf70c32f557648709e29b03c2f939d294fdc6d
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-05-05 08:42:49 +00:00
Tobias Hunger
9fef4fb9ca
CPlusPlus: Fix warnings about overriding visit(...) methods
...
Change-Id: I142b6c7b6573518dbd44557f3a66c5d683bb592d
Reviewed-by: Orgad Shaneh <orgads@gmail.com >
2015-05-04 08:22:43 +00:00
Orgad Shaneh
6a9bd957cb
C++: Fix instantiation of typedefed type in block
...
Use-case:
template<typename T>
struct Temp { T t; };
struct Foo { int bar; };
void func()
{
typedef Foo *pointer;
Temp<pointer> temp;
temp.t->bar; // bar not highlighted
}
Task-number: QTCREATORBUG-14351
Change-Id: I13ca6145a0069bbc7a7207f69b43011c69ec72c7
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-04-28 13:54:40 +00:00
Orgad Shaneh
ad4cb444fb
C++: Fix specialization resolution for nested types
...
Use-cases:
template<typename T>
struct Traits { typedef typename T::pointer pointer; };
template<typename _Tp>
struct Traits<_Tp*> { typedef _Tp *pointer; };
struct Foo { int bar; };
// 1
template<typename T>
class Temp
{
protected:
typedef Traits<T> TraitsT;
public:
typedef typename TraitsT::pointer pointer;
pointer p;
};
void func()
{
Temp<Foo *> t;
t.p-> // complete
}
// 2
class Temp2
{
protected:
typedef Foo *FooPtr;
typedef Traits<FooPtr> TraitsT;
public:
typedef typename TraitsT::pointer pointer;
pointer p;
};
void func2()
{
Temp2 t;
t.p-> // complete
}
Task-number: QTCREATORBUG-14141
Change-Id: Id3459671117c0c81bcde7c9714b42750634c0225
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-04-28 13:54:25 +00:00
Orgad Shaneh
548ec9c099
C++: Deduplicate enclosing and nested instantiation
...
Change-Id: Ib75e2d67acdf1fdbeb30b7c9689134f6ccf34063
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-04-27 09:49:12 +00:00
Orgad Shaneh
00845c0503
C++: Remove unused var in LookupScopePrivate
...
Was readded by mistake when the type was pimpled.
Change-Id: I4150b783a1b54dda6070a49f78bcb8b0fcb9f414
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-04-27 09:08:12 +00:00
Orgad Shaneh
77070f59a4
C++: Remove unused variable
...
Change-Id: Idc7bbce90ebfb3a62594d5121c04dc265a2e583a
Reviewed-by: Orgad Shaneh <orgads@gmail.com >
2015-04-24 09:48:21 +00:00
Orgad Shaneh
d9eab81cbb
C++: Avoid duplicate entries in TypeResolver
...
Change-Id: I094dc04a14c05b17815d53bf0170926cc0c0d2a5
Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com >
2015-04-24 08:50:59 +00:00
Orgad Shaneh
8be26d070e
C++: Improve template argument detection for nested types
...
Change-Id: I7dd3f552f0e85413de8e58047d1fba39c7237182
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-04-23 08:19:10 +00:00
Orgad Shaneh
e1393c71ab
C++: Always assign name to LookupScope
...
... except the global namespace and blocks
Change-Id: I0696b4997c28b5105a000bae2a9a4fa1a56eb6d3
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-04-23 08:19:01 +00:00
kai666_73
b30b69bbf3
C++: Find template member access in find usages
...
Example:
struct Foo {};
struct Bar {
template <typename T>
T *templateFunc() { return 0; }
};
struct Test {
Bar member;
void testFunc();
};
void Test::testFunc() {
member.templateFunc<Foo>(); // "templateFunc" and "Foo" outside of FindUsages
}
Change-Id: I0c5109d00c67054fe15b3fb98cf8cbca69123d8b
Reviewed-by: Orgad Shaneh <orgads@gmail.com >
2015-04-22 13:17:15 +00:00
hjk
50a685f8d8
CPlusPlus: Inline SymbolVisitor functions
...
Change-Id: I46221428f2c883103839e57c8fc433f05302addd
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-04-22 11:16:10 +00:00
Nikolai Kosjar
eb808980f7
C++: Remove unused member
...
Change-Id: I3469aab3ea699d531f12383138f4e91411b98e7f
Reviewed-by: Orgad Shaneh <orgads@gmail.com >
2015-04-21 10:03:46 +00:00
Orgad Shaneh
cb350bfeb2
C++: Rename ClassOrNamespace -> LookupScope
...
Change-Id: Ide74482b133dd1fec40a725d9aa81bd749385f37
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-04-20 14:51:56 +00:00
Orgad Shaneh
2f3d2a2490
C++: Pimpl ClassOrNamespace
...
Makes it easier to add features to ClassOrNamespace without rebuilding half of
the project.
Change-Id: I7ac646e8ad08fc8da6f7ed43ff184fb17edbd6b7
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-04-20 14:07:58 +00:00
Orgad Shaneh
29ac9fc65f
C++: Remove DeprecatedGenTemplateInstance
...
It's, well, deprecated...
Change-Id: Ie9d7e80345a8d9404f702dd877b3e940a1a49d93
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-04-20 13:37:35 +00:00
Orgad Shaneh
0bf40a73c4
C++: Use explicit namespaces in LookupContext
...
Change-Id: I0c0cc577db9b75044ebd9f5fdc51cecc0f91e3ea
Reviewed-by: Adam Majer <adamm@zombino.com >
Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com >
2015-04-18 17:42:38 +00:00
Orgad Shaneh
5566146607
C++: Cleanup NestedClassInstantiator in LookupContext
...
* Rename Instantiator
* Shorten some variable names
Change-Id: I0d1d6280b6157e9ebc4bbaaa77f462fe6ce233c4
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-04-13 13:36:05 +00:00
Orgad Shaneh
cf4ae8c63f
C++: Forward-declare NestedClassInstantiator
...
It is only used in LookupContext.cpp
Change-Id: I7b1b4a634fea8560102f2c17afcaacd2773de98a
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-04-13 13:21:35 +00:00
Eike Ziller
11590a8c5f
Merge remote-tracking branch 'origin/3.4'
...
Conflicts:
src/plugins/cmakeprojectmanager/cmakeproject.cpp
Change-Id: I09c5a047f7d91fecfc58c78df438afcdcdc0a8d7
2015-04-13 10:53:03 +02:00
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
Orgad Shaneh
67e8d3689e
C++: Remove unimplemented function in LookupContext
...
Should have been removed in fbb756cd .
Change-Id: I86e0fd556ac031e6a88e9397a039d67ded5f7bd7
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-04-07 14:48:24 +00:00
Eike Ziller
e56118cc1e
Merge remote-tracking branch 'origin/3.4'
...
Conflicts:
src/libs/extensionsystem/pluginview.cpp
Change-Id: I316199fe0a257cb085668ccb183b1590555278f2
2015-04-02 11:56:55 +02:00
Kai Koehne
46fc33d914
Don't mix iterator and const_iterator
...
This avoids unnecessary detaches of the Qt container data.
The mismatches where detected by defining QT_STRICT_ITERATORS;
however, this define violates the ODR (causing linker errors),
and therefore is not added permanently.
Change-Id: Idd336a9c8b394214a820437ef1b92d2101f6101c
GPush-Base: 62b0848b9c
Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com >
2015-04-02 09:40:24 +00:00
Eike Ziller
65cd5381d9
Merge remote-tracking branch 'origin/3.4'
2015-03-26 12:51:06 +01:00
Orgad Shaneh
90c6f931ef
LookupContext: Fix debug output for cloned class
...
Change-Id: Ifee09fa6dd62cba897caf7bd60c8dadd9109e035
Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com >
2015-03-26 08:47:29 +00:00
Eike Ziller
9790d8aa00
Merge remote-tracking branch 'origin/3.4'
2015-03-24 07:40:21 +01:00
Lorenz Haas
da67c7c6c9
C++: Fix crash when accessing an empty list in Rewrite
...
Task-number: QTCREATORBUG-14163
Change-Id: I57eca70466bbf5d28d16afafc07ab243206fcff5
Reviewed-by: Orgad Shaneh <orgads@gmail.com >
2015-03-23 18:23:17 +00:00
Eike Ziller
bf7da428fb
Merge remote-tracking branch 'origin/3.4'
2015-03-16 10:27:16 +01:00
Orgad Shaneh
a341094a68
C++: Fix preprocessing of comments within function-like macro
...
Task-number: QTCREATORBUG-9535
Change-Id: Ifd94f674214314b3694be74cca297ddab873cd8c
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-03-13 14:34:07 +00:00
Nikolai Kosjar
4e1d281963
C++: Fix crash on invalid function qualified name
...
Task-number: QTCREATORBUG-14135
Change-Id: I94e850f729bd3dbf4212960c7a980a1f118030b4
Reviewed-by: Orgad Shaneh <orgads@gmail.com >
2015-03-13 13:21:04 +00:00
Eike Ziller
2b954973d8
Merge remote-tracking branch 'origin/3.4'
2015-03-05 13:32:28 +01:00
Orgad Shaneh
93f57a99a1
C++: Fix nested type resolving in member functions
...
Task-number: QTCREATORBUG-13976
Task-number: QTCREATORBUG-13978
Change-Id: I598f9cb99ffd044abfc6ed9aa16d4a3045985008
Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com >
2015-03-05 06:23:31 +00:00
Eike Ziller
af17e1922f
Merge remote-tracking branch 'origin/3.4'
...
Change-Id: I66ac8be7a8e99fc730131f75710bafc73809f593
2015-03-02 12:11:37 +01:00
Orgad Shaneh
69edf1e26d
CppEditor: Use correct language features in Follow Symbol
...
Change-Id: If4adc4153341ac63bd5566a66ccf177ae4e536e1
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-02-28 16:56:14 +00:00
Orgad Shaneh
d63624afe0
C++: Accept language features in BackwardsScanner et al
...
Change-Id: Id97ca27fa909979573efca12dc0cd14b28eacd17
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-02-27 15:11:14 +00:00
Libor Tomsik
2404974176
Showing different icon for class and struct in classview
...
Adding new slightly different icon for Struct to make it
different from Class.
Task-number: QTCREATORBUG-8574
Change-Id: I3da655adeaa05d7a590d4ec00f9749b5d86e0340
Reviewed-by: Orgad Shaneh <orgads@gmail.com >
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
Reviewed-by: Alessandro Portale <alessandro.portale@theqtcompany.com >
2015-02-26 11:10:27 +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
Orgad Shaneh
f3a2795c3b
C++: Use correct features for document parsing
...
Task-number: QTCREATORBUG-8007
Change-Id: Ic96aaa433442812a99bac9d16bb9124d66762e8c
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-02-20 12:54:49 +00:00
Eike Ziller
56aadc407d
Merge remote-tracking branch 'origin/3.3'
...
Conflicts:
src/plugins/debugger/watchhandler.cpp
src/plugins/projectexplorer/kitmodel.cpp
src/plugins/qbsprojectmanager/qbsprojectmanager.cpp
src/shared/qbs
Change-Id: I6a68090993a264e93ac7850858cc24ba6bdb5602
2015-02-12 17:36:29 +01: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
Nikolai Kosjar
ae3aa07c4d
C++: Remove workaround for crashing if parsing invalid code
...
This reverts the changes
commit beac7b9539
C++: Fix highlighting after "invalid code"
commit 78ab287fc6
C++: Stop parsing a declaration after two tries
which were a work around for QTCREATORBUG-12890.
A follow-up patch provides a proper fix.
Task-number: QTCREATORBUG-12890
Change-Id: I2650a8e41c8ff1180cad9f069e463fc51bd2f1b1
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com >
2015-02-12 10:39:51 +00: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
Orgad Shaneh
75a943ef57
C++: Fix crash when #if[def] nesting is deeper than 512 levels
...
Change-Id: I5e86da3a36514545834f554470b147ad8be43344
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com >
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-02-03 12:03:29 +00:00