LibreOffice Module basic (master) 1
Public Member Functions | Private Attributes | Friends | List of all members
SbiSymPool Class Referencefinal

#include <symtbl.hxx>

Collaboration diagram for SbiSymPool:
[legend]

Public Member Functions

 SbiSymPool (SbiStringPool &, SbiSymScope, SbiParser *pParser_)
 
 ~SbiSymPool ()
 
void SetParent (SbiSymPool *p)
 
void SetProcId (short n)
 
sal_uInt16 GetSize () const
 
SbiSymScope GetScope () const
 
void SetScope (SbiSymScope s)
 
SbiParserGetParser ()
 
SbiSymDefAddSym (const OUString &)
 
SbiProcDefAddProc (const OUString &)
 
void Add (SbiSymDef *)
 
SbiSymDefFind (const OUString &, bool bSearchInParents=true)
 
SbiSymDefGet (sal_uInt16)
 
SbiSymDefFirst ()
 
SbiSymDefNext ()
 
sal_uInt32 Define (const OUString &)
 
sal_uInt32 Reference (const OUString &)
 
void CheckRefs ()
 

Private Attributes

SbiStringPoolrStrings
 
std::vector< std::unique_ptr< SbiSymDef > > m_Data
 
SbiSymPoolpParent
 
SbiParserpParser
 
SbiSymScope eScope
 
sal_uInt16 nProcId
 
sal_uInt16 nCur
 

Friends

class SbiSymDef
 
class SbiProcDef
 

Detailed Description

Definition at line 49 of file symtbl.hxx.

Constructor & Destructor Documentation

◆ SbiSymPool()

SbiSymPool::SbiSymPool ( SbiStringPool r,
SbiSymScope  s,
SbiParser pParser_ 
)

Definition at line 110 of file symtbl.cxx.

◆ ~SbiSymPool()

SbiSymPool::~SbiSymPool ( )

Definition at line 120 of file symtbl.cxx.

Member Function Documentation

◆ Add()

void SbiSymPool::Add ( SbiSymDef pDef)

◆ AddProc()

SbiProcDef * SbiSymPool::AddProc ( const OUString &  rName)

Definition at line 150 of file symtbl.cxx.

References SbiStringPool::Add(), m_Data, p, pParser, rStrings, and SbiProcDef.

Referenced by AddSym(), and SbiParser::CheckRTLForSym().

◆ AddSym()

SbiSymDef * SbiSymPool::AddSym ( const OUString &  rName)

◆ CheckRefs()

void SbiSymPool::CheckRefs ( )

Definition at line 269 of file symtbl.cxx.

References ERRCODE_BASIC_UNDEF_LABEL, SbiTokenizer::Error(), m_Data, and pParser.

Referenced by SbiParser::DefProc().

◆ Define()

sal_uInt32 SbiSymPool::Define ( const OUString &  rName)

Definition at line 239 of file symtbl.cxx.

References AddSym(), ERRCODE_BASIC_LABEL_DEFINED, SbiTokenizer::Error(), Find(), p, and pParser.

Referenced by SbiParser::Parse().

◆ Find()

SbiSymDef * SbiSymPool::Find ( const OUString &  rName,
bool  bSearchInParents = true 
)

◆ First()

SbiSymDef * SbiSymPool::First ( )

Definition at line 124 of file symtbl.cxx.

References nCur, and Next().

Referenced by SbiCodeGen::Save().

◆ Get()

SbiSymDef * SbiSymPool::Get ( sal_uInt16  n)

◆ GetParser()

SbiParser * SbiSymPool::GetParser ( )
inline

Definition at line 68 of file symtbl.hxx.

References pParser.

Referenced by AddSym(), and SbiProcDef::Match().

◆ GetScope()

SbiSymScope SbiSymPool::GetScope ( ) const
inline

Definition at line 66 of file symtbl.hxx.

References eScope.

Referenced by AddSym(), and SbiSymDef::GetScope().

◆ GetSize()

sal_uInt16 SbiSymPool::GetSize ( ) const
inline

◆ Next()

SbiSymDef * SbiSymPool::Next ( void  )

Definition at line 130 of file symtbl.cxx.

References m_Data, and nCur.

Referenced by First(), SbiProcDef::Match(), and SbiCodeGen::Save().

◆ Reference()

sal_uInt32 SbiSymPool::Reference ( const OUString &  rName)

◆ SetParent()

void SbiSymPool::SetParent ( SbiSymPool p)
inline

Definition at line 63 of file symtbl.hxx.

References p, and pParent.

Referenced by SbiParser::DefProc(), SbiParser::SbiParser(), and SbiProcDef::SbiProcDef().

◆ SetProcId()

void SbiSymPool::SetProcId ( short  n)
inline

Definition at line 64 of file symtbl.hxx.

References n, and nProcId.

Referenced by SbiParser::DefProc().

◆ SetScope()

void SbiSymPool::SetScope ( SbiSymScope  s)
inline

Definition at line 67 of file symtbl.hxx.

References eScope.

Referenced by SbiExpression::ObjTerm().

Friends And Related Function Documentation

◆ SbiProcDef

friend class SbiProcDef
friend

Definition at line 51 of file symtbl.hxx.

Referenced by AddProc().

◆ SbiSymDef

friend class SbiSymDef
friend

Definition at line 50 of file symtbl.hxx.

Referenced by AddSym().

Member Data Documentation

◆ eScope

SbiSymScope SbiSymPool::eScope
private

Definition at line 56 of file symtbl.hxx.

Referenced by GetScope(), and SetScope().

◆ m_Data

std::vector<std::unique_ptr<SbiSymDef> > SbiSymPool::m_Data
private

Definition at line 53 of file symtbl.hxx.

Referenced by Add(), AddProc(), AddSym(), CheckRefs(), Find(), Get(), GetSize(), SbiProcDef::Match(), and Next().

◆ nCur

sal_uInt16 SbiSymPool::nCur
private

Definition at line 58 of file symtbl.hxx.

Referenced by First(), and Next().

◆ nProcId

sal_uInt16 SbiSymPool::nProcId
private

Definition at line 57 of file symtbl.hxx.

Referenced by Add(), AddSym(), Find(), and SetProcId().

◆ pParent

SbiSymPool* SbiSymPool::pParent
private

Definition at line 54 of file symtbl.hxx.

Referenced by Find(), and SetParent().

◆ pParser

SbiParser* SbiSymPool::pParser
private

◆ rStrings

SbiStringPool& SbiSymPool::rStrings
private

Definition at line 52 of file symtbl.hxx.

Referenced by Add(), AddProc(), AddSym(), and SbiSymDef::GetName().


The documentation for this class was generated from the following files: