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

11165 commits

Author SHA1 Message Date
Nathan Ridge
ee08bee24b Bug 401140 - NullPointerException in CPPTemplates.addDefaultArguments()
Change-Id: I05fa8a3935904cb1bd293348dcbf10810e677b5c
Reviewed-on: https://git.eclipse.org/r/10466
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-02-20 12:37:58 -05:00
Nathan Ridge
f1542b27c6 Bug 399829 - Wrong context for name lookup in dependent expression
Change-Id: Iab800a2264c56bdf01498c238b08a2948ca3cfc8
Reviewed-on: https://git.eclipse.org/r/10333
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-02-20 12:24:28 -05:00
Andrew Eidsness
2279927623 Bug 400020: Allow tagging of IBindings
This new extension point allows contributors to put their own
information into the PDOM and to later retrieve it for their own
purposes.

There are many details in the bug.  The idea is that contributors
provide an implementation of IBindingTagger, which is given a chance to
examine IBindings when they are created.  The ITagWriter interface
allows the contributor to create a new tag which can then have data
written to it.

The ITagService interface (accessible from CCorePlugin.getTagService()
provides a way for the contributor to later get an instance of
ITagReader to retrieve tags from bindings.

ITags are copied to the PDOM when the associated binding is persisteed.

Contributors use a unique id (based on their plugin id), so that
multiple contributors are able to independently tag a given binding.

In-memory tags are not cached.  I've done some timing tests using my
sample implementation and found no measurable difference.  The full log
lines look like:

	!MESSAGE Indexed 'simple-01' (2 sources, 184 headers) in <see below>
sec: 21,550 declarations; 35,394 references; 0 unresolved inclusions; 1
syntax errors; 0 unresolved names (0.00%)

I did 5 tests using the current master (no tagging-related code), the
times were:
	18.86 sec
	 9.17 sec
	 5.91 sec
	 4.79 sec
	 4.83 sec

And then I ran the same sequence of tests using the code in this
commit:
	18.73 sec
	 9.39 sec
	 6.50 sec
	 4.78 sec
	 5.27 sec

If performance does become a problem, then caching could be introduced
with a new implementation of ITaggableService.  The two problems are
finding a key other than the identity of the IBinding (since IBindings
are re-created often) and properly evicting stale entries when the
binding is no longer valid.

The process of copying tags from an in-memory IBinding to a PDOMBinding,
is a synchronization.  This means that tags that are no longer
applicable, will be removed from the persistent store.

While developing this I found that PDOMBindings are not deleted from the
Database (only the names that reference them are deleted), so there is
no provision for deleting all tags at once.

New database locks are not needed.  By the time the persistent tags are
accessed, higher levels of code have already taken a read or write lock
as appropriate.

There are new unit tests covering the changes to the PDOM.

Change-Id: I8da1bf5eeba7e1fc2ca7ec308ed8e212629986a4
Reviewed-on: https://git.eclipse.org/r/10407
IP-Clean: Doug Schaefer <dschaefer@qnx.com>
Tested-by: Doug Schaefer <dschaefer@qnx.com>
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
2013-02-20 11:27:03 -05:00
Nathan Ridge
81885d232f Bug 401024 - Error involving variadic templates
Change-Id: Ic5e0b3176e87e6dcecfb528367ce5f8eea4760c1
Reviewed-on: https://git.eclipse.org/r/10426
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-02-19 23:14:57 -05:00
Andrew Gvozdev
c48e321ea3 bug 401255: LSP userdef entries: Cannot add macro after adding a workspace include path 2013-02-19 23:03:33 -05:00
Sergey Prigogin
0ae8bcc48c Bug 401093 - Expression type for pointer difference does not fit on
64bit machines
2013-02-18 17:49:55 -08:00
Sergey Prigogin
e2cbee5c2b Cosmetics. 2013-02-18 17:44:39 -08:00
Andrew Gvozdev
e4966b7c0c bug 401116: Built-in compiler settings cannot be scanner-discovered prior to a build by non-shared language settings providers 2013-02-18 14:20:30 -05:00
Andrew Gvozdev
b5d0a617f2 Added logging methods with severity as parameter 2013-02-18 14:20:07 -05:00
Andrew Gvozdev
df7db35d55 bug 395302: Project needs to refresh after discovering compiler built in settings 2013-02-17 17:37:45 -05:00
Andrew Gvozdev
4796a11050 Read-only project description can be used here 2013-02-17 15:10:39 -05:00
Andrew Gvozdev
8f8ad163a5 Fix testRepeatedlyChangeConfig_bug375226 so its failure won't break all subsequent indexer tests 2013-02-17 15:10:08 -05:00
Sergey Prigogin
54ae5864d7 Bug 400747 - [regression] ClassCastException:
PDOMCPPEnumeratorSpecialization cannot be cast to IType
2013-02-13 15:28:16 -08:00
Sergey Prigogin
0901395d32 Code streamlining. 2013-02-13 15:28:08 -08:00
Marc-Andre Laperle
5d335384e3 Bug 385144 - Invalid redefinition of enum reported when enum is used as
first parameter in constructor

createBinding is called twice for the enumeration specifier because now
ImplicitsAnalysis calls createType on the constructor parameter
declaration. The second time it is called, it wrongly thinks the
specifier is a redefinition. We can check that it's not a redefinition
by comparing the ast names.

Change-Id: If7fb168d578a7a59e78867d6d8154e0866d2a730
Reviewed-on: https://git.eclipse.org/r/10272
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-02-12 13:03:57 -05:00
Sergey Prigogin
ec0ec79c55 Improved Javadocs. 2013-02-08 14:03:41 -08:00
Sergey Prigogin
487c68d366 Bug 400275 - CoreModel.isScannerInformationEmpty mistakenly thinks that
language settings providers are enabled

Change-Id: Ie9cbb2df8dbc9b1034bde2dbfd5de64d27d54c49
Reviewed-on: https://git.eclipse.org/r/10248
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-02-08 10:54:53 -08:00
Andrew Gvozdev
7f710ebde4 bug 398056: Regression: LanguageSettingsProviders can get enabled unexpectedly on project-import when they should not 2013-02-07 23:28:32 -05:00
Sergey Prigogin
fda493a012 Use generics. 2013-02-07 10:24:00 -08:00
Nathan Ridge
929cc935a9 Bug 399362 - Error with depedent expression involving field in
nested class

Change-Id: I9245b09a926d5dda6da8e5fbd4a1ad7996fe999a
Reviewed-on: https://git.eclipse.org/r/10231
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-02-07 12:17:15 -05:00
Sergey Prigogin
f5567f16bd Added a comment. 2013-02-06 20:53:54 -08:00
Sergey Prigogin
82e0edf99f An attempt to reduce test flakiness. 2013-02-06 20:49:34 -08:00
Nathan Ridge
e3150dce7f Bug 399142 - [regression] 'Open Declaration' does not work inside
template

Change-Id: Ie61924e7bba3aea1fff1df6d996d5af317e8c435
Reviewed-on: https://git.eclipse.org/r/9984
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-02-06 01:37:23 -05:00
Sergey Prigogin
b8fa0f2269 Use the configurable index timeout. 2013-02-05 14:04:54 -08:00
Andrew Gvozdev
0f512a57cf bug 400028: Wrench quirks in Language Settings Providers tab UI in project properties properties 2013-02-05 16:43:30 -05:00
Caroline Rieder
fb4dffcfa0 bug 399906: Unable to unset "Use global provider" in Providers tab of Preprocessor Include paths 2013-02-05 16:43:10 -05:00
Sergey Prigogin
d3160c878f Bug 389009 - Enumerator with dependent value. Index support.
Change-Id: Ic54e20e2b4c04241d9a86c1f363b190091a28d0e
Reviewed-on: https://git.eclipse.org/r/10125
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-02-05 13:18:20 -05:00
Nathan Ridge
c3470476a0 Bug 389009 - Enumerator with dependent value
Change-Id: I4fc077870419bccd6dce15c33a0d455e8379d7e0
Reviewed-on: https://git.eclipse.org/r/10092
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-02-05 13:09:29 -05:00
Sergey Prigogin
96fbfd6f00 Enabled assertions during tests. 2013-02-05 10:07:41 -08:00
Sergey Prigogin
8f2f79f4f2 Bug 399592 - Template Argument Deduction throws AssertionErrors
Change-Id: I891a0ea21e54c2e0a4969a351b3366859525dcd4
Reviewed-on: https://git.eclipse.org/r/10165
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-02-05 12:57:25 -05:00
Andrew Gvozdev
94e85e44b1 Clarified JavaDoc 2013-02-04 13:00:18 -05:00
Sergey Prigogin
2a96dbfc19 Cosmetics. 2013-02-02 17:01:20 -08:00
Sergey Prigogin
6f24a6820b Bumped up version of org.eclipse.cdt.ui plug-in. 2013-02-01 16:58:52 -08:00
Greg Watson
f63c877df9 Bug 396651
Change-Id: If8ff6c840c82d1174c8cec79f9b038bd30267cb7
Reviewed-on: https://git.eclipse.org/r/9982
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-02-01 16:35:39 -05:00
Andrew Eidsness
2bc9035f8c Bug 363406: extensible semantic highlighting
- introduced extension point to allow plugins to add new semantic
highlighters
- see bug for more details

Change-Id: Ic019e8a3c483fcfc42344fe4ef2139cc933c0301
Reviewed-on: https://git.eclipse.org/r/10074
Reviewed-by: Doug Schaefer <dschaefer@qnx.com>
IP-Clean: Doug Schaefer <dschaefer@qnx.com>
Tested-by: Doug Schaefer <dschaefer@qnx.com>
2013-02-01 16:18:28 -05:00
Andrew Gvozdev
d960fff7dd bug 357442: Added $CYGWIN_HOME to cygwin toolchain detection algorithm 2013-02-01 09:52:26 -05:00
Andrew Gvozdev
b5807e9b29 Refined a pattern for GNU Make Error Parser 2013-02-01 09:52:12 -05:00
Markus Schorn
b4401b6198 Bug 399394: Include macro expansions yielding the empty token in IASTNode.getNodeLocations() 2013-01-31 10:36:14 +01:00
Sergey Prigogin
47373b6644 Deleted an obsolete file. 2013-01-30 13:25:32 -08:00
Sergey Prigogin
4caa97f8d6 Bug 399142. Proper signatures for types of dependent expressions. 2013-01-30 11:56:20 -08:00
Sergey Prigogin
9c151f6127 Fixed an NPE. 2013-01-30 11:54:44 -08:00
Nathan Ridge
9e8c662a73 Bug 397342 - Error calculating size of reference type
Change-Id: I1274da6ebd14f0c1f97dce2699d62018cff57b05
Reviewed-on: https://git.eclipse.org/r/9426
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-01-30 13:41:10 -05:00
Nathan Ridge
90bdc3c39c Bug 399363 - ClassCastException in CPPBaseClause.getBaseClassType()
Change-Id: Ia7f168648b739334982b7e0728250fbb663bd1c5
Reviewed-on: https://git.eclipse.org/r/9994
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-01-29 20:24:57 -05:00
Nathan Ridge
95c1231336 Bug 399039 - Error involving variadic non-type template parameter
Change-Id: I61b19e1fc5aac9372ad756c1e33e412f4bee86e2

Reviewed-on: https://git.eclipse.org/r/9943
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-01-29 19:41:48 -05:00
Nathan Ridge
d4cf62a785 Bug 398044 - Error involving partial ordering of class template
specializations

Change-Id: Ia4a2d8760c6122e5aeec81524a20a3fa14a5a3ac
Reviewed-on: https://git.eclipse.org/r/9645
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-01-29 19:14:37 -05:00
Nathan Ridge
524777cfa8 Bug 397828 - Error involving recursive variadic template
Change-Id: I68d1ed4c303fcaf7dd1b74438dc0673444f5fedc
Reviewed-on: https://git.eclipse.org/r/9644
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-01-29 18:49:17 -05:00
Nathan Ridge
69c73ec432 Bug 388805 - False ambiguity in overload resolution with variadic
templates

Change-Id: I4d8b73ab5238f98de7b53849b265ebbc6158d62e
Reviewed-on: https://git.eclipse.org/r/9643
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-01-29 18:41:31 -05:00
Nathan Ridge
0ef8976a2a Bug 397494 - Error evaluating decltype of constant lambda
Change-Id: Ib9f5b09d331db9b7686c7d1c3a0c124cb235131f

Reviewed-on: https://git.eclipse.org/r/9478
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-01-29 18:10:35 -05:00
Nathan Ridge
047a6f8f29 Bug 382074 - [C++11] Error involving variadic non-type template
parameters

Change-Id: I6f4e3672b4aca8e8ca878bccdec9c19a1838c74d
Reviewed-on: https://git.eclipse.org/r/9581
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-01-29 17:55:02 -05:00
Nathan Ridge
7112819c9b Bug 399353 - Error involving __is_base_of
Change-Id: I93270040e75819c41705f0413d831ceaaf007131
Reviewed-on: https://git.eclipse.org/r/9989
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-01-29 17:31:14 -05:00