This patch changes the handling of ambiguities during prefix lookup.
It also addresses problems in the symbol table to do with qualified
lookup. Fixing these revealed problems caused by the
CompleteParseASTFactory not always using the correct lookup functions. So
the factory has been modified to call the appropriate lookups.
The following tests have been created:
FailedCompleteParseASTTest.testBug47926
CompleteParseASTTest.testQualifiedLookup
ParserSymbolTableTest.testPrefixLookup_Ambiguities
ParserSymbolTableTest.testQualifiedUnqualifiedLookup
FunctionMethodPatternTests.testLookupForDefinition
CompleteParseASTFactory should use the symbol table's elaboratedLookup
instead of qualifiedLookup when it encounters an elaborated type
specifier.
Core:
change createElaboratedTypeSpecifier to call
IContainerSymbol.elaboratedLookup
Core.tests
add CompleteParseASTTest.testBug47624
Core:
In prefix lookup, the lookup does not stop when a symbol is found, also abiguity resolution is modified.
Add IContainerSymbol.prefixLookup (signature subject to change)
Add ParserSymbolTable.LookupMode, an enum with 2 values: NORMAL, PREFIX
In prefix mode, the lookup does not stop when a symbol is found.
Tests:
ParserSymbolTableTest.testBug46882
ParserSymbolTableTest.testPrefixLookup_Unqualified
ParserSymbolTableTest.testPrefixLookup_Qualified
ParserSymbolTableTest.testPrefixLookup_Inheritance
- upgrade plugin.xml files
- use PDE containers
- apply Eclipse 3.0 porting items, in particular openEditor and gotoMarker
- remove TestWorkbenches from test plugins
Refactor the symbol table by splitting the ParserSymbolTable.Declaration
class in 4 classes and moving it to not be nested
Tests have been updated and tested on windows & Linux