From 4e4b2fc233cdc56c61cf5669df4b09b8cab35864 Mon Sep 17 00:00:00 2001 From: John Camelon Date: Tue, 25 May 2004 18:31:25 +0000 Subject: [PATCH] Ensured BufferedReaders are used in the Scanner. --- .../parser/org/eclipse/cdt/core/parser/ParserFactory.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ParserFactory.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ParserFactory.java index 499f764c23b..318f4048480 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ParserFactory.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ParserFactory.java @@ -10,6 +10,7 @@ ***********************************************************************/ package org.eclipse.cdt.core.parser; +import java.io.BufferedReader; import java.io.Reader; import java.util.List; @@ -97,13 +98,16 @@ public class ParserFactory { public static IScanner createScanner( Reader input, String fileName, IScannerInfo config, ParserMode mode, ParserLanguage language, ISourceElementRequestor requestor, IParserLogService log, List workingCopies ) throws ParserFactoryError { if( input == null ) throw new ParserFactoryError( ParserFactoryError.Kind.NULL_READER ); + Reader ourReader = input; + if( !(input instanceof BufferedReader )) + ourReader = new BufferedReader( input ); if( fileName == null ) throw new ParserFactoryError( ParserFactoryError.Kind.NULL_FILENAME ); if( config == null ) throw new ParserFactoryError( ParserFactoryError.Kind.NULL_CONFIG ); if( language == null ) throw new ParserFactoryError( ParserFactoryError.Kind.NULL_LANGUAGE ); IParserLogService logService = ( log == null ) ? createDefaultLogService() : log; ParserMode ourMode = ( (mode == null )? ParserMode.COMPLETE_PARSE : mode ); ISourceElementRequestor ourRequestor = (( requestor == null) ? new NullSourceElementRequestor() : requestor ); - IScanner s = new Scanner( input, fileName, config, ourRequestor, ourMode, language, logService, extensionFactory.createScannerExtension(), workingCopies ); + IScanner s = new Scanner( ourReader, fileName, config, ourRequestor, ourMode, language, logService, extensionFactory.createScannerExtension(), workingCopies ); return s; }