From 3615ece8becfc45732e0edb5c3cfccdbee37efb1 Mon Sep 17 00:00:00 2001 From: John Camelon Date: Wed, 2 Feb 2005 15:32:02 +0000 Subject: [PATCH] Patch for David Daoust. Fixes BaseScanner#fileCache. --- .../internal/core/parser/scanner2/BaseScanner.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner2/BaseScanner.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner2/BaseScanner.java index 01f0b3316f0..c19bcb8e771 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner2/BaseScanner.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner2/BaseScanner.java @@ -2738,18 +2738,20 @@ abstract class BaseScanner implements IScanner { private CodeReader createReader(String path, String fileName) { String finalPath = ScannerUtility.createReconciledPath(path, fileName); - CodeReader reader = (CodeReader) fileCache.get(finalPath.toCharArray()); - if (reader != null) + char [] finalPathc = finalPath.toCharArray(); + CodeReader reader = (CodeReader) fileCache.get(finalPathc); + if (reader != null) return reader; // found the file in the cache - + // create a new reader on this file (if the file does not exist we will get null) reader = createReaderDuple(finalPath); if (reader == null) return null; // the file was not found if (reader.filename != null) - fileCache.put(reader.filename, reader); - + // put the full requested path in the cache -- it is more likely + // to match next time than the reader.filename + fileCache.put(finalPathc, reader); return reader; }