BASIC : Remove SbiExprList::pParser
Change-Id: Ib9386d97ddb12f148cf76dc71aa8c41003286f50 Reviewed-on: https://gerrit.libreoffice.org/21534 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
This commit is contained in:
committed by
Noel Grandin
parent
31504c85f1
commit
49b5eed56c
@@ -184,7 +184,7 @@ void SbiExprNode::GenElement( SbiCodeGen& rGen, SbiOpcode eOp )
|
||||
if( aVar.pPar && aVar.pPar->GetSize() )
|
||||
{
|
||||
nId |= 0x8000;
|
||||
aVar.pPar->Gen();
|
||||
aVar.pPar->Gen(rGen);
|
||||
}
|
||||
|
||||
rGen.Gen( eOp, nId, sal::static_int_cast< sal_uInt16 >( GetType() ) );
|
||||
@@ -193,7 +193,7 @@ void SbiExprNode::GenElement( SbiCodeGen& rGen, SbiOpcode eOp )
|
||||
{
|
||||
for( auto& pExprList: *aVar.pvMorePar )
|
||||
{
|
||||
pExprList->Gen();
|
||||
pExprList->Gen(rGen);
|
||||
rGen.Gen( _ARRAYACCESS );
|
||||
}
|
||||
}
|
||||
@@ -203,11 +203,11 @@ void SbiExprNode::GenElement( SbiCodeGen& rGen, SbiOpcode eOp )
|
||||
// The first element remain available for return value etc.
|
||||
// See as well SbiProcDef::SbiProcDef() in symtbl.cxx
|
||||
|
||||
void SbiExprList::Gen()
|
||||
void SbiExprList::Gen(SbiCodeGen& rGen)
|
||||
{
|
||||
if( pFirst )
|
||||
{
|
||||
pParser->aGen.Gen( _ARGC );
|
||||
rGen.Gen( _ARGC );
|
||||
// Type adjustment at DECLARE
|
||||
sal_uInt16 nCount = 1;
|
||||
|
||||
@@ -217,8 +217,8 @@ void SbiExprList::Gen()
|
||||
if( !pExpr->GetName().isEmpty() )
|
||||
{
|
||||
// named arg
|
||||
sal_uInt16 nSid = pParser->aGblStrings.Add( pExpr->GetName() );
|
||||
pParser->aGen.Gen( _ARGN, nSid );
|
||||
sal_uInt16 nSid = rGen.GetParser()->aGblStrings.Add( pExpr->GetName() );
|
||||
rGen.Gen( _ARGN, nSid );
|
||||
|
||||
/* TODO: Check after Declare concept change
|
||||
// From 1996-01-10: Type adjustment at named -> search suitable parameter
|
||||
@@ -247,7 +247,7 @@ void SbiExprList::Gen()
|
||||
}
|
||||
else
|
||||
{
|
||||
pParser->aGen.Gen( _ARGV );
|
||||
rGen.Gen( _ARGV );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -920,9 +920,8 @@ short SbiConstExpression::GetShortValue()
|
||||
|*
|
||||
***************************************************************************/
|
||||
|
||||
SbiExprList::SbiExprList( SbiParser* p )
|
||||
SbiExprList::SbiExprList( )
|
||||
{
|
||||
pParser = p;
|
||||
pFirst = nullptr;
|
||||
nExpr =
|
||||
nDim = 0;
|
||||
@@ -984,8 +983,7 @@ void SbiExprList::addExpression( SbiExpression* pExpr )
|
||||
// #i79918/#i80532: bConst has never been set to true
|
||||
// -> reused as bStandaloneExpression
|
||||
//SbiParameters::SbiParameters( SbiParser* p, sal_Bool bConst, sal_Bool bPar) :
|
||||
SbiParameters::SbiParameters( SbiParser* p, bool bStandaloneExpression, bool bPar) :
|
||||
SbiExprList( p )
|
||||
SbiParameters::SbiParameters( SbiParser* pParser, bool bStandaloneExpression, bool bPar)
|
||||
{
|
||||
if( !bPar )
|
||||
{
|
||||
@@ -1150,9 +1148,9 @@ SbiParameters::SbiParameters( SbiParser* p, bool bStandaloneExpression, bool bPa
|
||||
// A list of array dimensions is parsed. The expressions are tested for being
|
||||
// numeric. The bCONST-Bit is reset when all expressions are Integer constants.
|
||||
|
||||
SbiDimList::SbiDimList( SbiParser* p ) : SbiExprList( p )
|
||||
SbiDimList::SbiDimList( SbiParser* pParser )
|
||||
{
|
||||
bConst = true;
|
||||
bool bConst = true;// true: everything integer constants
|
||||
|
||||
if( pParser->Next() != LPAREN )
|
||||
{
|
||||
|
@@ -223,21 +223,20 @@ public: // numeric constant
|
||||
|
||||
class SbiExprList { // base class for parameters and dims
|
||||
protected:
|
||||
SbiParser* pParser;
|
||||
SbiExpression* pFirst;
|
||||
short nExpr;
|
||||
short nDim;
|
||||
bool bError;
|
||||
bool bBracket;
|
||||
public:
|
||||
SbiExprList( SbiParser* );
|
||||
SbiExprList();
|
||||
virtual ~SbiExprList();
|
||||
bool IsBracket() { return bBracket; }
|
||||
bool IsValid() { return !bError; }
|
||||
short GetSize() { return nExpr; }
|
||||
short GetDims() { return nDim; }
|
||||
SbiExpression* Get( short );
|
||||
void Gen(); // code generation
|
||||
void Gen( SbiCodeGen& rGen); // code generation
|
||||
void addExpression( SbiExpression* pExpr );
|
||||
};
|
||||
|
||||
@@ -247,7 +246,6 @@ public:
|
||||
};
|
||||
|
||||
class SbiDimList : public SbiExprList {
|
||||
bool bConst; // true: everything integer constants
|
||||
public:
|
||||
SbiDimList( SbiParser* ); // parsing Ctor
|
||||
};
|
||||
|
Reference in New Issue
Block a user