LibreOffice Module basic (master) 1
|
#include <symtbl.hxx>
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) |
SbiParser * | GetParser () |
SbiSymDef * | AddSym (const OUString &) |
SbiProcDef * | AddProc (const OUString &) |
void | Add (SbiSymDef *) |
SbiSymDef * | Find (const OUString &, bool bSearchInParents=true) |
SbiSymDef * | Get (sal_uInt16) |
SbiSymDef * | First () |
SbiSymDef * | Next () |
sal_uInt32 | Define (const OUString &) |
sal_uInt32 | Reference (const OUString &) |
void | CheckRefs () |
Private Attributes | |
SbiStringPool & | rStrings |
std::vector< std::unique_ptr< SbiSymDef > > | m_Data |
SbiSymPool * | pParent |
SbiParser * | pParser |
SbiSymScope | eScope |
sal_uInt16 | nProcId |
sal_uInt16 | nCur |
Friends | |
class | SbiSymDef |
class | SbiProcDef |
Definition at line 49 of file symtbl.hxx.
SbiSymPool::SbiSymPool | ( | SbiStringPool & | r, |
SbiSymScope | s, | ||
SbiParser * | pParser_ | ||
) |
Definition at line 110 of file symtbl.cxx.
SbiSymPool::~SbiSymPool | ( | ) |
Definition at line 120 of file symtbl.cxx.
void SbiSymPool::Add | ( | SbiSymDef * | pDef | ) |
Definition at line 164 of file symtbl.cxx.
References SbiStringPool::Add(), SbiParser::aGblStrings, SbiSymDef::aName, aName, ERRCODE_BASIC_INTERNAL_ERROR, SbiTokenizer::Error(), SbiStringPool::Find(), SbiSymDef::GetProcDef(), SbiSymDef::IsStatic(), m_Data, SbiSymDef::nId, SbiSymDef::nPos, nProcId, SbiSymDef::nProcId, SbiSymDef::pIn, pParser, and rStrings.
Referenced by addNumericConst(), addStringConst(), SbiParser::DefDeclare(), SbiParser::DefEnum(), SbiParser::DefProc(), SbiParser::DefVar(), and SbiParser::ProcDecl().
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().
SbiSymDef * SbiSymPool::AddSym | ( | const OUString & | rName | ) |
Definition at line 139 of file symtbl.cxx.
References SbiStringPool::Add(), m_Data, nProcId, p, rStrings, and SbiSymDef.
Referenced by AddSym(), SbiParser::CheckRTLForSym(), Define(), Reference(), and SbiProcDef::SbiProcDef().
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().
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().
SbiSymDef * SbiSymPool::Find | ( | const OUString & | rName, |
bool | bSearchInParents = true |
||
) |
Definition at line 202 of file symtbl.cxx.
References SbiSymDef::aName, Find(), i, m_Data, nCount, nProcId, SbiSymDef::nProcId, and pParent.
Referenced by SbiParser::DefDeclare(), SbiParser::DefEnum(), Define(), SbiParser::DefProc(), SbiParser::DefVar(), Find(), SbiExpression::ObjTerm(), SbiParser::ProcDecl(), Reference(), and SbiExpression::Term().
SbiSymDef * SbiSymPool::First | ( | ) |
Definition at line 124 of file symtbl.cxx.
Referenced by SbiCodeGen::Save().
SbiSymDef * SbiSymPool::Get | ( | sal_uInt16 | n | ) |
Definition at line 227 of file symtbl.cxx.
Referenced by SbiParser::DefDeclare(), SbModule::GetCodeCompleteDataFromParse(), SbiProcDef::Match(), SbiCodeGen::Save(), and SbiProcDef::SetType().
|
inline |
Definition at line 68 of file symtbl.hxx.
References pParser.
Referenced by AddSym(), and SbiProcDef::Match().
|
inline |
Definition at line 66 of file symtbl.hxx.
References eScope.
Referenced by AddSym(), and SbiSymDef::GetScope().
|
inline |
Definition at line 65 of file symtbl.hxx.
References m_Data.
Referenced by SbiParser::DefDeclare(), SbModule::GetCodeCompleteDataFromParse(), SbiProcDef::Match(), and SbiCodeGen::Save().
SbiSymDef * SbiSymPool::Next | ( | void | ) |
Definition at line 130 of file symtbl.cxx.
Referenced by First(), SbiProcDef::Match(), and SbiCodeGen::Save().
sal_uInt32 SbiSymPool::Reference | ( | const OUString & | rName | ) |
Definition at line 256 of file symtbl.cxx.
References AddSym(), SbiParser::aGen, Find(), SbiCodeGen::GenStmnt(), p, and pParser.
Referenced by SbiParser::Goto(), SbiParser::On(), SbiParser::OnGoto(), SbiParser::Resume(), and SbiParser::Return().
|
inline |
Definition at line 63 of file symtbl.hxx.
Referenced by SbiParser::DefProc(), SbiParser::SbiParser(), and SbiProcDef::SbiProcDef().
|
inline |
Definition at line 64 of file symtbl.hxx.
Referenced by SbiParser::DefProc().
|
inline |
Definition at line 67 of file symtbl.hxx.
References eScope.
Referenced by SbiExpression::ObjTerm().
|
friend |
Definition at line 51 of file symtbl.hxx.
Referenced by AddProc().
|
friend |
Definition at line 50 of file symtbl.hxx.
Referenced by AddSym().
|
private |
Definition at line 56 of file symtbl.hxx.
Referenced by GetScope(), and SetScope().
|
private |
Definition at line 53 of file symtbl.hxx.
Referenced by Add(), AddProc(), AddSym(), CheckRefs(), Find(), Get(), GetSize(), SbiProcDef::Match(), and Next().
|
private |
Definition at line 58 of file symtbl.hxx.
|
private |
Definition at line 57 of file symtbl.hxx.
Referenced by Add(), AddSym(), Find(), and SetProcId().
|
private |
Definition at line 54 of file symtbl.hxx.
Referenced by Find(), and SetParent().
|
private |
Definition at line 55 of file symtbl.hxx.
Referenced by Add(), AddProc(), CheckRefs(), SbiSymDef::Define(), Define(), GetParser(), SbiSymDef::GetPool(), SbiSymDef::Reference(), Reference(), and SbiSymDef::SetType().
|
private |
Definition at line 52 of file symtbl.hxx.
Referenced by Add(), AddProc(), AddSym(), and SbiSymDef::GetName().