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() )
|
if( aVar.pPar && aVar.pPar->GetSize() )
|
||||||
{
|
{
|
||||||
nId |= 0x8000;
|
nId |= 0x8000;
|
||||||
aVar.pPar->Gen();
|
aVar.pPar->Gen(rGen);
|
||||||
}
|
}
|
||||||
|
|
||||||
rGen.Gen( eOp, nId, sal::static_int_cast< sal_uInt16 >( GetType() ) );
|
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 )
|
for( auto& pExprList: *aVar.pvMorePar )
|
||||||
{
|
{
|
||||||
pExprList->Gen();
|
pExprList->Gen(rGen);
|
||||||
rGen.Gen( _ARRAYACCESS );
|
rGen.Gen( _ARRAYACCESS );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -203,11 +203,11 @@ void SbiExprNode::GenElement( SbiCodeGen& rGen, SbiOpcode eOp )
|
|||||||
// The first element remain available for return value etc.
|
// The first element remain available for return value etc.
|
||||||
// See as well SbiProcDef::SbiProcDef() in symtbl.cxx
|
// See as well SbiProcDef::SbiProcDef() in symtbl.cxx
|
||||||
|
|
||||||
void SbiExprList::Gen()
|
void SbiExprList::Gen(SbiCodeGen& rGen)
|
||||||
{
|
{
|
||||||
if( pFirst )
|
if( pFirst )
|
||||||
{
|
{
|
||||||
pParser->aGen.Gen( _ARGC );
|
rGen.Gen( _ARGC );
|
||||||
// Type adjustment at DECLARE
|
// Type adjustment at DECLARE
|
||||||
sal_uInt16 nCount = 1;
|
sal_uInt16 nCount = 1;
|
||||||
|
|
||||||
@@ -217,8 +217,8 @@ void SbiExprList::Gen()
|
|||||||
if( !pExpr->GetName().isEmpty() )
|
if( !pExpr->GetName().isEmpty() )
|
||||||
{
|
{
|
||||||
// named arg
|
// named arg
|
||||||
sal_uInt16 nSid = pParser->aGblStrings.Add( pExpr->GetName() );
|
sal_uInt16 nSid = rGen.GetParser()->aGblStrings.Add( pExpr->GetName() );
|
||||||
pParser->aGen.Gen( _ARGN, nSid );
|
rGen.Gen( _ARGN, nSid );
|
||||||
|
|
||||||
/* TODO: Check after Declare concept change
|
/* TODO: Check after Declare concept change
|
||||||
// From 1996-01-10: Type adjustment at named -> search suitable parameter
|
// From 1996-01-10: Type adjustment at named -> search suitable parameter
|
||||||
@@ -247,7 +247,7 @@ void SbiExprList::Gen()
|
|||||||
}
|
}
|
||||||
else
|
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;
|
pFirst = nullptr;
|
||||||
nExpr =
|
nExpr =
|
||||||
nDim = 0;
|
nDim = 0;
|
||||||
@@ -984,8 +983,7 @@ void SbiExprList::addExpression( SbiExpression* pExpr )
|
|||||||
// #i79918/#i80532: bConst has never been set to true
|
// #i79918/#i80532: bConst has never been set to true
|
||||||
// -> reused as bStandaloneExpression
|
// -> reused as bStandaloneExpression
|
||||||
//SbiParameters::SbiParameters( SbiParser* p, sal_Bool bConst, sal_Bool bPar) :
|
//SbiParameters::SbiParameters( SbiParser* p, sal_Bool bConst, sal_Bool bPar) :
|
||||||
SbiParameters::SbiParameters( SbiParser* p, bool bStandaloneExpression, bool bPar) :
|
SbiParameters::SbiParameters( SbiParser* pParser, bool bStandaloneExpression, bool bPar)
|
||||||
SbiExprList( p )
|
|
||||||
{
|
{
|
||||||
if( !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
|
// 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.
|
// 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 )
|
if( pParser->Next() != LPAREN )
|
||||||
{
|
{
|
||||||
|
@@ -223,21 +223,20 @@ public: // numeric constant
|
|||||||
|
|
||||||
class SbiExprList { // base class for parameters and dims
|
class SbiExprList { // base class for parameters and dims
|
||||||
protected:
|
protected:
|
||||||
SbiParser* pParser;
|
|
||||||
SbiExpression* pFirst;
|
SbiExpression* pFirst;
|
||||||
short nExpr;
|
short nExpr;
|
||||||
short nDim;
|
short nDim;
|
||||||
bool bError;
|
bool bError;
|
||||||
bool bBracket;
|
bool bBracket;
|
||||||
public:
|
public:
|
||||||
SbiExprList( SbiParser* );
|
SbiExprList();
|
||||||
virtual ~SbiExprList();
|
virtual ~SbiExprList();
|
||||||
bool IsBracket() { return bBracket; }
|
bool IsBracket() { return bBracket; }
|
||||||
bool IsValid() { return !bError; }
|
bool IsValid() { return !bError; }
|
||||||
short GetSize() { return nExpr; }
|
short GetSize() { return nExpr; }
|
||||||
short GetDims() { return nDim; }
|
short GetDims() { return nDim; }
|
||||||
SbiExpression* Get( short );
|
SbiExpression* Get( short );
|
||||||
void Gen(); // code generation
|
void Gen( SbiCodeGen& rGen); // code generation
|
||||||
void addExpression( SbiExpression* pExpr );
|
void addExpression( SbiExpression* pExpr );
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -247,7 +246,6 @@ public:
|
|||||||
};
|
};
|
||||||
|
|
||||||
class SbiDimList : public SbiExprList {
|
class SbiDimList : public SbiExprList {
|
||||||
bool bConst; // true: everything integer constants
|
|
||||||
public:
|
public:
|
||||||
SbiDimList( SbiParser* ); // parsing Ctor
|
SbiDimList( SbiParser* ); // parsing Ctor
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user