mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Added traceLog() call into Scanner.handleProblem() and updated ParserFactory.createPreprocessor()'s error handling.
This commit is contained in:
parent
ee9dc1d5a5
commit
d228fe824a
3 changed files with 26 additions and 11 deletions
|
@ -1,11 +1,14 @@
|
|||
2004-01-20 John Camelon
|
||||
Tidied up Scanner implementation for unused fields, inefficient String manipulations and redundant parameters.
|
||||
Added traceLog() call into Scanner.handleProblem() and updated ParserFactory.createPreprocessor() for extra error handling.
|
||||
|
||||
2004-01-20 John Camelon
|
||||
Tidied up Scanner implementation for unused fields, inefficient String manipulations and redundant parameters.
|
||||
|
||||
2004-01-19 John Camelon
|
||||
Added IToken.getLineNumber() to facilitate adding line numbers to AST.
|
||||
Added line number support into IASTOffsetableElement. Updated all implementations to use this.
|
||||
Updated Parser and IASTFactory to populate IASTOffsetableElement with the values retrieved from IToken.
|
||||
Removed IScanner.getLineNumberForOffset().
|
||||
Added IToken.getLineNumber() to facilitate adding line numbers to AST.
|
||||
Added line number support into IASTOffsetableElement. Updated all implementations to use this.
|
||||
Updated Parser and IASTFactory to populate IASTOffsetableElement with the values retrieved from IToken.
|
||||
Removed IScanner.getLineNumberForOffset().
|
||||
|
||||
2004-01-16 Andrew Niefer
|
||||
Created IExtensibleSymbol, which is a new base class for the symbol interfaces
|
||||
|
|
|
@ -74,9 +74,14 @@ public class ParserFactory {
|
|||
|
||||
public static IPreprocessor createPreprocessor( Reader input, String fileName, IScannerInfo info, ParserMode mode, ParserLanguage language, ISourceElementRequestor requestor, IParserLogService logService )
|
||||
{
|
||||
ParserMode ourMode = ( (mode == null )? ParserMode.COMPLETE_PARSE : mode );
|
||||
ISourceElementRequestor ourRequestor = (( requestor == null) ? new NullSourceElementRequestor() : requestor );
|
||||
IPreprocessor s = new Preprocessor( input, fileName, info, ourRequestor, ourMode, language, logService );
|
||||
if( input == null ) throw new ParserFactoryError( ParserFactoryError.Kind.NULL_READER );
|
||||
if( fileName == null ) throw new ParserFactoryError( ParserFactoryError.Kind.NULL_FILENAME );
|
||||
if( info == null ) throw new ParserFactoryError( ParserFactoryError.Kind.NULL_CONFIG );
|
||||
if( language == null ) throw new ParserFactoryError( ParserFactoryError.Kind.NULL_LANGUAGE );
|
||||
IParserLogService log = ( logService == null ) ? createDefaultLogService() : logService;
|
||||
ParserMode ourMode = ( (mode == null )? ParserMode.COMPLETE_PARSE : mode );
|
||||
ISourceElementRequestor ourRequestor = (( requestor == null) ? new NullSourceElementRequestor() : requestor );
|
||||
IPreprocessor s = new Preprocessor( input, fileName, info, ourRequestor, ourMode, language, log );
|
||||
return s;
|
||||
}
|
||||
|
||||
|
|
|
@ -80,9 +80,16 @@ public class Scanner implements IScanner {
|
|||
String attributes [] = problemFactory.getRequiredAttributesForId( problemID );
|
||||
arguments.put( attributes[ 0 ], argument );
|
||||
}
|
||||
IProblem p = problemFactory.createProblem( problemID, beginningOffset, getCurrentOffset(), contextStack.getCurrentLineNumber(), getCurrentFile().toCharArray(), arguments, warning, error );
|
||||
if( (! requestor.acceptProblem( p )) && extra )
|
||||
throw new ScannerException( p );
|
||||
|
||||
IProblem problem = problemFactory.createProblem( problemID, beginningOffset, getCurrentOffset(), contextStack.getCurrentLineNumber(), getCurrentFile().toCharArray(), arguments, warning, error );
|
||||
|
||||
// trace log
|
||||
StringBuffer logMessage = new StringBuffer( "Scanner problem encountered: ");
|
||||
logMessage.append( problem.getMessage() );
|
||||
log.traceLog( logMessage.toString() );
|
||||
|
||||
if( (! requestor.acceptProblem( problem )) && extra )
|
||||
throw new ScannerException( problem );
|
||||
}
|
||||
|
||||
public Scanner(Reader reader, String filename, IScannerInfo info, ISourceElementRequestor requestor, ParserMode parserMode, ParserLanguage language, IParserLogService log ) {
|
||||
|
|
Loading…
Add table
Reference in a new issue