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 fixes the way the symbol table handles const & volatile.
It also fixes the following bugs:
47628 - signed char is parsed as char
47636 - char * and char[] are treated as different types
45697 - Parser/Symbol Table: Mismatched declarations & definition
Removed IASTCompletionKind.SCOPED_REFERENCE as it was obsolete.
Did preliminary work to support content assist within qualified names.
org.eclipse.cdt.ui
Updated Content Assist feature to not use IASTCompletionKind.SCOPED_REFERENCE
Restructured Parser implementation to allow for better support of Selection Search.
Restructured Parser implementation to allow for separation between parsing expressions (Scanner) and complete C/C++ source.
org.eclipse.cdt.core.tests
Updated tests to accommodate for new Parser class hierarchy and factories.
This patch represents a couple of months work (off and on since the
summer) on Parser Symbol Table support for templates.
This is symbol table support only, not parser support (that still needs to
be done).
What does work:
- declarations, definitions & instantiations for class templates, function
templates, & template templates
- declarations, definitions & instantiations of class template partial
specializations
- template ordering & argument deduction (allows implicit template
function instatiation)
What doesn't (yet) work:
- Explicit specializations
- assorted smaller specific cases & bugs & things I havn't thought of yet
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.