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

154 commits

Author SHA1 Message Date
John Camelon
2f398f309b CORE
Fixed Bug 39530 - More problems with initializers. 
	Fixed Bug 37424 - Crash when opening big files
	Refactored pointerOperators & cvQualifiers to not throw backtracks in optional case.  
	Added tracing support to cdt.core plugin via .options file.  

TESTS
	Added QuickParseASTTests::testBug39530().
2003-08-25 12:19:43 +00:00
Doug Schaefer
a55df357e1 Patch for Hoda Amer:
Core: 
        Modified the parser's newExpression() to send all its sub expressions to the newDescriptor and check on each expression to find references in the CompleteParserASTFactory.createExpression(). 

Core Tests: 
        Added testNewExpressions() to CompleteParseASTTest to test new expression's references.
2003-08-20 18:05:30 +00:00
Doug Schaefer
cc710063b4 Patch for Sean Evoy:
This patch contains some minor UI changes and a big chunk of work to add 
built-in symbols and includes search paths to a tool specification. 

The UI change is a switch from dynamically resizing the property page when 
an option category is selected from the list, but rather using a scrolled 
edit area. Now, if the option set is larger than the viewable area, a 
horizontal and/or vertical scrollbar is displayed.

In terms of built-ins, there is no UI support to change the values just 
yet. That is coming, but I wanted to get the framework and some 
definitions in place so that the indexer and scanner can start using them.
2003-08-20 17:52:32 +00:00
John Camelon
6acb69e971 CORE
Removed warnings from SymbolTable & QuickParseCallback (removing implicit accessor generation).
	Made IASTElaboratedTypeSpecifier derive from IASTOffsetableNamedElement (as it should).  

TESTS
	Removed warnings from AutomatedIntegrationSuite.java (removing implicit accessor generation).
2003-08-14 19:49:48 +00:00
John Camelon
83c27c9bb1 CORE
Added X-Reference support for ArrayModifiers and Exception Specifications.  
	Fixed Bug 41551  -  HandleInclusion always throws ScannerException on local includes.

TESTS
	Added CompleteParseASTTest::testArrayModExpression(), testPointerVariable() & 
	testExceptionSpecification().
2003-08-14 15:33:32 +00:00
John Camelon
80ee3e49e7 CORE
Added constructor expression support for variables.  
	Added constructor chain x-reference support for methods. 

TESTS
	Added testBug41520() to FullParseFailedTests.java.  
	Added testConstructorChain() to CompleteParseASTTest.java
2003-08-13 23:54:09 +00:00
John Camelon
fa8baf0518 CORE
Added Expression x-reference support into Parser.

TESTS
	Added testSimpleExpression(), testParameterExpressions() && 
	testNestedNamespaceExpression() to CompleteParseASTTest.java.
2003-08-13 21:51:53 +00:00
John Camelon
df11a294b8 Patch for Sean Evoy
In order to work through CExtensionPoint mechanism, I have to change the 
existing extension point entries for the Managed and Standard builders to 
the following (all future builders will have to conform to this as well):
   <extension
         id="ManagedBuildManager"
         point="org.eclipse.cdt.core.ScannerInfoProvider">
      <cextension>
         <run
 class="org.eclipse.cdt.core.build.managed.ManagedBuildManager">
         </run>
      </cextension>
   </extension>

   <extension
         id="StandardBuildManager"
         point="org.eclipse.cdt.core.ScannerInfoProvider">
      <cextension>
         <run
 class="org.eclipse.cdt.core.build.standard.StandardBuildManager">
         </run>
      </cextension>
   </extension>

As well, the ManagedBuildManager and StandardBuildManager must extend 
AbstractCExtension.

The new project wizards for managed and standard projects have to be 
modified to register the right class as the scanner info providers for the 
project. The example below shows the managed project wizard code, but the 
standard project wizard is similar.
try {
        ICDescriptor desc = 
CCorePlugin.getDefault().getCProjectDescription(project);
        desc.remove(CCorePlugin.BUILD_SCANNER_INFO_UNIQ_ID);
        desc.create(CCorePlugin.BUILD_SCANNER_INFO_UNIQ_ID, 
ManagedBuildManager.INTERFACE_IDENTITY);
} <snip>


Clients use a new method defined in CCorePlugin 

public IScannerInfoProvider getScannerInfoProvider(IProject project) {
        IScannerInfoProvider provider = null;
        if (project != null) {
                try {
                        ICDescriptor desc = (ICDescriptor) 
getCProjectDescription(project);
                        ICExtensionReference[] extensions = 
desc.get(BUILD_SCANNER_INFO_UNIQ_ID);
                        if (extensions.length > 0)
                                provider = (IScannerInfoProvider) 
extensions[0].createExtension();
                } catch (CoreException e) {
                }
        }
        return provider;
}

to get the information provider as shown in the updated JUnit test code 
below:
// Find the first IScannerInfoProvider that supplies build info for the 
project
IScannerInfoProvider provider = 
CCorePlugin.getDefault().getScannerInfoProvider(project);
assertNotNull(provider);

As is the case now, clients implement the IScannerInfoChangeListener 
interface and pass themselves to the provider in a subscription message. 
There is also a new method on the IScannerInfoProvider interface that 
allows the client to get information immediately as shown below:
IScannerInfo currentSettings = provider.getScannerInformation(project); 

The ManagedBuildManager::getScannerInfo(IResource) method will be 
deprecated, then removed before the end of this release cycle.
2003-08-13 17:45:38 +00:00
John Camelon
891454830b CORE
Added X-Ref/Elaborated type support w/element requestor callbacks.  

TESTS
	Added CompleteParseASTTest::testForewardDeclarationWithUsage().
2003-08-12 20:40:11 +00:00
John Camelon
a94839573b CORE
Added Complete Parse support for ASM Definitions.  
	Added isVolatile() to abstract declarations.
	Added Complte Parse support for elaborated types / forward declaration of classes.  
	Fixed some robustness issues.

TESTS
	Cleaned up Junit parser-related tests so that failed tests are now expected failures w/defects associated with them.  
	Updated CompleteParseTests for forward declaration/elaborated types.  
	Added Search/ParseTestOnSearchFiles to AutomatedSuite. 
	Updated Search tests to workaround bug 41445.
2003-08-12 18:19:55 +00:00
Doug Schaefer
65003d3ab2 Patch for Andrew Niefer:
Core:
- refactor symbol table function names to start with lower case letters
- added better constructor support :
        - IDerivableContainerSymbol.addConstructor
        - IDerivableContainerSymbol.lookupConstructor
        - IDerivableContainerSymbol.getConstructors
- implicit user-defined conversion sequences now only use constructors not 
marked explicit
- user-defined conversion sequences are now only applied at most once 
(12.3-4 in spec) 
- changed ParserSymbolTableException.r_Unspecified to r_InternalError 
which is thrown on internal symbol table inconsistancies (likely from bugs 
rather than semantic problems with the parsed code)

Core.tests:
- updated tests to reflect function name refactoring
- added ParserSymbolTableTest.testConstructors
2003-08-07 14:46:58 +00:00
John Camelon
87e177ade2 Patch for Andrew Niefer
This patch improves support in the parser symbol table for forward declarations
2003-08-01 17:43:10 +00:00
John Camelon
c2e6e9ec5b Patch for Victor Mozgin
Fixed PR 39540 : Parser fails on const qualifier after class specifier
2003-07-31 13:14:32 +00:00
John Camelon
7b4de80105 Patch for Victor Mozgin.
Fixed PR 39532 : Parser fails on fully-qualified class names.
2003-07-30 13:04:53 +00:00
John Camelon
57c348fffa CORE
Updated AST to better represent pointers to functions/methods.
	Implemented typedef declaration/x-ref infrastructure.  

TESTS
	Updated QuickParseASTTests for pointer to function updates.
	Updated CompleteParseASTTests for typedef work.
2003-07-30 01:31:14 +00:00
John Camelon
5423bbc79e Patch for Victor Mozgin.
Fixed PR 39546 : Parser fails on 'signed' casts.
2003-07-29 14:21:07 +00:00
John Camelon
95b11e1171 CORE
Fixed Bug 40842 - Parser: NPE while parsing class declaration in full parse mode 
	Fixed Bug 40843 - Parser: failParse doesn't set parsePassed = false on EOF.
	Fixed Miscellaneous overrides issues involving parameters & functions. 


TESTS
	Added/moved tests as necessary for bugfix 40842 & 40843.
2003-07-28 20:49:47 +00:00
John Camelon
30f7903424 Fixed Bug 40730 - Parser is not searching the include path for #include"<name>" 2003-07-28 15:40:36 +00:00
John Camelon
9b571cb993 Patch for Victor Mozgin.
Fixed PR 39537 : Parser fails if template parameters contain '>' or
'<'  characters.
2003-07-28 14:18:39 +00:00
John Camelon
136320038c Patch for Victor Mozgin.
Fixed PR 39553 : Macros are not expanded in #include statements.
2003-07-28 00:02:34 +00:00
John Camelon
7c5787894d Last minute demo fixes for Search/Indexer/COMPLETE_PARSE. 2003-07-25 16:45:49 +00:00
John Camelon
ee5dac3bd9 Patch for Bogdan Gheorghe.
This patch adds type refs, function refs, method refs,  fireld refs and namespace refs to the index and changes the parser mode to complete parse.
2003-07-25 15:21:57 +00:00
John Camelon
8b6f29d3ad Fix Symbol Table Lookup in addBaseSpecifier() for Andrew. 2003-07-25 14:49:18 +00:00
John Camelon
196aedf345 Fixed ASTEnumerator::getOwnerEnumerationSpecifier() in COMPLETE_PARSE mode for Bogdan. 2003-07-25 14:30:11 +00:00
John Camelon
4824b20cdc CORE
Added COMPLETE_PARSE support for Method and Field declarations and cross-references. 
	Fixed some small ParserSymbolTable bugs.
	Added support for linkage specification under COMPLETE_PARSE.

TESTS
	Updated CompleteParseASTTests for Method/Field updates.
	Fixed TortureTest's parser mode switch (was always QuickParsing).
2003-07-25 00:35:42 +00:00
John Camelon
ea9038f44b Fix ending offsets of Functions/Methods w/bodies for Hoda. 2003-07-24 14:47:32 +00:00
John Camelon
9d44e90798 CORE
Added CompleteParse - UsingDirective & UsingDeclarations w/namespace/class/field variable references.
	Added CompleteParse support for enumeration specifiers and references in variables & fields.  
	Stubbed out other Scopes/Declarations for COMPLETE_PARSE mode to allow indexer team to switch over ASAP. 

TESTS
	Updated CompleteParseASTTests.
2003-07-24 13:47:20 +00:00
John Camelon
b9273831d1 Fix offsets of PointerToFunctions/PointerTo Methods for OutlineView 2003-07-23 20:20:50 +00:00
John Camelon
f476d6f782 Fixed classOffsets for Hoda 2003-07-23 19:51:30 +00:00
John Camelon
b97503af2c Fix id offsets on variables/fields 2003-07-23 14:39:42 +00:00
John Camelon
89395c5d38 Fix Offsets on Variables. 2003-07-23 13:59:56 +00:00
John Camelon
443dc9c1ec CORE
Added in preliminary support for Field/Variable w/cross references on their types.  

TESTS
	Updated CompleteParseASTTests.
2003-07-22 22:02:24 +00:00
John Camelon
1db528a01b Add IASTFunction.setHasFunctionBody()/IASTFunction.getHasFunctionBody()
for the sake of the outline view.
2003-07-22 18:32:40 +00:00
John Camelon
4b8ed789cc Offset fixes for Hoda. 2003-07-22 14:50:13 +00:00
John Camelon
329664223a - Added support for digraphs and trigraphs. Both scanner and UI syntax
highlighting are updated.
-  Added support for hex floating point literals.
- Fixed stack overflow problem with string literals concatenation.
- Fixed problem with token pasting in macros.
- This solves PR 39523, 39550, 39552.
2003-07-22 00:44:18 +00:00
John Camelon
c39bb334d0 CORE
Addded in support for BaseSpecifier & class/namespace reference callbacks upon those.  

TESTS
	Updated CompleteParseASTTests.
2003-07-22 00:26:13 +00:00
John Camelon
f25e4d8bd0 CORE
Fleshed out basic declarations for FullParse AST.
	Fixed Bug 40554  - Fields coming back as Vars 
	Fixed Bug 40555  - Methods come back as Functions 

TESTS
	Created CompleteParseASTTest and added it to ParserTestSuite.
2003-07-21 17:30:00 +00:00
John Camelon
8aa2e6f9b9 CORE & UI
Added ISourceElementCallbackDelegate interface for AST constructs to allow the Parser to delegate callback's to the nodes themselves.  
	Got rid of ParserMode.STRUCTURAL_PARSE for the time being. 
	Removed org.eclipse.cdt.internal.core.parser.ast.full. 
	Created org.eclipse.cdt.internal.core.parser.ast.complete. 
	Updated ParserFactory.createScanner() to force the user to provide a callback and a ParserMode.
	Introduced ASTSemanticException for COMPLETE_PARSE mode. 
	Fleshed out preliminary IASTReference interfaces and added callbacks to ISourceElementRequestor.
	Removed acceptElaboratedTypeSpecifier() from ISourceElementRequestor.

TESTS
	Updated ParserSymbolTableTests to remove dependencies on parser.ast.full classes.
	Updated Parser test suites for updates to ParserFactory.
2003-07-18 16:39:26 +00:00
John Camelon
e042f101ba CORE
Removed DeclaratorDuple as it was obsolete.
	Fixed offsets in quickParse's IASTTypedefDeclaration implementation.
	Fixed Bug 40436 - Fully Qualified Names Needed (for Indexer/Search features)

TESTS
	Wrote new tests in QuickParseASTQualifiedNameTest.java and added it to ParserTestSuite's suite.
2003-07-18 12:40:48 +00:00
John Camelon
b43dece8ee CORE & UI
Removed IParserCallback.  
	Partially converted DOM to ISourceElementRequestor (requires refactoring of CModelBuilder & StuctureComparator modules in near future).  
	Completely finished ISourceElementRequestor/IASTFactory work for QuickParse mode.  
	Added pointer to methods/functions into AST callback structure.  
	Restructured AST class hierarchy.  
	Removed the old IParserCallback return Objects from every Parser method.

TESTS
	Rewrote the entire DOMTests suite to now be AST tests.  
	Removed DOMTests, BaseDOMTest, DOMFailedTests after methods were migrated to QuickParseASTTests & ASTFailedTests.  
	Made sure every parser failed test had a defect number associated with it.
2003-07-17 20:15:18 +00:00
John Camelon
1a23ab7152 Patch for Victor Mozgin
Added support for long long and wide char literals.

Fix for PR 39349 : Scanner fails on long long literals.
Fix for PR 39544 : Scanner fails on wide char literals.
2003-07-15 13:35:45 +00:00
John Camelon
eac791976f CORE
Added in template support to IAST hierarchy.
	Updated instantiation & specialization hierarchy.  
	Removed ASTTemplateDeclarationType.  
	Added full requestor callbacks for fields, variables, functions, methods & typedef declarations.
2003-07-10 21:31:34 +00:00
Doug Schaefer
6a897468ed - Added the ability to add arbitrary XML data to the
cdtproject file.
- Used to store the data that had been put in the
cdtbuild file for Standard Make projects.
- Cleaned up some of the exception handling in the 
StandardBuildManager.
2003-07-10 17:50:34 +00:00
John Camelon
d71d9270d8 CORE
Filled out IASTMethod & IASTFunction & added implementations.
	Updated IScanner, clients & implementations to use IScannerInfo.  
	Finished SimpleDeclaration porting to new architecture, only thing left is templates.  

TESTS
	Updated IScanner, clients & implementations to use IScannerInfo.
2003-07-09 00:47:49 +00:00
John Camelon
91794dcff9 Further restructuring. 2003-07-07 13:46:16 +00:00
John Camelon
8b844d54f1 Patch for Sean Evoy.
The change logs contain an overview of what has been done to implement a new interface between a build model (any build model) 
and clients of the model that need to extract include search paths and defined symbols. For the most part, I have tried to leave the 
old build system as unchanged as possible. For example, project properties like the make search path, and whether or not to continue 
on build failures are still stored as persistent properties on the project through the CNature (ugh). The new information I have added 
is managed by a new build manager on a per-project basis and is associated with a project as a session property. The information is 
persisted in the 'cdtbuild' file introduced by the new managed build system.
2003-07-04 18:36:47 +00:00
John Camelon
2e6093590f CORE
Fixed NPE in Parser::declarator().
	Bug 39652 - AST: Nested Classes incorrectly report null qualified Names 

TESTS
	Moved testBug39652() from failed search tests to ClassDeclarationPatternTests.
2003-07-04 18:03:22 +00:00
John Camelon
4961729ef8 Patch for Victor Mozgin
CTaskTagsReconciler refactoring.
2003-07-04 15:19:54 +00:00
John Camelon
77ed10f94c Patch for Victor Mozgin.
Fixed PR 39501 : Parser problems with throw clauses.
Improved filtering of expected failures/inconclusives in TortureTest.
2003-07-03 18:44:40 +00:00
John Camelon
b2aacbd3c1 CORE
Further restructuring of Parser for ISourceElementRequestor. 
	Added interfaces/implementation for Simple Declarations.  
	Cleaned up DOM's representation of Constructor chains.  

TESTS
	Added DOMTests::testAssignmentExpression()
	Added PreprocessorConditionalTest to ParserTestSuite.
2003-06-30 22:08:38 +00:00