From 33e128b816300d552ae9ad3c611c8464fff08e68 Mon Sep 17 00:00:00 2001 From: Noel Grandin Date: Thu, 11 Feb 2016 11:41:21 +0200 Subject: simplify SvTokenStream handling Change-Id: Ic8d8c7df54bd9debea3b9601d9c8d67b0412b5ab --- idl/inc/lex.hxx | 1 - idl/inc/parser.hxx | 5 ++++- idl/source/cmptools/lex.cxx | 8 -------- idl/source/prj/command.cxx | 17 +++-------------- idl/source/prj/parser.cxx | 9 ++++----- 5 files changed, 11 insertions(+), 29 deletions(-) (limited to 'idl') diff --git a/idl/inc/lex.hxx b/idl/inc/lex.hxx index e2e5bc374a87..0bfe49164a99 100644 --- a/idl/inc/lex.hxx +++ b/idl/inc/lex.hxx @@ -150,7 +150,6 @@ class SvTokenStream } public: SvTokenStream( const OUString & rFileName ); - SvTokenStream( SvStream & rInStream, const OUString & rFileName ); ~SvTokenStream(); const OUString & GetFileName() const { return aFileName; } diff --git a/idl/inc/parser.hxx b/idl/inc/parser.hxx index c06287b7a9e4..8a15bb48a7bc 100644 --- a/idl/inc/parser.hxx +++ b/idl/inc/parser.hxx @@ -27,8 +27,11 @@ class SvIdlDataBase; class SvIdlParser { + SvIdlDataBase& rBase; + SvTokenStream & rInStm; public: - bool ReadSvIdl( SvIdlDataBase& rBase, SvTokenStream &, bool bImported, const OUString & rPath ); + SvIdlParser( SvIdlDataBase& rBase_, SvTokenStream & rInStrm_) : rBase(rBase_), rInStm(rInStrm_) {} + bool ReadSvIdl( bool bImported, const OUString & rPath ); }; diff --git a/idl/source/cmptools/lex.cxx b/idl/source/cmptools/lex.cxx index 67c2cf182176..e243302fa565 100644 --- a/idl/source/cmptools/lex.cxx +++ b/idl/source/cmptools/lex.cxx @@ -91,14 +91,6 @@ SvTokenStream::SvTokenStream( const OUString & rFileName ) InitCtor(); } -SvTokenStream::SvTokenStream( SvStream & rStream, const OUString & rFileName ) - : pInStream( nullptr ) - , rInStream( rStream ) - , aFileName( rFileName ) -{ - InitCtor(); -} - SvTokenStream::~SvTokenStream() { delete pInStream; diff --git a/idl/source/prj/command.cxx b/idl/source/prj/command.cxx index 2967e054850c..4ad62f971d3f 100644 --- a/idl/source/prj/command.cxx +++ b/idl/source/prj/command.cxx @@ -123,21 +123,10 @@ bool ReadIdl( SvIdlWorkingBase * pDataBase, const SvCommand & rCommand ) { OUString aFileName ( rCommand.aInFileList[ n ] ); pDataBase->AddDepFile(aFileName); - SvFileStream aStm( aFileName, STREAM_STD_READ | StreamMode::NOCREATE ); - if( aStm.GetError() == SVSTREAM_OK ) - { - SvTokenStream aTokStm( aStm, aFileName ); - SvIdlParser aParser; - if( !aParser.ReadSvIdl( *pDataBase, aTokStm, false, rCommand.aPath ) ) - return false; - } - else - { - const OString aStr(OUStringToOString(aFileName, - RTL_TEXTENCODING_UTF8)); - fprintf( stderr, "unable to read input file: %s\n", aStr.getStr() ); + SvTokenStream aTokStm( aFileName ); + SvIdlParser aParser(*pDataBase, aTokStm); + if( !aParser.ReadSvIdl( false, rCommand.aPath ) ) return false; - } } return true; } diff --git a/idl/source/prj/parser.cxx b/idl/source/prj/parser.cxx index 7a48c6fe5a6c..34820f2f75a7 100644 --- a/idl/source/prj/parser.cxx +++ b/idl/source/prj/parser.cxx @@ -24,7 +24,7 @@ #include #include -bool SvIdlParser::ReadSvIdl( SvIdlDataBase& rBase, SvTokenStream & rInStm, bool bImported, const OUString & rPath ) +bool SvIdlParser::ReadSvIdl( bool bImported, const OUString & rPath ) { rBase.SetPath(rPath); // only valid for this iteration bool bOk = true; @@ -32,7 +32,6 @@ bool SvIdlParser::ReadSvIdl( SvIdlDataBase& rBase, SvTokenStream & rInStm, bool // only one import at the very beginning if( rTok.Is( SvHash_import() ) ) { - rInStm.GetToken_Next(); rTok = rInStm.GetToken_Next(); if( rTok.IsString() ) { @@ -44,9 +43,9 @@ bool SvIdlParser::ReadSvIdl( SvIdlDataBase& rBase, SvTokenStream & rInStm, bool { osl::FileBase::getSystemPathFromFileURL( aFullName, aFullName ); rBase.AddDepFile(aFullName); - SvFileStream aStm( aFullName, STREAM_STD_READ | StreamMode::NOCREATE ); - SvTokenStream aTokStm( aStm, aFullName ); - bOk = ReadSvIdl( rBase, aTokStm, true, rPath ); + SvTokenStream aTokStm( aFullName ); + SvIdlParser aInputParser(rBase, aTokStm); + bOk = aInputParser.ReadSvIdl( true, rPath ); } else bOk = false; -- cgit v1.2.3