1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00
Commit graph

23187 commits

Author SHA1 Message Date
Andrew Eidsness
0f482a80b2 Bug 422841: Add QEnum to QtIndex
The Qt meta-object system allows C++ enums to be added as simple enums
and as flags.  There is more detail at:

    http://qt-project.org/doc/qt-4.8/qobject.html#Q_ENUMS
and http://qt-project.org/doc/qt-4.8/qflags.html

This patch adds IQEnum to the QtIndex.  IQEnums are contained in
IQObjects and therefore are accessed with the IQObject.getEnums.

An IQEnum holds its name, enumerators, and a boolean indicating whether
the instance represents a Qt flag.

A Qt flag is an enum where the enumerators are intended to be used with
bitwise operations.  The Q_DECLARE_FLAGS macro is used to introduce a
type-safe container for the flags.

This patch also adds unit tests for this new functionality.

Change-Id: If51524e93533bae82a3263f3c7973a31793a8a83
Signed-off-by: Andrew Eidsness <eclipse@jfront.com>
Reviewed-on: https://git.eclipse.org/r/19147
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
IP-Clean: Doug Schaefer <dschaefer@qnx.com>
Tested-by: Doug Schaefer <dschaefer@qnx.com>
2013-12-03 09:02:31 -05:00
David Kaspar
dc746352a3 Bug 422797 - API for retrieving QMake information from Qt project
Adding ...cdt.qt.tests/SimpleTests JUnit tests

Change-Id: I68d8e56d6b81a65eb1b6823cf7f1df63f00c1a15
Signed-off-by: David Kaspar <dkaspar@blackberry.com>
Reviewed-on: https://git.eclipse.org/r/19145
Tested-by: Hudson CI
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
IP-Clean: Doug Schaefer <dschaefer@qnx.com>
2013-12-03 08:58:10 -05:00
Marc Khouzam
eb3b78ec86 Bug 418710 - Provide a way to disable "View memory" menu per expression
Add IViewInMemory interface to general CDT to make it available for CDI
also.
Use IViewInMemory in DSF, and override it for the GDB case.
No need to use IViewInMemory.viewInMemory() yet, but it is put in the
new interface to be future-proof.

Change-Id: Iba9abee6b9bb459b4ec3a4fd72378f77f417643a
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/18952
2013-12-02 15:41:50 -05:00
Marc-Andre Laperle
0071f546d1 Bug 418770 - NPE in EvalBinding.getBinding involving specialized enum
Change-Id: Ibbf3c1dd40e3e33a111c5d3a433277a1349dd445
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/19031
Tested-by: Hudson CI
Reviewed-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
2013-12-02 09:52:45 -05:00
Marc Khouzam
1b15d0bdc3 Bug 419738 - Avoid blind casting when adding support to override
MIVariableManager and friends

Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
2013-12-02 06:00:08 -05:00
Sergey Prigogin
8852f2d73e Cosmetics. 2013-11-30 23:10:58 -08:00
Sergey Prigogin
772066afce Bug 422727 - Extract Function doesn't properly handle auto types 2013-11-30 22:39:34 -08:00
Sergey Prigogin
eb421c9fec Removed public visibility from DialogMessages class. Externalized
strings were never intended to be a part of the public API.
2013-11-30 22:34:35 -08:00
Sergey Prigogin
a9f9839cc9 Added @noreference tag to logging methods. 2013-11-30 22:14:14 -08:00
Sergey Prigogin
c9909363f9 Cosmetics. 2013-11-30 22:09:42 -08:00
Nathan Ridge
08293b3f58 Bug 421900 - NPE in StatementHasNoEffectChecker.usesOverloadOperator()
Change-Id: I9099f3600cfdac492784087ef5993b353111eab8
Signed-off-by: Nathan Ridge <zeratul976@hotmail.com>
Reviewed-on: https://git.eclipse.org/r/18468
Tested-by: Hudson CI
Reviewed-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
IP-Clean: Sergey Prigogin <eclipse.sprigogin@gmail.com>
Tested-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
2013-11-30 22:57:04 -05:00
Doug Schaefer
c8b535a52c Bug 418536 - Add Qt tests to maven build.
Change-Id: Ic194325d526a498f81ab9d73fe84841e98663065
Reviewed-on: https://git.eclipse.org/r/19164
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
IP-Clean: Doug Schaefer <dschaefer@qnx.com>
Tested-by: Doug Schaefer <dschaefer@qnx.com>
2013-11-29 23:27:13 -05:00
Andrew Eidsness
fccbec7b0d Bug 422841: Initial implementation of QtIndex
This uses the new PDOMASTProcessor extension point to create a
Qt-specifc PDOMLinkage.  This initial version of the linkage only stores
QObjects and their base classes.  Later commits will fill out other
details and introduce classes that use this data for things like Content
Assistance and Codan checking.

This patch introduces the following:

1) QtIndex: This is an index that provides access to Qt-specific data.
The index is mostly a wrapper on the CDT's existing IIndex, but it
provides very specific information about the Qt elements.  The only data
that can be accessed from the QtIndex (in this patch) is a QObject and
the QObject's that appear in its base class specifier list.

2) QtPDOMLinkage: This linkage is implemenated as an extension of the
PDOMCPPLinkage.  In some cases it adds references to Qt names from the
C++ bindings.

3) Test suite: The test suite has some base classes for parsing the Qt
source code.  The only test case is for the simple functionality that is
being added in this patch -- examining the base class specifier list of
QObjects.

These areas will be extended in later patches.

Change-Id: I13fb83beb7f50cd2efb1de97b562245dc642468d
Signed-off-by: Andrew Eidsness <eclipse@jfront.com>
Reviewed-on: https://git.eclipse.org/r/19113
Tested-by: Hudson CI
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
IP-Clean: Doug Schaefer <dschaefer@qnx.com>
2013-11-29 14:43:41 -05:00
Doug Schaefer
8610899d03 Bug 419738 Support overriding MIVariableManager and friends
We have a new way of gathering variables from gdb using some fancy
python scripts. These changes are to easily allow us to override
the variable manager to do that.

Change-Id: I213c5835fa165227747a88da1f239bff1b41e673
Reviewed-on: https://git.eclipse.org/r/17464
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
IP-Clean: Doug Schaefer <dschaefer@qnx.com>
Tested-by: Doug Schaefer <dschaefer@qnx.com>
2013-11-29 13:29:45 -05:00
Andrew Eidsness
5e130ab883 Bug 422804: Allow contributors to add data to the PDOM
The CDT persists an index of source code relationships by processing the
AST produced by the parser.  There is an existing extension-point that
allows contributors to create new linkages in this persisted file.
However there is no mechanism allowing contributors to influence the
data that is stored to the file.

This introduces a new extension-point allowing contributors to
participate in processing the AST that is being persisted to the index.
The intent is for this to be used to store data into the contributor's
new Linkage.

There is no change in functionality for existing linkages.  A
contributor will soon be added in the Qt plugin.

Change-Id: I845c90cbf7c713e23319e2ed1168eb7d74db5868
Signed-off-by: Andrew Eidsness <eclipse@jfront.com>
Reviewed-on: https://git.eclipse.org/r/19089
Tested-by: Hudson CI
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
IP-Clean: Doug Schaefer <dschaefer@qnx.com>
2013-11-29 00:27:15 -05:00
Andrew Eidsness
08c7d10763 Bug 422765: New method to find IBindings from qualifiedName
This creates a new method in CPPSemantics that will lookup a list of
IBindings from a qualifiedName.  E.g., given:

    namespace A
    {
        namespace B
        {
            int b;
        }
    }

CPPSemantics.findBindingsByQualifiedName(scope, "A::B::b"); will return
an array with the CPPVariable binding for b.

This commit contains a new test case for various cases that I've thought
about.  I had expected that by using the existing lookup functions (in
CPPSemantics) I wouldn't have to think too hard about various matches.
However, the existing functions didn't work quite the way that I
expected.

Change-Id: I8a5aacba4a02d87f71ed4698aa432c3161395a31
Signed-off-by: Andrew Eidsness <eclipse@jfront.com>
Reviewed-on: https://git.eclipse.org/r/19067
Tested-by: Hudson CI
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
IP-Clean: Doug Schaefer <dschaefer@qnx.com>
2013-11-28 23:37:18 -05:00
David Kaspar
026b9325f0 Bug 422797 - API for retrieving QMake information from Qt project
API is located at org.eclipse.cdt.qt.core.index package.
Entry point is QMakeProjectInfoFactory.getForActiveConfigurationIn method
that provides ability to retrieve QMake information (IQMakeInfo interface)
for active project configuration of a specified project.
Also allows to listen on changes of such information.

qmakeEnvProvider extensions allows CDT build-system to provide environment
for QMake runs within their build-system.

Information is gather by parsing output of:
1) qmake -query
2) qmake -E file.pro // only for QMake version 3.0

Change-Id: Iae569bdbc89dc26d60530596b66b5227f36dfae6
Signed-off-by: David Kaspar <dkaspar@blackberry.com>
Reviewed-on: https://git.eclipse.org/r/19082
Reviewed-by: Andrew Eidsness <eclipse@jfront.com>
Tested-by: Hudson CI
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
IP-Clean: Doug Schaefer <dschaefer@qnx.com>
2013-11-28 23:33:42 -05:00
Andrew Eidsness
f887c8e671 Bug 422681: Allow references to bindings in other linkages
The existing PDOMBinding and PDOMName implementations do not allow
references between linkages.  This feature is needed so that the new Qt
linkage can reference elements in the C++ linkage.  It will also allow
the C++ implementation for extern "C" to be cleaned up (see
PDOM.getCrossLanguageBindings).

Prior to this change, a PDOMBinding held three lists of names.  One for
each of declarations, definitions, and references.  This change adds a
fourth list for external references.  External references are stored as
a linked list of nodes.  Each node holds:

    - The linkage id.
    - A pointer to the next node (or 0 for end-of-list).
    - A pointer to the record of first name in the list.

The linkage id is held separately because a PDOMName does not have any
field of it's own for linkage.  By grouping elements in this way, we can
reuse most of the existing list-related code.

External references are accessed through a new PDOMIterator class.  This
is needed so that we can advance to the next linkage node when we get to
the end of one node's list of names.

This also adds a unit test for the new API.

Change-Id: Ie2b14848db7409905beda0cec752080d5f42eec8
Signed-off-by: Andrew Eidsness <eclipse@jfront.com>
Reviewed-on: https://git.eclipse.org/r/18979
Tested-by: Hudson CI
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
IP-Clean: Doug Schaefer <dschaefer@qnx.com>
2013-11-27 19:56:03 -05:00
Sergey Prigogin
a205557db0 Cosmetics. 2013-11-27 16:25:07 -08:00
Sergey Prigogin
a45fabad98 Bug 422700 - Name resolution problem with variadic template. 2013-11-27 16:21:54 -08:00
Sergey Prigogin
853af1574b Cosmetics. 2013-11-27 16:20:35 -08:00
Sergey Prigogin
02001dbe71 Bug 422695. More test cases and fixes. 2013-11-27 14:27:00 -08:00
Sergey Prigogin
2f38016b98 Cosmetics. 2013-11-27 12:25:33 -08:00
Sergey Prigogin
e9e53fb9fa Bug 422695 - Organize Includes does not add include for template
parameter of unique_ptr, etc.
2013-11-27 09:42:55 -08:00
Marc Khouzam
2eb80a6d34 Updated version of o.e.cdt.debug.core
Change-Id: I4fb1a8de62336a31cd417b3fafe29b0144a6acb2
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
2013-11-26 14:46:59 -05:00
Marc Khouzam
47303b4253 Bug 413483 - Protect agains NPE if endianness is not initialized
Change-Id: I8d21ccf3d45bb45bca4bfdc7c24ada0c21335f4b
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/16507
2013-11-26 13:43:17 -05:00
Sergey Prigogin
38fd6392e2 Cosmetics. 2013-11-25 19:48:46 -08:00
Sergey Prigogin
2d58772f73 Bug 421247 - ASTNode.copy() chaining inconsistent
Change-Id: I89397209ae6a47b5a3a0827942b83a6755bc60e0
Reviewed-on: https://git.eclipse.org/r/18874
Tested-by: Hudson CI
Reviewed-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
IP-Clean: Sergey Prigogin <eclipse.sprigogin@gmail.com>
Tested-by: Sergey Prigogin <eclipse.sprigogin@gmail.com>
2013-11-25 21:37:10 -05:00
Sergey Prigogin
d77a625716 Updated version of the branding plug-in to match the feature version. 2013-11-25 10:47:59 -08:00
Philippe Gil
1ba8833d49 Bug 421541 - Support all languages for memory context's address size
add MIGDBShow MIGDBShowLanguage MIGDBSetLanguage
When retrieving memory context's address size do
Store initial language
Set language to c
Read address size
Restore initial language

Change-Id: I6b504526a1cde8d509299d57cf3e1d70d73c4f5b
Signed-off-by: Philippe Gil <gil@adacore.com>
Reviewed-on: https://git.eclipse.org/r/18371
IP-Clean: Mikhail Khodjaiants <mikhailkhod@googlemail.com>
Tested-by: Mikhail Khodjaiants <mikhailkhod@googlemail.com>
Tested-by: Hudson CI
Reviewed-by: Marc Khouzam <marc.khouzam@ericsson.com>
IP-Clean: Marc Khouzam <marc.khouzam@ericsson.com>
Tested-by: Marc Khouzam <marc.khouzam@ericsson.com>
Reviewed-by: Mikhail Khodjaiants <mikhailkhod@googlemail.com>
2013-11-25 09:36:07 -05:00
Sergey Prigogin
4f485bfd58 Bug 422217 - NPE in IndexLocationFactory.getAbsolutePath 2013-11-21 11:47:18 -08:00
Sergey Prigogin
24922585f0 Bug 421398 - Organize Includes not adds includes for base class. 2013-11-20 11:47:17 -08:00
Sergey Prigogin
6f2c349bc3 Corrected tracing code. 2013-11-19 13:47:17 -08:00
Sergey Prigogin
6aa836780c Cosmetics. 2013-11-18 19:13:47 -08:00
Marc-Andre Laperle
dfd0794ed6 Bug 421889 - Typo in CRefactoringDescriptor_unknown_project message
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2013-11-16 17:21:56 -05:00
Marc-Andre Laperle
c980af0e11 Bug 419983: Add a testing update site that contains the testing feature
I also removed some test plug-ins from the feature that were not getting
built and therefore could not be included.

Change-Id: I4c450b3029a5010c3f23b2dcda5c1356b9295688
Signed-off-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/18323
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
IP-Clean: Doug Schaefer <dschaefer@qnx.com>
Tested-by: Doug Schaefer <dschaefer@qnx.com>
2013-11-13 09:36:08 -05:00
Sergey Prigogin
33174d0697 Cosmetics. 2013-11-07 20:27:37 -08:00
Sergey Prigogin
c98b965760 Erase code_formatter preference when disabling project specific settings 2013-11-07 20:23:28 -08:00
Sergey Prigogin
e363ba7f04 Cosmetics. 2013-11-07 11:26:53 -08:00
Marc Khouzam
012e777293 Bug 420366 - [expressions] ExpressionInfo.inMemory() does not work for
children of array elements

Change-Id: If000fd9bb935f7aaeb686c6a2785052b70df226d
Signed-off-by: Marc Khouzam <marc.khouzam@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/17788
Reviewed-by: Mikhail Khodjaiants <mikhailkhod@googlemail.com>
IP-Clean: Mikhail Khodjaiants <mikhailkhod@googlemail.com>
Tested-by: Mikhail Khodjaiants <mikhailkhod@googlemail.com>
2013-11-07 11:57:53 -05:00
Serge Beauchamp
3d9e51d8ae Bug 421070 - DwarfReader should scale better for large binaries
Change-Id: I9e085f7fc8e48b265d0e3aa36501e9ae3dadad91
Signed-off-by: Serge Beauchamp <sergebeauchamp@mac.com>
Reviewed-on: https://git.eclipse.org/r/18081
Reviewed-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
IP-Clean: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
Tested-by: Marc-Andre Laperle <marc-andre.laperle@ericsson.com>
2013-11-06 23:05:37 -05:00
Anton Leherbauer
3e528ebafe Bug 420604 - Disassembly view tends to scroll upwards on refresh 2013-11-05 15:03:29 +01:00
Doug Schaefer
61c76973a3 Revert "Bug 419738 Support overriding MIVariableManager and friends"
This reverts commit 4721d23a6b.
2013-11-04 14:36:41 -05:00
Doug Schaefer
4721d23a6b Bug 419738 Support overriding MIVariableManager and friends
We have a new way of gathering variables from gdb using some fancy
python scripts. These changes are to easily allow us to override
the variable manager to do that.

Change-Id: I213c5835fa165227747a88da1f239bff1b41e673
2013-11-04 14:34:16 -05:00
Liviu Ionescu
6c8e4c45f4 Bug 322168: source files with specific settings disable secondary
outputs

Change-Id: I86caab2a842ef821606cf589c194b8deee91c5ec
Signed-off-by: Liviu Ionescu <ilg@livius.net>
Reviewed-on: https://git.eclipse.org/r/17735
Tested-by: Hudson CI
Reviewed-by: Andrew Gvozdev <angvoz.dev@gmail.com>
IP-Clean: Andrew Gvozdev <angvoz.dev@gmail.com>
Tested-by: Andrew Gvozdev <angvoz.dev@gmail.com>
2013-11-02 16:03:37 -04:00
Doug Schaefer
568d99f7b4 Another typo. This sucks. 2013-11-01 12:55:25 -04:00
Doug Schaefer
9dc0c47205 Fix typo on repo pom. 2013-11-01 12:53:34 -04:00
Doug Schaefer
2e7e6aa999 Fix error in repo pom. 2013-11-01 12:52:48 -04:00
Doug Schaefer
70a8846b7f Use CBI signing setup. 2013-11-01 12:51:14 -04:00
Doug Schaefer
e4f1fdf702 Put the maven repo back. 2013-11-01 12:23:20 -04:00