summaryrefslogtreecommitdiff
path: root/idl
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2016-02-11 11:41:21 +0200
committerNoel Grandin <noel@peralex.com>2016-02-11 14:47:01 +0200
commit33e128b816300d552ae9ad3c611c8464fff08e68 (patch)
treef014ed90adc1d04c1166de6bc980e8f83abeaef9 /idl
parent09d58f7be8802c7e3f60ced1b428195b4d6bb7fa (diff)
simplify SvTokenStream handling
Change-Id: Ic8d8c7df54bd9debea3b9601d9c8d67b0412b5ab
Diffstat (limited to 'idl')
-rw-r--r--idl/inc/lex.hxx1
-rw-r--r--idl/inc/parser.hxx5
-rw-r--r--idl/source/cmptools/lex.cxx8
-rw-r--r--idl/source/prj/command.cxx17
-rw-r--r--idl/source/prj/parser.cxx9
5 files changed, 11 insertions, 29 deletions
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 <globals.hxx>
#include <osl/file.hxx>
-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;