Index: model/org/eclipse/jdt/internal/core/Buffer.java =================================================================== RCS file: /data/cvs/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/Buffer.java,v retrieving revision 1.36 diff -u -r1.36 Buffer.java --- model/org/eclipse/jdt/internal/core/Buffer.java 11 Mar 2003 15:03:54 -0000 1.36 +++ model/org/eclipse/jdt/internal/core/Buffer.java 20 Mar 2003 17:08:08 -0000 @@ -135,8 +135,9 @@ * @see IBuffer */ public String getContents() { - if (this.contents == null) return null; - return new String(this.getCharacters()); + char[] chars = this.getCharacters(); + if (chars == null) return null; + return new String(chars); } /** * @see IBuffer Index: model/org/eclipse/jdt/internal/core/PackageFragmentRoot.java =================================================================== RCS file: /data/cvs/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/PackageFragmentRoot.java,v retrieving revision 1.63 diff -u -r1.63 PackageFragmentRoot.java --- model/org/eclipse/jdt/internal/core/PackageFragmentRoot.java 19 Mar 2003 12:24:48 -0000 1.63 +++ model/org/eclipse/jdt/internal/core/PackageFragmentRoot.java 20 Mar 2003 17:08:09 -0000 @@ -182,15 +182,11 @@ * close it too. * * @see JavaElement - */ + * protected void closing(Object info) throws JavaModelException { - SourceMapper mapper= getSourceMapper(); - if (mapper != null) { - mapper.close(); - } + ((PackageFragmentRootInfo) info).sourceMapper = null; super.closing(info); -} - +}*/ /** * Compute the package fragment children of this package fragment root. * Index: model/org/eclipse/jdt/internal/core/PackageFragmentRootInfo.java =================================================================== RCS file: /data/cvs/eclipse/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/PackageFragmentRootInfo.java,v retrieving revision 1.24 diff -u -r1.24 PackageFragmentRootInfo.java --- model/org/eclipse/jdt/internal/core/PackageFragmentRootInfo.java 11 Mar 2003 15:03:55 -0000 1.24 +++ model/org/eclipse/jdt/internal/core/PackageFragmentRootInfo.java 20 Mar 2003 17:08:09 -0000 @@ -143,7 +143,7 @@ * Retuns the SourceMapper for this root, or null * if this root does not have attached source. */ -protected SourceMapper getSourceMapper() { +protected synchronized SourceMapper getSourceMapper() { return this.sourceMapper; } private static boolean isClasspathEntry(IPath path, IClasspathEntry[] resolvedClasspath) { @@ -170,7 +170,7 @@ /** * Sets the SourceMapper for this root. */ -protected void setSourceMapper(SourceMapper mapper) { +protected synchronized void setSourceMapper(SourceMapper mapper) { this.sourceMapper= mapper; } }