make QualifiedTypeName immutable class
get rid of unnecessary memory allocations
* browser/org/eclipse/cdt/core/browser/IQualifiedTypeName.java
* browser/org/eclipse/cdt/core/browser/QualifiedTypeName.java
* browser/org/eclipse/cdt/core/browser/TypeInfo.java
* browser/org/eclipse/cdt/internal/core/browser/TypeCache.java
Extra functionality in type cache to support new class wizard
* browser/org/eclipse/cdt/core/browser/AllTypesCache.java
* browser/org/eclipse/cdt/core/browser/IQualifiedTypeName.java
* browser/org/eclipse/cdt/core/browser/QualifiedTypeName.java
* browser/org/eclipse/cdt/core/browser/ITypeInfo.java
* browser/org/eclipse/cdt/core/browser/TypeInfo.java
* browser/org/eclipse/cdt/internal/core/browser/cache/ITypeCache.java
* browser/org/eclipse/cdt/internal/core/browser/cache/TypeCache.java
This patch prevents some NPEs from happening in the class browser. I
suggest this should be applied to both HEAD and CDT_2_0 branch.
* browser/org/eclipse/cdt/core/browser/TypeInfo.java
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.
<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.