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>
diff --git a/basic/source/comp/exprgen.cxx b/basic/source/comp/exprgen.cxx
index ce6ff93..96efddb 100644
--- a/basic/source/comp/exprgen.cxx
+++ b/basic/source/comp/exprgen.cxx
@@ -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 );
            }
        }
    }
diff --git a/basic/source/comp/exprtree.cxx b/basic/source/comp/exprtree.cxx
index b6ed8da..ba99c00 100644
--- a/basic/source/comp/exprtree.cxx
+++ b/basic/source/comp/exprtree.cxx
@@ -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 )
    {
diff --git a/basic/source/inc/expr.hxx b/basic/source/inc/expr.hxx
index 6efa150..7bcea84 100644
--- a/basic/source/inc/expr.hxx
+++ b/basic/source/inc/expr.hxx
@@ -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
};