From f3a361e83a83b806a940808b6b260861373ab2ba Mon Sep 17 00:00:00 2001 From: John Camelon Date: Thu, 20 May 2004 17:30:43 +0000 Subject: [PATCH] Fixing CModelBuilder to use contents() rather than ResourceReader. :-( --- .../cdt/internal/core/model/CModelBuilder.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelBuilder.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelBuilder.java index 2bc842516e2..8777456ebb0 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelBuilder.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelBuilder.java @@ -10,7 +10,8 @@ ******************************************************************************/ package org.eclipse.cdt.internal.core.model; -import java.io.Reader; +import java.io.BufferedReader; +import java.io.StringReader; import java.util.HashMap; import java.util.Iterator; import java.util.Map; @@ -61,7 +62,6 @@ import org.eclipse.cdt.core.parser.ast.IASTVariable; import org.eclipse.cdt.internal.core.parser.ParserException; import org.eclipse.cdt.internal.core.parser.util.ASTUtil; import org.eclipse.core.resources.IProject; -import org.eclipse.core.runtime.CoreException; public class CModelBuilder { @@ -82,6 +82,7 @@ public class CModelBuilder { { IProject currentProject = null; boolean hasCppNature = true; + String code = ""; //$NON-NLS-1$ // get the current project if (translationUnit != null && translationUnit.getCProject() != null) { @@ -92,11 +93,11 @@ public class CModelBuilder { { hasCppNature = CoreModel.hasCCNature(currentProject); } - - Reader reader = null; - try { - reader = ParserUtil.createResourceReader( translationUnit.getResource() ); - } catch (CoreException e) { + // get the code to parse + try{ + code = translationUnit.getBuffer().getContents(); + } catch (CModelException e) { + } // use quick or structural parse mode ParserMode mode = quickParseMode ? ParserMode.QUICK_PARSE : ParserMode.STRUCTURAL_PARSE; @@ -124,7 +125,7 @@ public class CModelBuilder { parser = ParserFactory.createParser( ParserFactory.createScanner( - reader, + new BufferedReader( new StringReader( code ) ), (translationUnit.getUnderlyingResource() != null ? translationUnit.getUnderlyingResource().getLocation().toOSString() : ""), //$NON-NLS-1$