1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-05 08:46:02 +02:00
Commit graph

66 commits

Author SHA1 Message Date
Jesse Weinstein
07fcd9213c Bug 349248: Fix even more user-visible CDT refs
Change-Id: If212f90e96dc9f90456239ca6f7b8f319caf977e
Reviewed-on: https://git.eclipse.org/r/11372
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-03-21 17:02:11 -04: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
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
Anton Gorenkov
f1a62f0fe3 Bug 375814 - Implement the Eclipse variables to obtain CDT configuration
name and description for the specified project
2012-04-02 10:23:31 -07:00
Andrew Gvozdev
b4230c0fff bug 290631: Added New Scanner Discovery core functionality from branch
sd90 (Not connected to the rest of the code yet)
2012-01-26 15:30:43 -05:00
Marc-Andre Laperle
ebfa9bcd0a Bug 236330 - win32-x86_64 support 2011-07-31 22:06:39 -04:00
Markus Schorn
bc53d099c3 Bug 343437: Support for UNC include directories, by Greg Watson. 2011-04-28 14:10:29 +00:00
James Blackburn
2869d6180d Bug 296072 - CDT release is missing shared objects for linux-ppc64-gtk 2011-01-22 11:03:17 +00:00
Andrew Gvozdev
494b2dc62c bug 318093: GCCErrorParser treats instantiation warnings as errors 2010-06-27 02:45:29 +00:00
Andrew Gvozdev
0dd48245de bug 314253: Linker warning not recognized
Based on work from Axel Mueller
2010-05-27 01:26:17 +00:00
Andrew Gvozdev
9993dae7a5 Removed RegexErrorParser as a separate parser 2010-03-29 02:26:17 +00:00
Andrew Gvozdev
97b4973f32 "CDT pushd CWD Locator" 2010-02-12 15:09:15 +00:00
Andrew Gvozdev
cd1a6a4ed4 bug 248669: [Error Parser] gnu c/c++ error parser treats a warning as error
Tuning up GLDErrorParser
2010-02-05 03:46:44 +00:00
Andrew Gvozdev
1c874e61a4 bug 263987, bug 193982, bug 216443, bug 248669 and more: tuning up GCC ErrorParser patterns 2010-02-04 21:50:24 +00:00
Andrew Gvozdev
1f8978eea3 bug 263987: GCCErrorParser converted to RegexErrorParser style 2010-02-04 17:52:04 +00:00
Vivian Kong
6d906f69c5 externalize strings in plugin.xml in various plugins 2010-02-01 16:23:38 +00:00
Andrew Gvozdev
f7abbce100 bug 296904: Split MakeErrorParser to regex style GmakeErrorParser and CWDLocator 2010-01-29 06:34:42 +00:00
Andrew Gvozdev
24ce2c4fb4 bug 270790: Mach-O Parser doesn't recognize x86_64 binaries
Patch from Marc-Andre Laperle. Based on work of Alfons Laarman and Sal Scotto.
2009-11-04 14:47:43 +00:00
Andrew Gvozdev
dbbdbd8f95 bug 109139: Generic Error parser
(RegexErrorParser)
2009-09-11 02:09:38 +00:00
Vivian Kong
5e92597120 bug 254307 - branding 2009-05-26 14:48:10 +00:00
Markus Schorn
bad671df6c Fix warnings. 2009-01-22 14:08:34 +00:00
Chris Recoskie
38fb615b8d RESOLVED - bug 252966: ProjectDescription Storage: It should be possible to extend / override persistence mechanism
https://bugs.eclipse.org/bugs/show_bug.cgi?id=252966
2009-01-21 15:51:07 +00:00
Markus Schorn
445650299a Externalized strings. 2008-04-09 14:12:46 +00:00
Anton Leherbauer
ef7458bcf9 Cleanup obsolete extension points 2008-01-08 11:27:57 +00:00
Anton Leherbauer
2109b985e9 Fix for 186774: Need an ILanguage for assembly content 2007-05-14 14:34:48 +00:00
Anton Leherbauer
d1713fd418 Fix for 178033: Language names are used inconsistently 2007-04-24 12:39:32 +00:00
Anton Leherbauer
fb48e813d1 Document language extension point schema 2007-04-24 11:36:40 +00:00
Doug Schaefer
72947a1a2e Bug 152041 - Filter out running of the binary parser to only parse if the file has no extension, the extension is a number (e.g. libc.so.1), or the file is a binaryFile content type. Much faster now... 2007-04-17 22:57:42 +00:00
Markus Schorn
19ec4b5024 Fix for 108173, basically removes warnings in plugin.xml 2007-02-13 09:39:20 +00:00
Anton Leherbauer
b7f5c2f33e Upversion to 4.0.0 and fix dependency version ranges (bug 157543) 2006-10-11 12:28:54 +00:00
Chris Recoskie
4836857ef3 update copyrights 2006-06-14 12:16:17 +00:00
Doug Schaefer
487aa70ebc Integrated indexing into PDOM. Also change the names of a couple of things, such as PDOM which used to be PDOMDatabase. Cleaned up the indexing setting so that it is a ProjectScope preference instead of a ICExtension. Conversion should happen automagically. 2006-03-30 21:59:22 +00:00
Doug Schaefer
41d26bc514 Moved the PDOM into the Core. Started introduction of ILanguage, the mechanism of language extensibility for the CDT. 2005-11-25 22:01:48 +00:00
Doug Schaefer
43b6989c8f Introducing the PDOM. It is currently in optional plugins while under development. 2005-09-28 20:50:11 +00:00
David Inglis
cf09e84a32 CPL to EPL transistion - license header update for IBM 2005-06-23 16:02:46 +00:00
Doug Schaefer
967a5b1d91 Made the DOM Indexer the default and put in better names for the indexers. 2005-06-10 03:13:25 +00:00
Bogdan Gheorghe
6f38f94b90 Added Indexer Preference page that sets up the indexer to use for new projects
Removed Index Enabled checkboxes from Source + Dom indexers
Added import ctags file option under CTags Indexer
Fixed Apply/OK problem
2005-04-27 19:18:13 +00:00
Alain Magloire
f328f854fc 2005-03-18 Alain Magloire
Export the PathEntry Variable to the outside world.
	* src/org/eclipse/cdt/internal/core/CCorePluginResources.properties
	* src/org/eclipse/cdt/internal/core/PathEntryVariableManager.java
	* src/org/eclipse/cdt/internal/core/PathEntryVariableResolver.java
	* plugin.properties
	* plugin.xml
2005-03-18 20:25:58 +00:00
Alain Magloire
cb3e02121c 2005-02-24 Alain Magloire
Part of 79596
	* model/org/eclipse/cdt/internal/core/model/PathEntryManager.java
	* plugin.properties
2005-02-24 18:29:34 +00:00
David Inglis
5fdbc79e93 added missing strings for content type 2004-10-06 01:39:00 +00:00
Alain Magloire
08d72e6639 2004-09-07 Alain Magloire
Part of the uncoming work to supply formatting in CDT
	* schema/CodeFormatter.exsd
	* src/org/eclipse/cdt/core/CodePreferenceConstants.java
	* src/org/eclipse/cdt/core/ToolFactory.java
	* src/org/eclipse/cdt/core/formatter/CodeFormatter.java
	* src/org/eclipse/cdt/core/formatter/CodeFormatterConstants.java
	* src/org/eclipse/cdt/internal/core/CCorePreferenceInitializer.java
	* plugin.properties
	* plugin.xml
2004-09-07 20:23:30 +00:00
Andrew Niefer
bab6cc3faa patch from Tanya Wolff TVT fix for 70161 2004-07-28 21:54:46 +00:00
Alain Magloire
224f6eb03a 2004-07-16 Vladimir Hirsl
1. Implementation of HP-UX SOM binary parser.

	* utils/org/eclipse/cdt/utils/som/AR.java
	* utils/org/eclipse/cdt/utils/som/SOM.java

	* utils/org/eclipse/cdt/utils/som/parser/ARMember.java
	* utils/org/eclipse/cdt/utils/som/parser/BinaryArchive.java
	* utils/org/eclipse/cdt/utils/som/parser/SOMParser.java
	* utils/org/eclipse/cdt/utils/som/parser/SOMBinaryObject.java
	* utils/org/eclipse/cdt/utils/som/parser/SomSymbol.java

	2. Fixed a slight ommision in XXXBinaryObject classes

	* utils/org/eclipse/cdt/utils/coff/parser/CygwinPEBinaryObject.java
	* utils/org/eclipse/cdt/utils/elf/parser/GNUElfBinaryObject.java
	* utils/org/eclipse/cdt/utils/xcoff/parser/XCOFFBinaryObject.java
2004-07-16 18:03:28 +00:00
Doug Schaefer
04c74b6af0 Initial contribution of Mac Port from Greg Watson. 2004-07-07 19:19:42 +00:00
John Camelon
68640e20a9 Patch for David Daoust - Updated IBM Copyright notices 2004-06-23 20:31:49 +00:00
Alain Magloire
416238652a 2004-06-21 Alain Magloire
Big Patch from Vladimir Hirsl
	This patch contains a binary parser core and UI elements to 'support' AIX
	XCOFF32 binaries.
2004-06-21 22:08:09 +00:00
Doug Schaefer
f132e86cc0 Fixed up the fragment name properties. Apparently you
have to put them in the plugin.properties file. Weird.
2004-06-21 15:34:49 +00:00
David Inglis
1d2f0a957b I18N patch from Tanya Wolff 2004-06-09 12:37:56 +00:00
David Inglis
695c51bc99 update problem label 2004-06-08 15:55:37 +00:00
Alain Magloire
ad08ad2679 Provide error markers for the pathentry ... Work in Progress. 2004-05-17 12:30:43 +00:00