Orgad Shaneh
a77e32800c
C++: Ignore explicit template instantiations
...
Defined in section 14.7.2 of the standard.
Fixes completion for std::string.
The following explicit instantiation appears in bits/basic_string.tcc:
extern template class basic_string<char>;
This is wrongfully considered a specialization for a forward declaration
(like `template<> class basic_string<char>` is).
Introduce a new Symbol type for explicit instantiations.
Use-case:
template<class T>
struct Foo { T bar; };
template class Foo<int>;
void func()
{
Foo<int> foo;
foo.bar; // bar not highlighted
}
Change-Id: I9e35c8c32f6b78fc87b4f4f1fc903b42cfbd2c2b
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-06-29 09:22:08 +00:00
Orgad Shaneh
f8544bbc42
C++: Resolve function-scope typedef inside lambda
...
Use-case:
struct Foo { int bar; };
void func()
{
typedef Foo F;
[]() {
F f;
f.bar; // bar not highlighted
};
}
Change-Id: Ifaee2d125931d993acad69f03031a675c6180858
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-06-29 09:09:16 +00:00
Orgad Shaneh
1faf2bd1ef
C++: Fix resolving of using in enclosing scope
...
Use-case:
namespace Ns {
namespace Nested {
struct Foo
{
void func();
int bar;
};
}
}
using namespace Ns::Nested;
namespace Ns
{
void Foo::func()
{
bar; // bar not highlighted
}
}
Change-Id: I6e667d63eb40511d65532c4d6d317aa4028a87a4
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-06-29 09:08:46 +00:00
Orgad Shaneh
97d3d9ac09
C++: Support default template argument lookup for specialization
...
This fixes std::vector, although it doesn't really resolve numeric
template arguments. It just picks the first specialization.
Use-case:
class Foo {};
template<class T1 = Foo> class Temp;
template<> class Temp<Foo> { int var; };
void func()
{
Temp<> t;
t.var; // var not highlighted
}
Task-number: QTCREATORBUG-8922
Change-Id: I593515beb3a6d901b6088db8bc1b8e16c39083d3
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-06-09 14:18:17 +00:00
Orgad Shaneh
997ab425ce
C++: Improve accuracy in findSpecialization
...
* If a template type is specialized as a pointer, accept only pointers (of any
type)
* Same for references and arrays
* Only if the specialized type is not part of the template, match it
against the input.
Fixes resolving of partial specialization with pointers.
Use-cases:
// 1
struct b {};
struct a : b {};
template<class X, class Y> struct s { float f; };
template<class X> struct s<X, b*> { int i; };
template<class X> struct s<X, a*> { char j; };
void f()
{
s<int, a*> var;
var.j; // j not highlighted
}
// 2
template <typename T> struct Temp { T variable; };
template <typename T> struct Temp<T &> { T reference; };
void func()
{
Temp<int&> templ;
templ.reference; // reference not highlighted
}
// 3
class false_type {};
class true_type {};
template<class T1, class T2> class and_type { false_type f; };
template<> class and_type<true_type, true_type> { true_type t; };
void func2()
{
and_type<true_type, false_type> a;
a.f; // f not highlighted
}
Task-number: QTCREATORBUG-14036
Change-Id: Idee5e3f41d15c0772318d3837cbcd442cb80293a
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-06-09 14:17:38 +00:00
Orgad Shaneh
ec4d242bb3
C++: Fix resolving of templated partial specialization
...
Use-case:
template<class T> struct t {};
template<class> struct s { float f; };
template<class X> struct s<t<X>> { int i; };
void f()
{
s<t<char>> var;
var.i; // i not highlighted
}
Task-number: QTCREATORBUG-14034
Change-Id: I5d00bc3247352fca4af4c41a47c208ec3e193c8e
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-06-04 19:23:50 +00:00
Orgad Shaneh
2070431d8c
C++: Fix resolving of partial specialization
...
Use-case:
struct b {};
template<class X, class Y> struct s { float f; };
template<class X> struct s<X, b> { int i; };
void f()
{
s<int, b> var;
var.i; // i not highlighted
}
Task-number: QTCREATORBUG-14036
Change-Id: I70a87499e0a375e84d992ca0a79d77270a3419e8
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-06-04 19:23:40 +00:00
Orgad Shaneh
b67ebf9ffc
C++: Fix lookup for instantiation of using
...
Yet another std::vector issue...
Use-cases:
// Case 1
template<typename T>
using type = T;
// Case 2
struct Parent {
template<typename T>
using type = T;
};
// Case 3
template<typename T>
struct ParentT {
template<typename DT>
using type = DT;
};
struct Foo { int bar; };
void func()
{
type<Foo> p1;
Parent::type<Foo> p2;
ParentT<Foo>::type<Foo> p3;
// bar not highlighted
p1.bar;
p2.bar;
p3.bar;
}
Task-number: QTCREATORBUG-14480
Change-Id: I9ab08ea7360a432c48eb4b85aa0d63e08d2464c1
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-06-02 08:37:02 +00:00
Orgad Shaneh
07f8c474be
C++: Fix decltype resolving for template function
...
The last nail for std::unique_ptr (GCC variant, MSVC still doesn't work).
Use-case:
template<typename T>
static T f();
struct Foo { int bar; };
void fun()
{
decltype(f<Foo>()) s;
s.bar; // bar not highlighted
}
Task-number: QTCREATORBUG-14483
Task-number: QTCREATORBUG-8937
Change-Id: I5bab757400b070cf9dbb688a44fd8eafe95ddc61
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-06-01 16:30:47 +00:00
Orgad Shaneh
b5f6a9e6e5
C++: Fix decltype resolving for nested instantiated class
...
The enclosingScope of a cloned nested class is not the
original class but the cloned parent.
Use-case:
template <typename T>
struct Temp
{
struct Nested
{
static T f();
typedef decltype(f()) type;
};
};
struct Foo { int bar; };
void fun()
{
Temp<Foo>::Nested::type s;
s.bar; // bar not highlighted
}
Task-number: QTCREATORBUG-14483
Change-Id: I3e15399a78a7492f740db8d0c7d5c84adf77d1d0
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-05-22 08:40:11 +00:00
Orgad Shaneh
81721f6781
C++: Fix resolving of recursive typedef
...
Use-case:
template<typename _Tp>
struct Temp { typedef _Tp value_type; };
struct Foo { int bar; };
void func()
{
Temp<Temp<Foo> >::value_type::value_type *p;
p->bar; // bar not highlighted
}
Task-number: QTCREATORBUG-14237
Change-Id: Ie0b21b81526d610437ed2d2877083bb929c25047
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-05-20 11:14:20 +00:00
Orgad Shaneh
de68ac5407
C++: fix code completion for decltyped type
...
example:
struct Foo { int bar; };
Foo foo() { return Foo; }
typedef decltype(foo()) TypedefedFooWithDecltype;
void fun()
{
decltype(foo()) decltypeFoo;
decltypeFoo.;// code completion should work here
TypedefedFooWithDecltype typedefedFooWithDecltype;
typedefedFooWithDecltype.;// code completion should work here
}
Started-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com >
Task-number: QTCREATORBUG-14483
Change-Id: I296ceed9d896c68cf0651265afb08a1fc42f9a68
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-05-20 10:45:31 +00:00
Orgad Shaneh
372173331c
C++: Fix explicit typedef from base type in templated class
...
Use-case:
struct Foo { int bar; };
template<typename T>
struct Base { typedef T F; };
template<typename T>
struct Derived : Base<T>
{
typedef typename Base<T>::F F;
F f;
};
void func()
{
Derived<Foo> d;
d.f.bar; // bar not highlighted
}
Task-number: QTCREATORBUG-14218
Change-Id: Ic0b22b2f8adf80ff88a2f8b7359c276a744f89e8
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-05-15 14:22:10 +00:00
Orgad Shaneh
9b30795c02
C++: Fix lookup for instantiation by class object
...
Task-number: QTCREATORBUG-14352
Change-Id: I2ce4bc1d0dba2414afe050e80607b581686081a9
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-05-15 14:21:45 +00:00
Eike Ziller
4058ff6fe9
Merge remote-tracking branch 'origin/3.4'
...
Conflicts:
src/libs/extensionsystem/pluginview.cpp
Change-Id: I410156c1003d5dc81e915110c6d432bcd71da010
2015-05-07 14:42:46 +02: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
Nikolai Kosjar
f878da0ea8
CppTools: Offer "override" and "final" as completion items
...
These are special identifiers and were thus not included in the 'add all
keywords' handling.
Change-Id: I7f65df5711193e945bfa955dcb70a6ab454606b5
Task-number: QTCREATORBUG-11341
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com >
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com >
2015-04-24 08:33:56 +00:00
Nikolai Kosjar
cea5d886d8
CppTools: Fix global completion after "/// text."
...
Like for other comments, don't try member completion if the doxygen
comment ends with a dot.
Task-number: QTCREATORBUG-8597
Change-Id: I2d5204ba8f45fc9ee94e285a907364cc722e62c7
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com >
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com >
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com >
2015-04-24 08:30:51 +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
Eike Ziller
50fe3585a8
Merge remote-tracking branch 'origin/3.4'
...
Conflicts:
src/libs/timeline/qml/MainView.qml
src/plugins/git/gitclient.cpp
Change-Id: I0b6ec7b9a592014deb0dd2e1145b19dd6753b1c3
2015-04-15 17:45:47 +02:00
Nikolai Kosjar
f368294251
CppTools: Fix global completion after '&'
...
Regression introduced by
commit 9fb5b0be15
CppTools: Add basic completion support for qt5 style signals/slots
Change-Id: I0a8e5ef31c1394512a51a26ed08b0f445add5acd
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com >
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com >
2015-04-13 10:55:44 +00:00
Orgad Shaneh
7ba2210102
CppTools: Add failing tests for recursive instantiation
...
Task-number: QTCREATORBUG-14237
Change-Id: I59ae931994ef6577010a4544219ba3b0cd85c677
Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com >
2015-04-11 17:27:39 +00:00
Orgad Shaneh
0501efdcd9
CppTools: Add a failing test for explicit template base typedef
...
Task-number: QTCREATORBUG-14218
Change-Id: I1cccc522f0d484e966f97bea86236e83caec754a
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-04-01 09:45:24 +00:00
Orgad Shaneh
55ed8b861b
CppTools: Add 2 failing tests for double pointer indirection
...
... when resolving specialization
Change-Id: Id3b673fa0c85b13f9a3b4bda022ef2ff18d4c2ac
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-04-01 09:42:42 +00:00
Orgad Shaneh
cdf12d63c0
CppTools: Add another failing test for indirect pointer specialization
...
Task-number: QTCREATORBUG-14141
Change-Id: I5f2187da15091027b2e71228b7cba048514c1005
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-03-25 13:35:46 +00:00
Orgad Shaneh
4bb0243664
CppTools: Fix bug reference for failing test
...
It doesn't look like the same issue.
Change-Id: I6f3b588ebd09f8f74a9fd714e6fbf987b02304d1
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-03-24 15:42:24 +00:00
Orgad Shaneh
a320daff86
CppTools: Add a failing test for partial template specialization
...
Task-number: QTCREATORBUG-14036
Change-Id: I7545bfa40ec3e1399d57bf5ab2486318aa1fcb9f
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-03-13 11:30:07 +00: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
Orgad Shaneh
1a37605f91
CppTools: Move languageFeatures around in CompletionAssist...
...
... from InternalCppCompletionAssistProcessor to CppCompletionAssistInterface
Change-Id: I769fd86a387f1087f37b56fe114bdf132f1b0be7
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-02-27 15:11:02 +00:00
Friedemann Kleint
fe2addf515
Clean exported headers of the TextEditor plugin.
...
Change-Id: I1e7dd34ba5a51fb0b34d137dc03add4457b32ed1
Reviewed-by: Orgad Shaneh <orgads@gmail.com >
2015-02-26 13:15:29 +00:00
Orgad Shaneh
b30e807fac
C++: Fix crash on static template instantiation
...
template<typename T>
struct QList
{
struct iterator
{
T *operator->() { return &t; }
T t;
};
static iterator begin() { return iterator(); }
};
struct Foo { int bar; };
void fun() {
auto a = QList<Foo>::begin();
a. // crash
}
Change-Id: I373c493b2eefc9566ec13165285c33d474a3b440
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-02-26 10:09:42 +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
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
Nikolai Kosjar
21e9893b4b
CppTools: Fix completing qt5 style signals/slots in connect()
...
* Fix qualifying the member function, take namespace into account
* Fallback to usual completion if we cannot provide anything
* Ensure that the completion is not triggered outside connect() calls
* Change to a two step process:
1. connect(obj, & // offer class name completion
2. connect(obj, &N::Foo:: // offer signal completions
...same for the 4th. argument.
Change-Id: Ifa4c74cde1b96ec7c544daaeefc47c4efdd8294a
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com >
2015-02-20 13:11:17 +00:00
Nikolai Kosjar
93c8509a50
CppTools: Tests: time out in waitForFileInGlobalSnapshot()
...
Change-Id: I0bf7d826d53749c5fd1be1e4f3c2faa403d13342
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com >
2015-02-18 12:16:29 +00:00
Nikolai Kosjar
9fb5b0be15
CppTools: Add basic completion support for qt5 style signals/slots
...
Trigger completion for Qt5 signals/slots as soon as the user types '&'
in
connect(object, &
connect(object, &Foo:signal, object2, &
Change-Id: I338a26415196959e3dc413bdfd023314812f3aaa
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com >
2015-02-17 13:47:38 +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
Przemyslaw Gorszkowski
955e28f954
C++: fix auto declaration in if condition
...
Fix for auto completion in case of auto declaration inside if condition:
struct Foo { int bar; };
void func()
{
if (auto s = new Foo)
s->; // auto completion does not work
}
Task-number: QTCREATORBUG-13805
Change-Id: Ia1776e8cc04e6040a6bf5f43cf82cfd6ce6dde7a
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-02-04 11:55:04 +00:00
Nikolai Kosjar
6d22df7d3f
CppTools: Rename CppCompletionAssistProcessor to InternalCpp...
...
We will introduce a base class with the name
CppCompletionAssistProcessor.
Change-Id: I74a39d0b14d4ee30d7bd7675ad968e83f377de7f
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com >
2015-01-21 12:18:51 +01: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
Orgad Shaneh
33ae764554
C++: Fix completion for enum inside member functions
...
Take 2
Task-number: QTCREATORBUG-13757
Change-Id: I9c2558bf01121e53710db984a99d37c2c6cafaf4
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-01-13 18:09:15 +01:00
Orgad Shaneh
c6a983d271
Core: Use FileName for file path in IDocument
...
Change-Id: I85f7398aee59d0d36f0e5c3bf88ff3c96002e394
Reviewed-by: Eike Ziller <eike.ziller@theqtcompany.com >
2015-01-12 10:23:37 +01:00
Orgad Shaneh
9180555f26
Revert "C++: Fix completion for enum inside member functions"
...
Breaks loading of qtcreator project.
This reverts commit 4c6ad5e305 .
Change-Id: I7c4cdaf57eed16d7643d05b9456e03d5120259b3
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-01-06 10:02:12 +01:00
Orgad Shaneh
4c6ad5e305
C++: Fix completion for enum inside member functions
...
Task-number: QTCREATORBUG-13757
Change-Id: I283306b0c8348ee82e8e9bf47d404c1ecd473fde
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-01-06 09:34:45 +01:00
Orgad Shaneh
fb396ffbd4
CppTools: Cover all permutations for each enum testcase
...
* named enum, access by value names
* named enum, access by enum name (C++11)
* anonymous enum
+ Add some failing tests
Task-number: QTCREATORBUG-13757
Change-Id: I7b0a859805a5979c3c886a6dbec703639fb374be
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com >
2015-01-06 09:23:08 +01:00
Nikolai Kosjar
6cafc424e8
CppTools: Tests: Stop writing into source dir
...
Instead, always write into a unique temporary directory in
QDir::tempPath().
Where applicable, read the test source from files instead of first
writing the file.
Some clean ups in test_codegen*.
Change-Id: Id48dc50c6ca16252edfd9fc8a86ba0de9f9be486
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com >
Reviewed-by: Erik Verbruggen <erik.verbruggen@theqtcompany.com >
2014-12-19 10:29:16 +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