2003-04-24 Alain Magloire

	* utils/org/eclipse/cdt/utils/spawner/Spawner.java (raise):
	Change the scope to be public.

2003-04-12 Alain Magloire

	Bug 36624
	The latest changes broke the old parser, we still need the old parser
	until the new one is rock solid.
	
	* model/org/eclipse/cdt/internal/core/model/TranslationUnit.java:

2003-04-12 Alain Magloire

	Bug 36424,
	The Binaries/Archives were not deleted in the virtual containers.
	
	* model/org/eclipse/cdt/internal/core/model/DeltaProcessor.java:
	createElement() checks for the binaries in the virtual containers also.
	* mode/org/eclipse/cdt/internal/core/model/CModelManager.java:
	Remove unused methods.

2003-04-09 Alain Magloire

	Give a chance to the manager to initialize and shutdown gracefully.
	The CCorePlugin will call the managers, indexer, coreModel, CDescriptorManager
	startup() method and shutdown() method.

	* src/org/eclipse/cdt/core/CCorePlugin.java:
	Call {IndexModel,CoreModel}.{startup,shutdown}().
	* model/org/eclipse/cdt/core/model/CoreModel.java:
	New methods startup/shutdown.
	* model/org/eclipse/cdt/internal/core/mode/CModelManager.java:
	implement startup/shutdown.
	* index/org/eclipse/cdt/core/model/IndexModel.java:
	New methods startup/shutdown.

2003-04-08 Alain Magloire

	* model/org/eclipse/cdt/internal/core/model/DeltaProcessor.java:
	Bug fix, deltas were not generated for non C-Resources.

2003-04-02 Alain Magloire

	First draft on implementing LibraryReference.

	* model/org/eclipse/cdt/core/model/ICProject.java:
	* model/org/eclipse/cdt/internal/core/model/CProject.java:
	New method getLibraryReferences().
	* model/org/eclipse/cdt/internal/core/model/LibraryReference.java:
	New class.

	* src/org/eclipse/cdt/internal/core/CDescriptor.java:
	Bug fix in readProjectDescription(); fPathEntries was not initialized
	and decodePathEntry() was call with the wrong argument.
 
2003-04-01 Alain Magloire

	Implement SourceRefence and SourceManipulation for IBinary, this is
	done in BinaryElement, BinaryFunction, BinaryVariable.

	* model/org/eclipse/cdt/internal/core/model/Binary.java:
	* model/org/eclipse/cdt/internal/core/model/BinaryFunction.java:
	* model/org/eclipse/cdt/internal/core/model/BinaryVariable.java:
	* model/org/eclipse/cdt/internal/core/model/BinaryElement.java:

	Corrected typo ISymbol.getAdress() should be ISymbol.getAddress().
	* model/org/eclipse/cdt/internal/core/model/parser/Symbol.java:
	* src/org/eclipse/cdt/core/IBinaryParser.java:

2003-04-01 Alain Magloire

	Patch form Hoda.
	IStructure extends IVariableDeclaration.
	INamespace extends IParent.
	
	* model/org/eclipse/cdt/core/model/IStructure.java
	* model/org/eclipse/cdt/core/model/INamespace.java
	
2003-04-01 Alain Magloire

	Phasing out the classes ICResource and ICFile.
	They were no longer part of the C Model.

	* model/org/eclipse/cdt/core/model/ICFile.java:
	* model/org/eclipse/cdt/core/mode/ICResource.java:
	* model/org/eclipse/cdt/internal/core/model/CFile.java:
	Removed.

2003-03-30 Alain Magloire

	First phase of the rewrite on how we treat Binary/Archive in the CoreModel
	This included suggestions from Chris Songer on augmenting the binary methods
	to include the address;
	IBinary
		IBinaryModule
			IBinaryFunction
			IBinaryVariable
				IBinaryElement

	* model/org/eclipse/cdt/core/model/IBinaryElement.java:
	* model/org/eclipse/cdt/core/model/IBinaryModule.java:
	* model/org/eclipse/cdt/core/model/IBinaryVariable.java:
	* model/org/eclipse/cdt/core/model/IBinaryFunction.java:
	New Classes.

	* model/org/eclipse/cdt/internal/core/model/Binary.java:
	* model/org/eclipse/cdt/internal/core/model/Archive.java:
	* model/org/eclipse/cdt/internal/core/model/BinaryModule.java:
	* model/org/eclipse/cdt/internal/core/model/BinaryFunction.java:
	* model/org/eclipse/cdt/internal/core/model/BinaryVariable.java:
	* model/org/eclipse/cdt/internal/core/model/BinaryElement.java:
	Implement the IBinaryElement classes.


	* model/org/eclipse/cdt/internal/core/model/CElement.java:
	* model/org/eclipse/cdt/internal/core/model/CModelCache.java:
	* model/org/eclipse/cdt/internal/core/model/Openable.java:
	* model/org/eclipse/cdt/internal/core/model/Parent.java:
	Change the CModelCache to save in the LRU the binaries.

	* model/org/eclipse/cdt/internal/core/model/parser/ElfBinaryFile.java:
	* model/org/eclipse/cdt/internal/core/model/parser/PEBinaryFile.java:
	* model/org/eclipse/cdt/internal/core/model/parser/Symbol.java:
	Implement the method getAddress().
	Suggested by Chris Songer

	* model/org/eclipse/cdt/internal/core/model/DeltaProcessor.java:
	* model/org/eclipse/cdt/internal/core/model/CModelManager.java:
	Fix bug, the event was fired for the non-C resources.

	* src/org/eclipse/cdt/core/CCorePlugin.java:
	New method getDefaultBinaryParser().

	* src/org/eclipse/cdt/core/IBinaryParser.java:
	Added method getAddress() to ISymbol
	Suggested by Chris Songer

2003-03-28 David Inglis

	* src/org/eclipse/cdt/core/AbstractCExtension.java
	* src/org/eclipse/cdt/core/CCorePlugin.java
	* src/org/eclipse/cdt/core/ICDescriptor.java
	* src/org/eclipse/cdt/core/ICExtension.java
	* src/org/eclipse/cdt/core/ICExtensionReference.java
	* src/org/eclipse/cdt/core/ICOwner.java
	* src/org/eclipse/cdt/core/ICOwnerInfo.java
	* src/org/eclipse/cdt/core/ICPathEntry.java
	* src/org/eclipse/cdt/internal/CCorePluginResources.properties
	* src/org/eclipse/cdt/internal/core/CDescriptor.java
	* src/org/eclipse/cdt/internal/core/CDescriptorManager.java
	* src/org/eclipse/cdt/internal/core/CExtensionInfo.java
	* src/org/eclipse/cdt/internal/core/CExtensionReference.java
	* src/org/eclipse/cdt/internal/core/COwner.java
	* src/org/eclipse/cdt/internal/core/CPathEntry.java
	* src/org/eclipse/cdt/internal/core/InternalCExtension.java

	Add new ICPathEntry interface with peristancy, access is via the ICDecriptor
	which uses the .cdtproject file for the store. creation is through CCorePlugin.

	- included is some copyright header changes and the move of the properties file
	  to 'internal'	

2003-03-27 Alain Magloire
	* model/org/eclipse/cdt/internal/core/model/BinaryContainer.java:
	* model/org/eclipse/cdt/internal/core/model/ArchiveContainer.java:
	Name is now "Binaries" and "Archives", lib and bin was confusing.

2003-03-27 Alain Magloire

	The ICElement.getResource() should not throw a CModelException, it returns null or the the resource.
	This makes us consistent with JDT/IJavaElement.getResource();

2003-03-27 Alain Magloire

	Some changes in the Core Model to make it closer to JDT, the hierarchy is now:
	ICModel
		ICProject
			ICContainer
				ITranslationUnit
				IArchive
				IBinary

	All the C Resources above implements IParent, ICElement and IOpenable.
	The rationale is that in the old hierarchy, we were putting things in the model
	that the did not belong to the a C/C++ Model, for example a "README" file
	was map to CFile or CResource bloating the LRU cache, those resources did
	not contribute any info to the model and would make the indexer job more
	complex.  A new method been added getNonCResources() to retrieve those elements.
	Note CResource, CFolder, CFile are removed.
	Also refactors:
	- ICOpenable to IOpenable
	- ICRoot to ICModel
	- ICRootInfo to ICModelInfo
	- Move internal/core/model/IBuffer* classes to core/model/IBuffer*

	* index/org/eclipse/cdt/internal/core/index/IndexManager.java
	* model/org/eclipse/cdt/core/model/BufferChangedEvent.java
	* model/org/eclipse/cdt/core/model/CoreModel.java
	* model/org/eclipse/cdt/core/model/IArchive.java
	* model/org/eclipse/cdt/core/model/IArchiveContainer.java
	* model/org/eclipse/cdt/core/model/IBinary.java
	* model/org/eclipse/cdt/core/model/IBinaryContainer.java
	* model/org/eclipse/cdt/core/model/IBinaryContainer.java
	* model/org/eclipse/cdt/core/model/IBuffer.java
	* model/org/eclipse/cdt/core/model/IBufferChangedListener.java
	* model/org/eclipse/cdt/core/model/ICContainer.java
	* model/org/eclipse/cdt/core/model/ICElement.java
	* model/org/eclipse/cdt/core/model/ICFile.java
	* model/org/eclipse/cdt/core/model/ICFolder.java
	* model/org/eclipse/cdt/core/model/ICModel.java
	* model/org/eclipse/cdt/core/model/ICOpenable.java
	* model/org/eclipse/cdt/core/model/ICProject.java
	* model/org/eclipse/cdt/core/model/ICResource.java
	* model/org/eclipse/cdt/core/model/ICRoot.java
	* model/org/eclipse/cdt/core/model/IOpenable.java
	* model/org/eclipse/cdt/core/model/ITranslationUnit.java
	* model/org/eclipse/cdt/internal/core/model/Archive.java
	* model/org/eclipse/cdt/internal/core/model/ArchiveContainer.java
	* model/org/eclipse/cdt/internal/core/model/ArchiveContainerInfo.java
	* model/org/eclipse/cdt/internal/core/model/ArchiveInfo.java
	* model/org/eclipse/cdt/internal/core/model/Binary.java
	* model/org/eclipse/cdt/internal/core/model/BinaryContainer.java
	* model/org/eclipse/cdt/internal/core/model/BinaryContainerInfo.java
	* model/org/eclipse/cdt/internal/core/model/BinaryInfo.java
	* model/org/eclipse/cdt/internal/core/model/BinaryRunner.java
	* model/org/eclipse/cdt/internal/core/model/Buffer.java
	* model/org/eclipse/cdt/internal/core/model/BufferChangedEvent.java
	* model/org/eclipse/cdt/internal/core/model/BufferManager.java
	* model/org/eclipse/cdt/internal/core/model/CContainer.java
	* model/org/eclipse/cdt/internal/core/model/CContainerInfo.java
	* model/org/eclipse/cdt/internal/core/model/CElement.java
	* model/org/eclipse/cdt/internal/core/model/CElementDelta.java
	* model/org/eclipse/cdt/internal/core/model/CElementDeltaBuilder.java
	* model/org/eclipse/cdt/internal/core/model/CElementInfo.java
	* model/org/eclipse/cdt/internal/core/model/CFile.java
	* model/org/eclipse/cdt/internal/core/model/CFileInfo.java
	* model/org/eclipse/cdt/internal/core/model/CFolder.java
	* model/org/eclipse/cdt/internal/core/model/CFolderInfo.java
	* model/org/eclipse/cdt/internal/core/model/CModel.java
	* model/org/eclipse/cdt/internal/core/model/CModelCache.java
	* model/org/eclipse/cdt/internal/core/model/CModelInfo.java
	* model/org/eclipse/cdt/internal/core/model/CModelManager.java
	* model/org/eclipse/cdt/internal/core/model/CModelOperation.java
	* model/org/eclipse/cdt/internal/core/model/CProject.java
	* model/org/eclipse/cdt/internal/core/model/CProjectInfo.java
	* model/org/eclipse/cdt/internal/core/model/CResource.java
	* model/org/eclipse/cdt/internal/core/model/CResourceInfo.java
	* model/org/eclipse/cdt/internal/core/model/CRoot.java
	* model/org/eclipse/cdt/internal/core/model/CRootInfo.java
	* model/org/eclipse/cdt/internal/core/model/CommitWorkingCopyOperation.java
	* model/org/eclipse/cdt/internal/core/model/CopyElementsOperation.java
	* model/org/eclipse/cdt/internal/core/model/CopyResourceElementsOperation.java
	* model/org/eclipse/cdt/internal/core/model/CreateElementInTUOperation.java
	* model/org/eclipse/cdt/internal/core/model/DeleteResourceElementsOperation.java
	* model/org/eclipse/cdt/internal/core/model/DeltaProcessor.java
	* model/org/eclipse/cdt/internal/core/model/ElementCache.java
	* model/org/eclipse/cdt/internal/core/model/FieldInfo.java
	* model/org/eclipse/cdt/internal/core/model/FunctionInfo.java
	* model/org/eclipse/cdt/internal/core/model/IBuffer.java
	* model/org/eclipse/cdt/internal/core/model/IBufferChangedListener.java
	* model/org/eclipse/cdt/internal/core/model/IBufferFactory.java
	* model/org/eclipse/cdt/internal/core/model/IWorkingCopy.java
	* model/org/eclipse/cdt/internal/core/model/Openable.java
	* model/org/eclipse/cdt/internal/core/model/OpenableInfo.java
	* model/org/eclipse/cdt/internal/core/model/Parent.java
	* model/org/eclipse/cdt/internal/core/model/SourceManipulation.java
	* model/org/eclipse/cdt/internal/core/model/SourceManipulationInfo.java
	* model/org/eclipse/cdt/internal/core/model/TranslationUnit.java
	* model/org/eclipse/cdt/internal/core/model/TranslationUnitInfo.java


2003-03-20 Alain Magloire

	Patch from Amer Hoda
	This patch adds the functionnality of the C Element Deltas for translation
	unit. It figures the addes/deleted C elements with each elementChanged event.
	
	* model/org/eclipse/cdt/internal/core/model/CElement.java:
	New method isIdentical().
	* model/org/eclipse/cdt/internal/core/model/CElementDeltabuilder.java:
	First implementation.
	* model/org/eclipse/cdt/internal/core/model/SourceManipulation.java:
	New method hasSameContentAs() and getModifiers().

2003-03-19 Alain Magloire

	Patch from Amer Hoda.
	Introducing the WorkingCopy in the Core Model.
	Those changes introduce the same functionnality as JDT.

	All CElements have a common way of opening/modifying the source. In other words and
	opening of Translation Unit (ITranslationUnit) is done via the buffer mechanism
	To commit changes isConsistent and makeConsistent must be called.

	The Core Model maintains an LRU cache of open elements, and automatically closes elements
	as they are swapped out of the cache to make room for other elements.
	Elements with unsaved changes are never removed from the cache, and thus, if the client
	maintains many open elements with unsaved changes, the LRU cache can grow in size
	(in this case the cache is not bounded). However, as elements
	are saved, the cache will shrink back to its original bounded size. 

	* model/org/eclipse/cdt/core/model/ElementChangeEvent.java
	* model/org/eclipse/cdt/core/model/ICOpenable.java
	* model/org/eclipse/cdt/core/model/ICResource.java
	* model/org/eclipse/cdt/core/model/ITranslationUnit.java

	* model/org/eclipse/cdt/internal/core/model/Buffer.java
	* model/org/eclipse/cdt/internal/core/model/BufferChangedEvent.java
	* model/org/eclipse/cdt/internal/core/model/CElement.java
	* model/org/eclipse/cdt/internal/core/model/CElementDeltaBuilder.java
	* model/org/eclipse/cdt/internal/core/model/CElementInfo.java
	* model/org/eclipse/cdt/internal/core/model/CFile.java
	* model/org/eclipse/cdt/internal/core/model/CFolder.java
	* model/org/eclipse/cdt/internal/core/model/CModelCache.java
	* model/org/eclipse/cdt/internal/core/model/CModelManager.java
	* model/org/eclipse/cdt/internal/core/model/CommitWorkingCopyOperation.java
	* model/org/eclipse/cdt/internal/core/model/CProject.java
	* model/org/eclipse/cdt/internal/core/model/CResource.java
	* model/org/eclipse/cdt/internal/core/model/CRoot.java
	* model/org/eclipse/cdt/internal/core/model/CElementCache.java
	* model/org/eclipse/cdt/internal/core/model/IBuffer.java
	* model/org/eclipse/cdt/internal/core/model/IBufferChangedListener.java
	* model/org/eclipse/cdt/internal/core/model/IBufferFactory.java
	* model/org/eclipse/cdt/internal/core/model/TranslationUnit.java
	* model/org/eclipse/cdt/internal/core/model/TranslationUnitInfo.java
	* model/org/eclipse/cdt/internal/core/model/Util.java
	* model/org/eclipse/cdt/internal/core/model/WorkingCopy.java
	* model/org/eclipse/cdt/internal/core/model/WorkingCopyInfo.java


	* model/org/eclipse/cdt/internal/core/util/ICacheEnumeration.java
	* model/org/eclipse/cdt/internal/core/util/ILRUCache.java
	* model/org/eclipse/cdt/internal/core/util/LRUCacheEnumeration.java
	* model/org/eclipse/cdt/internal/core/util/OverFlowingLRUCache.java
	* model/org/eclipse/cdt/internal/core/util/ToStringSorter.java

2003-03-12 Alain Magloire

	* utils/org/eclipse/cdt/utils/elf/Elf.java:
	Do a better check when looking for the nearest symbol, a validation
	is to check if the line number is "0", zero is invalid and keep on iterating.

2003-03-11 Alain Magloire

	* utils/org/eclipse/cdt/utils/elf/Elf.java (Symbol:getLineInfo):
	The address value may not align with the debug information, for example when
	adding Profiling etc .. we try to get the nearest symbol as a fallback.
	We've seen this behaviour on PPC and ARM boards.
	* utils/org/eclipse/cdt/utils/CPPFilt.java:
	Remove unused fields.

2003-02-26 Alain Magloire

	The second part to finish the cdt-core-home/docs/binaryparser.html
	proposal.  The plugin.xml changed to reflect this, new format.

	<extension id="ELF" name="Elf Parser" point="org.eclipse.cdt.core.BinaryParser">
	 <cextension>
	   <run class="org.eclipse.cdt.internal.core.model.parser.ElfParser"/>
	 </cextension>
	</extension>

	<extension id="PE" name="PE Windows Parser" point="org.eclipse.cdt.core.BinaryParser">
	 <cextension>
	  <run class="org.eclipse.cdt.internal.core.model.parser.PEParser"> </run>
	 </cextension>
	</extension>

	The binary parser type is now save in the ".cdtproject".

	* src/org/eclipse/cdt/core/IBinaryParserConfiguration.java:
	* src/org/eclipse/cdt/internal/core/BinaryParserConfiguration.java:
	Removed.

	* src/org/eclipse/cdt/internal/core/CDescriptorManager.java
	(getDescriptor): Call autosave().
	* src/org/eclipse/cdt/internal/core/CDescriptor.java
	(create): Bug fix
	(get): Bug fix
	(remove): Bug fix

	* model/org/eclipse/cdt/internal/core/model/parser/ElParser.java:
	* model/org/eclipse/cdt/internal/core/model/parser/PEParser.java:
	Extends AbstractCDescriptor.
	* model/org/eclipse/cdt/core/internal/core/model/NullBinaryParser.java:
	New file.
	* model/org/eclipse/cdt/core/internal/core/model/CModelManager.java:
	* model/org/eclipse/cdt/core/model/CoreModel.java
	(resetBinaryParser): New method.
	(getBinaryParserFormat): removed.
	(setBinaryParserFormat): removed.
	(setDefaultBinaryParserFormat): removed.
	(getDefaultBinaryParserFormat): removed.

2003-02-26 Alain Magloire

	A new proposal was make, see cdt-core-home/docs/binaryparser.html
	it changed the the signature:
	public interface IBinaryParser {
		IBinary getBinary(IPath path);
	}

	The getBinary() method no longer takes an IFile, this was necessary
	to allow the binary parser code to work on files outside of the
	workspace.  The correspondign implementation is updated.
	
	* model/org/eclipse/cdt/internal/core/model/ElfBinaryArchive.java
	* model/org/eclipse/cdt/internal/core/model/ElfBinaryFile.java
	* model/org/eclipse/cdt/internal/core/model/ElfParser.java
	* model/org/eclipse/cdt/internal/core/model/PEBinaryArchive.java
	* model/org/eclipse/cdt/internal/core/model/PEBinaryFile.java
	* model/org/eclipse/cdt/internal/core/model/PEBParser.java

	* model/org/eclipse/cdt/internal/core/model/ArchiveInfo.java
	* model/org/eclipse/cdt/internal/core/model/BinaryInfo.java
	* model/org/eclipse/cdt/internal/core/model/CModelManager.java

2003-02-26 David Inglis
	* model/org/eclipse/cdt/internal/core/model/ArchiveContainer.java
	* model/org/eclipse/cdt/internal/core/model/BinaryContainer.java
	Remove warning.
	
	* model/org/eclipse/cdt/internal/core/model/parser/ElfBinaryArchive.java
	* model/org/eclipse/cdt/internal/core/model/parser/ElfBinaryFile.java
	* utils/org/eclipse/cdt/utils/elf/AR.java
	Improve IBinaryObject creation from IArchive (big speed improvment)
	

2003-02-24 Alain Magloire

	* model/org/eclipse/cdt/internal/core/model/Marker.java:
	Removed, this file was implementing IMarker.

2003-02-24 Alain Magloire

	* model/org/eclipse/cdt/internal/core/model/Resource.java:
	Removed, this file was implementing IResource.

2003-02-23 Alain Magloire

	Remove implementations of IResource and IContainer.

	* model/org/eclipse/cdt/internal/core/model/Container.java:
	* model/org/eclipse/cdt/internal/core/model/parser/BinaryContainerAdapter.java:
	* model/org/eclipse/cdt/internal/core/model/parser/BinaryFileAdapter.java:
	Files removed.
	* model/org/eclipse/cdt/internal/core/model/Archive.java:
	* model/org/eclipse/cdt/internal/core/model/ArchiveInfo.java:
	* model/org/eclipse/cdt/internal/core/model/BinaryInfo.java:
	Remove references to BinaryFileAdapter.

2003-02-19 David Inglis

	* src/org/eclipse/cdt/core/CCorePlugin.java
	* src/org/eclipse/cdt/core/ICDescriptor.java
	* src/org/eclipse/cdt/core/ICExtensionReference.java
	* src/org/eclipse/cdt/core/ICOwner.java
	* src/org/eclipse/cdt/internal/core/CDescriptor.java
	* src/org/eclipse/cdt/internal/core/CDescriptorManager.java
	* src/org/eclipse/cdt/internal/core/CExtensionReference.java
	* src/org/eclipse/cdt/internal/core/make/MakeProject.java
	General cleanup of CDT extensions interfaces from review with Alain.

2003-02-17 Doug Schaefer

    Merged in Sam Robb's source for the build model.  The source can be
    found in the build source folder.  There are new extension point schema
    in the schema folder.  As well a number of extension points and extensions
    have been added to the plugin.xml file.
    
2003-02-13 Alain Magloire

	* src/org/eclipse/cdt/core/CCorePlugin.java:
	* src/org/eclipse/cdt/internal/core/make/Makebuilder.java:
	Comment out reference to the Builder, for now.

	* builder/org/eclipse/cdt/core/builder/CIncrementalBuilder.java:
	Comment reference to the CCorePlugin.

2003-02-05 Doug Schaefer

    * src/org/eclipse/cdt/internal/parser.generated:
    Fix for hang on destructors in namespaces

2003-02-01 Alain Magloire

	Cleanups and suggestions for Hoda.

	* mode/org/eclipse/cdt/core/model/ITemplate.java:
	New File.
	* model/org/eclipse/cdt/core/model/IField.java:
	Now extedns IVariableDeclaration.
	* model/org/eclipse/cdt/core/model/IMethodDeclaration.java:
	Extends IFunctionDeclaration.
	* model/org/eclipse/cdt/core/model/IVariableLocal.java:
	Removed.

2003-01-29 Alain Magloire

	* index/org/eclipse/cdt/internal/core/index/IndexManager.java (shutdown):
	Typo was calling Thread.interrupted() instead of Thread.interrupt().
	(delay): No longer static.
	* src/org/eclipse/cdt/core/ErrorParserManger.java (readPreferences):
	Use Class.forName().
	* src/org/eclipse/cdt/internal/core/CDescriptorManager.java (resourceChanged):
	Remove useless declarations.

2003-01-29 Alain Magloire

	* utils/org/eclipse/cdt/utils/elf/Elf.java:
	* utils/org/eclipse/cdt/utils/coff/Coff.java
	* utils/org/eclipse/cdt/utils/coff/PE.java
	Cleanup some warnings when accessing static fields.
	
2003-01-29 Alain Magloire

	* model/org/eclipse/cdt/core/model/CoreModel.java (addElementChangedListeners):
	remove static qualifier.
	(removeElementChangedListeners): remove static qualifier.

2003-01-23 Alain Magloire

	Cleanups proposed by Amer Hoda.

	* model/org/eclipse/cdt/core/model/ICRoot.java: No need to extend ICElement
	* model/org/eclipse/cdt/core/model/ICProject.java: No need to extend ICElement
	* model/org/eclipse/cdt/core/model/ICFolder.java: No need to extend ICElement
	* model/org/eclipse/cdt/core/model/ICFile.java: No need to extend ICElement
	* model/org/eclipse/cdt/core/model/IMethod.java: Extends ICFunction.

2003-01-23 Alain Magloire

	* model/org/eclipse/cdt/internal/core/model/CModelManager.java (getHeaderExtensions):  Returns possible C/C++ header extensions name.
	(getSourceExtensions): Returns possible C/C++ extension.
	(getTranslationUnitExtensions): Returns possible C/C++ extension.
	* model/org/eclipse/cdt/core/model/CoreModel.java:
	(getHeaderExtensions): New method.
	(getSourceExtensions): New method.
	(getTranslationUnitExtensions): New method.

2003-01-23 Alain Magloire

	Changes proposed by Amer Hoda.

	* model/org/eclipse/cdt/internal/core/model/Structure.java:
	Extends IVariableDeclaration instead of IVariable.
	* model/org/eclipse/cdt/core/model/IStructure.java:
	Extends IVariableDeclaration instead of IVariable.

2003-01-17 Alain Magloire

	* model/org/eclipse/cdt/internal/core/model/parser/ElfBinaryFile.java (addSymbols):
	The catch IOException was at the wrong place.

2002-12-23 Alain Magloire

	* src/org/eclipse/cdt/internal/core/CBuilder.java (invokeMake):
	NPE check the return of launcher.execute(), the executables
	may not be found.

2002-12-20 Alain Magloire

	Bug fix, We use a feature of GNU make to help track the directories
		Entering Directory '...'
		Leaving Directory '...'
	It looks like sometimes we loose track, or GNU make does not show
	a "Leaving Directory" this may actually depend on how it was spawn,
	you can suppress the message.  If you loose track we popDirectories()
	and try to recover.

	* src/org/eclipse/cdt/core/ErrorParserManager.java (popDirectory):
	Is throwing NoSuchElement, check the size of the stack first.

	* src/org/eclipse/cdt/internal/errorparsers/MakeErrorParser.java (processLine):
	Recover when loosing track.

2002-12-19 Alain Magloire

	* model/org/eclipse/cdt/internal/core/model/parser/BinaryContainerAdapter.java (getFile):
	Check getParent() it may return null.
	(getFolder): Check getParent(), it may return null. 
	
2002-12-19 Alain Magloire

	* src/org/eclipse/cdt/core/ErrorParserManager.java (findFilePath):
	The workspace will throw an Exception if the file
	is not within the workspace, catch it.
	(getWorkingDirectory): fallback to the location
	of the project if no working directory.

	* src/org/eclipse/cdt/internal/errorparsers/GCCErrorParser.java (processLine):
	Ignore errors that does not match the pattern.

2002-12-13 Alain Magloire

	* src/org/eclipse/cdt/core/CommandLauncher.java (waitAndRead):
	Remove hack for J9 VM, filled a PR to IBM about their VM.
	Only delay when there is nothing to read.

2002-12-13 Alain Magloire

	Building will never write to the process.  having things like
	all:
		b='a'; read b; echo $$b
	could hang the IDE, since the process is waiting for input.
	to go around, the input of the process is explicitely close.

	* src/.../internal/core/CBuilder.java (invokeMake): Close the
	Output stream of the process, since we will never write to it.

2002-12-13 David Inglis
	Update cdt to be eclipse 2.1 ready.

	* model/.../internal/core/model/Marker.java: added getCreationTime()
	* model/.../internal/core/model/Resource.java: added isLinked()
	* model/.../internal/core/model/parser/BinaryContainerAdapter.java: added createLink()
	* model/.../internal/core/model/parser/BinaryFileAdapter.java: added createLink()
	

2002-12-10 Alain Magloire

	* src/org/eclipse/cdt/core/CCommandLauncher.java (waitAndRead):
	Check if the buffer is not null in available().

2002-12-10 Alain Magloire

	There is a bug in IMB j9 VM in the PipedInputStream class, when the
	buffer is full it is returning 0 instead of buffer.length.  We
	go around by overloading the available() method.  This should
	be remove once the bug is fix.

	* src/org.eclipse.cdt.core/CCommandLauncher.java (waitAndRead):
	overload available() method in the input stream.
	Set the error message correctly when the command is canceled.

2002-12-06 Alain Magloire

	* indexer/.../internal/core/index/CTagsentry.java (parse): Remove
	The parsing was wrong for Exuberant Ctags.

2002-11-27 Alain Magloire

	* utils/.../utils/coff/PE.java (getAttribute):
	Quick fix to return the save value for CPU "x86" instead of "i386"

2002-11-27 Alain Magloire

	* model/.../cdt/core/model/CoreModel.java:
	Remove the static qualifiers and force people to use getDefault().
	(getBinaryParserFormat): New method to retrieve the format of a project.
	(setBinaryParserFormat): New method to set the format of a project.
	(getDefaultBinaryParserFormat): New method to retrieve the default format.
	(setDefaultBinaryParserFormat): New method to set the default format.
	* model/.../cdt/core/model/IBinaryParser.java: Move to be is the src directory.
	* model/.../cdt/core/model/ICElementDelta.java: New Flag for the binary parser.
	* model/.../internal/core/model/parser/BinaryContainerAdapter.java:
	* model/.../internal/core/model/parser/BinaryFileAdapter.java:
	* model/.../internal/core/model/parser/ElfBinaryArchive.java:
	* model/.../internal/core/model/parser/ElfBinaryFile.java:
	* model/.../internal/core/model/parser/PEBinaryArchive.java:
	* model/.../internal/core/model/parser/PEBinaryFile.java:
	* model/.../internal/core/model/parser/PEParser.java:
	* model/.../internal/core/model/parser/ElfParser.java:
	* model/.../internal/core/model/parser/Symbol.java:
	* model/.../internal/core/model/ArchiveInfo.java:
	* model/.../internal/core/model/BinaryInfo.java:
	Organize imports.
	* model/.../internal/core/model/CElementDelta.java (binaryParserChanged):
	New method.
	* model/.../internal/core/model/CModelManager.java (releaseCElement):
	Remove the children of a container in the hashmap.
	(getDefaultBinaryParserFormat): Return the default format.
	(setDefaultBinaryParserFormat): set the default format.
	(setBinaryParserFormat): remove the all the children and fire a binary parser change.

	* src/../cdt/core/CCorePlugin.java (getBinaryParserConfigurations):
	New method to search for the extension points.
	* src/../cdt/core/IBinaryParser.java: New file
	* src/../cdt/core/IBinaryParserConfiguration.java: New file
	* src/../internal/cdt/core/BinaryParserConfiguration.java: New file

	* plugin.xml: Binary parsers extension points.
	

2002-11-23 Alain Magloire

	* model/.../cdt/core/model/CoreModel.java (getBinaryParser):
	New methods to retrieve the parser for a project.
	* model/.../cdt/core/model/IBinaryParser.java (getFormat):
	New method return the format supported.
	* model/.../internal/core/model/CModelManager.java (getBinaryParser):
	New methods to retrieve the parser for a project.
	* model/.../internal/core/model/parser/ElfBinaryFile.java:
	Move the Symbol class out so it can be shared.
	* model/.../internal/core/model/parser/ElfParser.java (getFormat):
	New method.
	* model/.../internal/core/model/parser/PEBinaryArchive.java: New file.
	* model/.../internal/core/model/parser/PEBinaryFile.java: New file.
	* model/.../internal/core/model/parser/PEParser.java: New file.
	* model/.../internal/core/model/parser/Symbol.java: New file.

	* src/.../cdt/core/CCorePlugin.java (getBinaryParser):
	New Methods to retrieve the extension-point.

	* utils/.../cdt/utils/coff/Coff.java :
	Parse the symbols.
	* utils/.../cdt/utils/coff/PE.java (getAttribute):
	New helper method/class Attribute.
	* utils/.../cdt/utils/coff/PEArchive.java :
	New File.
	* utils/.../cdt/utils/elf/AR.java (finalize): 
	Make sure we do not leak fds.
	* utils/.../cdt/utils/elf/Elf.java (finalize): 
	Make sure we do not leak fds.

	* plugin.xml: Define two "parser" extension-point.


2002-11-22 Alain Magloire

	* src/.../cdt/core/CommandLauncher.java (waitAndRead):
	Make sure we drain the pipes.
	(printCommandLine): Use the line.separator property.
	* src/org/eclipse/cdt/ErrorParserManager.java
	Check if outputStream is not null before using it.
	(write): must be synchronized.
	(checkLine): Break the buffer per line and pass it to processLine().
	Takes an argument to flush when we are done(on close()).
	* src/.../internal/core/CBuilder.java (invokeMake):
	We have to call close() the same number of times we call
	ErrorParserManager.getOutputStream().  Move the ErrorParerManager.reportProblem()
	after the close.
	* src/.../internal/CCorePluginResources.properties: Updated.

2002-11-22 Alain Magloire

	The C Builder on error would clear the build.
	The side effect of that is on every BuildAll
	or Rebuild on the workspace, it will try to
	rebuild the projects since it has not states.
	It seems to work fine for JDT, where the builder
	has full control and can quickly make a decision
	The situation is not the same for the CDT, where we
	spawn an external tool (make) even if nothing changes
	i.e. the Makefiles rules when properly done will see,
	it still seems sloppy.  So we remove this behaviour.

	* src/.../internal/core/CBuilder.java (invokeMake):
	Not to clear the state when errors.

2002-11-22 Alain Magloire

	* src/.../cdt/core/model/IBinary.java (isCore):
	New method.
	* src/.../cdt/core/model/IBinaryParser.java (CORE):
	New type core.
	* src/.../internal/core/model/parser/ElfBinaryFile.java (getType):
	case for CORE.
	* src/.../internal/core/model/Binary.java (isCore):
	New method.
	* src/.../internal/core/model/BinaryInfo.java (isCore):
	New method.
	* src/.../internal/core/model/CModelManager.java (isBinary):
	Check for core.
	* util/.../utils/elf/Elf.java (getAttributes): Check for Core.

2002-11-22 David Inglis
	* src/.../cdt/core/CommandLauncher.java:
	Make CommandLauncher.waitAndRead do the stream writing, since ui components
	process this stream, and this method may be call in a ui thread.
	
2002-11-20 David Inglis
	* src/.../internal/core/CBuilder.java:
	fix AUTO_BUILDs so that the builder only builds when the resources change
	in the project.
	
2002-11-20 David Inglis
	* plugin.xml
	fixed bug #26640

2002-11-19 Alain Magloire

	* src/.../internal/core/model/CModelManager.java (resourceChanged):
	Do nothing for PRE_DELETE and PRE_BUILD events for now.
	
2002-11-16 Alain Magloire

	* src/.../model/IBinaryParser.java: New Interface for Binary parsers
	extension-points.
	* src/.../model/ICElement.java (getResource): New method added.
	* src/.../internal/core/model/parser/BinaryContainerAdapter.java:
	New file adapting an archive to a IContainer.
	* src/.../internal/core/model/parser/BinaryFiledapter.java:
	New file adapting a binary to a IFile.
	* src/.../internal/core/model/parser/ElfBinaryArchive.java:
	New file implements IBinaryArchive.
	* src/.../internal/core/model/parser/ElfBinaryFile.java:
	New file implements IBinaryObject etc ...
	* src/.../internal/core/model/parser/ElfBinaryFile.java:
	New file implements IBinaryParser.
	* src/.../internal/core/model/Archive.java (isArchive): Removed.
	(getResource): Added.
	* src/.../internal/core/model/ArchiveContainer.java (getChildren):
	Use new method CProject.setBinaryRunner().
	* src/.../internal/core/model/ArchiveInfo.java:
	rewritten to use IBinarParser interface.
	* src/.../internal/core/model/BinaryContainer.java (getChildren):
	Use new method CProject.setBinaryRunner().
	* src/.../internal/core/model/BinaryInfo.java:
	rewritten to use IBinarParser interface.
	* src/.../internal/core/model/BinaryRunner.java: New File
	replace the ElfRunner.java.
	* src/.../internal/core/model/CProject.java: Rename the function
	with *Elf* Binary.
	* src/.../internal/core/model/ElfRunner.java: Rename to BinaryRunner.java
	* src/.../internal/core/model/CElement.java: Use getResource() instead of
	getCorrespondingResource().
	* src/.../internal/core/model/CModelManager.java (ReleaseCElement):
	Bug fix was not passing the key to hash.remove().
	(isShared): Use IBinaryParser.
	(isExecutable): Use IBinaryParser.
	(isArchive): Use IBinaryParser.
	* src/.../internal/core/model/Container.java: New file
	* src/.../internal/core/model/Resource.java: New file
	* src/.../internal/core/model/Marker.java: New file
	* src/.../internal/core/model/SourceManipulation.java (getResource): New method.
	* src/.../internal/core/model/Parent.java (getResource): New method.
	* plugin.xml: Indentation.



2002-11-13 Alain Magloire

	* src/.../internal/errorparsers/GCCErrorParser.java (processLine):
	Remove the "warning :" prepend substring since the error is already mark.
	Remove debuging println()s.

2002-11-13 Alain Magloire

	* src/.../internal/errorparsers/GCCErrorParser.java (processLine):
	Fix check if the column is valid i.e. a number.

2002-11-13 Judy Green

	*src/org/eclipse/cdt/core/CCProjectNature.java
		added configure() to overwrite CNatures implementation which adds a default CBuilder.
		We now check that a project having a CCNature added already has a CNature
		Throws a CoreException if not.
	
	*src/org/eclipse/cdt/core/CCorePlugin.java
	Added a static va CDT_PROJECT_NATURE_ID_MISMATCH to indicate the condition
	described above in configure()
	
	Cleaned up the convert methods to ensure that extra calls to add a
	CBuilder are not called.

2002-11-13 Alain Magloire

	* src/.../internal/errorparsers/GCCErrorParser.java (processLine):
	The full semantics seems to be:
		filename:lineno:column:error_description
	we did not take to account that the preprocessor
	was putting the column also.

2002-11-13 Alain Magloire

	* src/.../internal/core/CBuilder.java (invokeMake):
	Always parse the argument for errors even when the
	build was cancelled.

2002-11-12 Alain Magloire

	* index/.../internal/core/index/CTagsRunner.java (run):
	Remove the quick start code, not necessary.
	* index/.../core/index/IndexModel.java (setEnabled):
	Check if it was already enabled.

2002-11-12 Alain Magloire

	* index/.../internal/core/index/IndexManager.java (removeConatiner):
	Change the signature of the function to take IContainer.
	(removeResource): Also remove the request from the requestList.
	* index/.../internal/core/index/RequestList.java (removeItem):
	new method.

2002-11-12 Alain Magloire

	* index/.../core/index/IndexModel.java (isEnabled):
	New method check if indexing is enable for a project.
	(setEnabled) : enable/disable indexing for a project.
	(removeResource): New method, remove resource from the list.
	* index/.../internal/core/index/IndexManager.java (addContainer):
	Check if resource is enable for indexing.
	(addFile): Check if resource is enable for indexing.


2002-11-12 David Inglis

	* model/.../internal/core/model/CModelManager.java,v
		fixed model.create(IPath) method so it returns a element which 
		actually exits

2002-11-08 Judy N. Green
	* src/org/eclipse/cdt/internal/core/COwner.java
	fixed check in constructor to throw error when ownerID is invalid
	
	* src/org/eclipse/cdt/internal/core/CDescriptor.java
		made all constants static and changed visibility of DESCRIPTION_FILE_NAME
		to package to be used by tge CDescriptorManager 
		
	* src/org/eclipse/cdt/internal/core/CDescriptorManager.java
	 Added to event in order to catch when the .cdtprject file is deleted.
	 delete reference to the CDT project Descriptor when a missing file is detected.
	 
	 Added new public method removeExistingCdtProjectFile(IProject project), required when converting a project.

2002-11-06 Alain Magloire

	* src/org/eclipse/cdt/ErrorParserManager.java (parse):
	Unused code removed.
	(checkLine): String.trim() the line to remove trailing
	newline.
	* src/org/eclipse/cdt/internal/errorparser/MakeErrorParser.java (processLine):
	When there is no resources set the lineno to -1.

2002-11-06 David Inglis
	* index/org/eclipse/cdt/internal/core/index/CTagsRunner.java
	fixed NPE when projects are deleted.
	
	* src/org/eclipse/cdt/core/ErrorParserManager.java
	fixed NPE when file exits outside of workspace
				
	* utils/org/eclipse/cdt/utils/elf/Elf.java
	fixed out of memory failure on bad elf files

2002-11-06 Alain Magloire

	Deal with some issues of PR 25756.
	
	* src/.../internal.errorparsers.java (processLine):
	When the file is not found append not prepend the name
	of the file in the description.
	The check for "(Each undeclared ...)" was done at the
	wrong place.
	
	* src/.../ErrorParserManager.java (findFileName):
	Check if the file is absolute or relative.

2002-11-05 Alain Magloire

	* utils/.../utils/coff: New folder.
	* utils/.../utils/coff/Coff.java: First implementation
	of a generic COFF binary file parser.
	* utils/.../utils/coff/Exe.java: First implementation of
	a generic EXE binary file parser.
	* utils/.../utils/PE.java: First implementation of a generic
	PE coff format parser.

2002-11-05 Alain Magloire

	* src/.../ErrorParserManager.java (parse):
	Trim the line of unwanted trailing spaces.

2002-11-01 Alain Magloire

	* model/../internal/core/mode/CProject.java (findElement):
	Check if the path is Absolute or relative before creating the
	element.

2002-11-01 David Inglis

	* utils/org/eclipse/cdt/utils/elf/Elf.java
	change getCPU to return cpu only and not append endian ("le" or "be").

2002-10-31 Alain Magloire

	* src/.../ErrorParserManager.java (findFilePath):
	Check if the file exists to not to return a phantom resource.
 
2002-10-30 Alain Magloire

	* src/.../CProjectNature.java (removeNature): Utility
	function to remove a nature from a project.
	(removeCNature): Utility method to remove the C Nature.
	* src/.../CCProjectNature.java (removeCCNature): Utility
	method to remove the CC nature.

2002-10-25 Alain Magloire

	* index/.../internal/core/index/CTagsCmd.java: Indentation.
	* index/.../internal/core/index/CTagsRunner.java: Implements Runnable.
	* index/.../internal/core/index/IndexManager.java (init):
	Set the indexer thread, thread.setDaemon(true).

2002-10-28 David Inglis
	
	* src/.../core/resources/ACBuilder.java
	Added check for duplicate markers.
	* src/.../internal/core/CBuilder.java
	Added check for canceled build and throws OperationCanceledException exception

2002-10-25 Alain Magloire

	The debugger needs to know the endian of a binary.  For example
	int the memory view, to do format.

	* model/.../model/IBinary (isLittleEndian): New method
	returns the endian.
	* model/.../internal/core/model/Binary.java (isLittleEndian): New method.
	* model/.../internal/core/model/BinaryInfo.java (isLittleEndian): New
	method implemented by calling Elf.
	* utils/.../utils/elf/Elf.java (Elf.Attribute.isLittleEndian): New
	method return the endian.

2002-10-23 Alain Magloire

	* src/.../core/resource/ACBuilder.java (mapMarkerSeverity):
	New method to convert IMarkerGenerator to IMarker.
	* src/.../core/ErrorParserManager.java: New file.
	* src/.../core/IErrorParser.java: New file.
	* src/.../core/IMarkerGenerator.java: Define a set of new fields:
	 IMarkerGenerator.SEVERITY_INFO
	 IMarkerGenerator.SEVERITY_WARNING
	 IMarkerGenerator.SEVERITY_ERROR_RESOURCE
	 IMarkerGenerator.SEVERITY_ERROR_BUILD
	 IMarkerGenerator.SEVERITY_INFO
	* src/.../core/erroparsers: Removed
	* src/.../core/erroparsers/ErrorParserManager.java: Removed
	* src/.../core/erroparsers/IErrorParser.java: Removed
	* src/.../internal/core/CBuilder.java (invokeMake): new field
	fatalBuild to check return of ErrorParserManager.reporProblems().
	* src/.../internal/core/ProcessClosure.java (isAlive): the test
	shoule be an || the errorstream __or__ the outputstream thread
	is alive.
	* src/.../internal/errorparsers/GASErrorParser.java (processLine):
	* src/.../internal/errorparsers/GCCErrorParser.java (processLine):
	* src/.../internal/errorparsers/GLDErrorParser.java (processLine):
	* src/.../internal/errorparsers/VCErrorParser.java (processLine):
	Use the IMarkerGenerator fields.
	* src/.../internal/errorparsers/MakeErrorParser.java (processLine):
	Catch GNU Make build errors, something like:
	"make: *** No targets specified and no makefile found.  Stop."
	
2002-10-23 David Inglis

	Error parsing is now done as the streams from the commands
	are read, this reduces memory usage during the build
	process, and we can now add options to the build console to
	only keep 'n' lines of output, again reducing the memory 
	usage. Also refactored IErrorParser and ErrorParserManager out
	of internal.
	
	* src/.../errorparser/ErrorParserManager.java:
	* src/.../errorparser/IErrorParser.java:
	* src/.../internal/errorparser/GASErrorParser.java:
	* src/.../internal/errorparser/GCCErrorParser.java:
	* src/.../internal/errorparser/GLDErrorParser.java:
	* src/.../internal/errorparser/MakeErrorParser.java:
	* src/.../internal/errorparser/VCErrorParser.java:
	* src/.../internal/core/CBuilder.java:
	* src/.../internal/core/ProcessCloseure.java:
	* src/.../core/ConsoleOutputStream.java:
	
	
2002-10-22 Alain Magloire

	* src/.../internal/parser/LinePositionInputStream.java:
	We use a BufferedInputStream to limit the number of reads.

2002-10-16 Alain Magloire

	Some of the native functions were throwing exceptions
	particularly on the windows platform and it was not
	clearly advertise.  Eclipse uses a tool to externalize strings,
	to prevent this, strings need a comment "//$NON-NLS-1$".

	This also incorporated some fixes by Alex Chapiro, in 
	Spawner.Reaper Thread an exception can be thrown for
	example if the application does not exist, the reaper
	thread will catch the IOException an notify spawner of
	the failure by setting pid = -1;

	* utils/../utils/pty/PTYInputStream.java (close0):
	Advertise that we can throw an IOException.
	* utils/../utils/pty/PTYOutputStream.java (close): Put
	the "$NON-NLS-1$" magic.
	(write0): Advertise we can throw IOException.
	(close0): Advertise we can throw IOException.
	* utils/../utils/spawner/ProcessFactory.java: Reformat.
	* utils/../utils/spawner/Spawner.java (Reaper):
	The run method when calling exec0 did not catch the exception.
	And the waitFor() should not be done on a pid == -1; 
	* utils/../utils/spawner/SpawnerInputStream.java: Reformat.
	* utils/../utils/spawner/SpawnerOutputStream.java: Reformat.

2002-10-15 Alain Magloire
	
	By making the native methods package scope, the
	compiler will not generate synthetic accessor
	methods to access them in the Reaper inner class

	* utils/../utils/spawner/Spawner.java (exec0):
	(exec1): Change scope to be package.
	(raise): Change scope to be package.
	(waitFor): Change scope to be package.

2002-10-13 Alain Magloire

	Boosting the compiler error level to get unused imports.

	* model/../internal/core/model/ArchiveContainer.java:
	* model/../core/model/BinaryContainer.java:
	* model/../core/model/CElementDelta.java:
	* model/../core/model/CModelManager.java:
	* model/../core/model/CResourceInfo.java:
	Remove unused imports.

	* src/../core/resources/ACBuilder.java:
	* src/../internal/core/CBuilder.java:
	Remove unused imports.

2002-10-15 David Inglis
	* model/../core/model/CoreModel.java
	* model/../internal/core/model/CModelManager.java
	* model/../internal/core/model/CModelStatus.java

	Clean up model 
		- removed plugin and nature id from model
		  refernce core plugin and nature classes for ID.
		- removed unsed methods in model for adding/removing
		  natures.

2002-10-15 David Inglis
	* src/../internal/core/CBuilder.java
	
	Fixed builder to return referenced projects so that eclipse 
	builder will build increamentaly build projects when they change.
	Handle "clean" target as special so the build state is cleared allowing
	the next increamental build to come in as a full build.
	
