A CodeReader simply contains a char[] and the name of the file, if any,
that the char[] is the contents of. This leads us down the path of using
char[]s in the parser instead of Strings in an attempt to cut down on
our memory usage.
Provide a notification to the listener of index events
Fix for Bug 44926 - add extensibility to gracefully handle preprocessor exceptions
Added an IndexProblemHandler to handle parser IProblem callbacks
<BR> Fixed https://bugs.eclipse.org/bugs/show_bug.cgi?id=55785.
<BR> Fix required update to ISourceElementRequestor interface : clients updated accordingly.
<BR>
<BR>org.eclipse.cdt.core.tests
<BR> Updated clients for ISourceElementRequestor.createReader() updates.
<BR>
<BR>org.eclipse.cdt.ui
<BR> Updated CompletionEngine to use shared working copies when parsing include files.
<BR> Updated clients for ISourceElementRequestor.createReader() updates.
be a problem with Organize Imports which adds
unnecessary imports so I anticipate these returning
over time until the Organize Imports feature is fixed.
- Added a Navigation preference page to the CEditor
- Changed SourceIndexer to use a BufferedReader
- Modified OpenDeclarationsAction to use selection search parser
Improved error handling for Indexer
Improved error handling for MatchLocator
Bounds checking for mappings in IncudeEntry
Improved error handling for Merge operations
Source file name fitering for recreating an already existing index
This patch adds a layer of separation between the indexer and the parser by running the parser in its own thread. This allows the indexer to finish all jobs regardless of the individual parser outcomes. Also fixed a potential EOF bug while reading stored indexes.
====================
Renamed IASTNode.LookupResult IASTNode.ILookupResult.
Introduced new ParseError exception for contextual parse() methods.
Renamed ParserFactoryException ParserFactoryError.
Replaced ParserNotImplementedException with a variant of ParseError.
Updated IScanner & IParser to not reference OffsetLimitReachedException explicitly.
Renamed ParserMode.CONTEXTUAL_PARSE to COMPLETION_PARSE.
Cleaned up IMacroDescriptor and made Scanner definitions table consistent.
Added IScanner.getDefinitions() to return the entire Map of definitions to a client.
Removed most of the warnings from parser source directory.
Removed the unused SyntaxErrorException.
Provided partial fix for Bug 44370 IASTMacro requires more information for clients.
org.eclipse.cdt.core.tests
==========================
Updated references to LookupResult as it was renamed to ILookupResult.
Removed some warnings from parser tests.
Updated Scanner & QuickParseTests to accommodate new errors and signatures.
Added QuickParseASTTests.testBug44370().
org.eclipse.cdt.ui
==================
Updated references to LookupResult as it was renamed to ILookupResult.
Updated references of ParserFactoryException to ParserFactoryError.
Updated references of ParserNotImplementedException to ParseError.
Updated references of CONTEXTUAL_PARSE to COMPLETION_PARSE.
Cleaned up the ParserFactory interface to check for validity of input arguments.
Moved NullSourceElementRequestor and ScannerInfo to public interface as requested.
Restructured code so that no Eclipse/CDT source outside the parser source directory is used.
Updated parser clients to use new ParserFactory (stand-alone parser work item).
UI & TESTS
Updated parser clients to use new ParserFactory (stand-alone parser work item).
Removed warnings from parser source tree.
Removed preliminary task tags support to clean up parser interfaces and implementation.
Added preliminary IProblem support to
UI
Updated parser clients to use new IProblem strategy.
TESTS
Updated parser clients to use new IProblem strategy.
- Moved off all dependency calculations to the Indexer thread,
created a new UpdateDependency job
- Modified CSearchOperation to only lock the workspace when
tagging resources with markers.
This patch:
- changes the indexer to use whatever source/header extensions are defined in CModelManager
- updated the search shortcut so that Ctrl + H will bring up the C/C++ search in a source/header extension file
- flushes the CDT log file after each index merge (ie. each time the indexer completes an index)
Here's a patch that creates and manages a CDT log file in the .metadata\.plugins\org.eclipse.cdt.core folder. This log file, for now, will contain indexer failure messages and parser failure messages - particularly inclusion failures. These messages were being logged to the PDE error log which, given the number of failures that we can expect on some files, was filling up rather quickly. I put a 5MB limit on the CDT log file after which it gets deleted and a new one gets created. The intent of this log file is to help a user figure out why something isn't being indexed properly - the usual reasons are: i) can't find an include file, ii) symbols not defined.
Also in this patch are 2 minor UI fixes: i) dedicated to Brent - Ctrl+H now brings up the C++ Search Dialog for all C Editor supported extensions, and ii) especially for Alain - F3 will perform a Open Declarations.
This patch integrates the dependency calculator into
the indexer. As a result the underlying indexer file storage
format has changes. Lots of detail in the change logs of
exactly what changed...