24#include <osl/diagnose.h>
27#include <rtl/character.hxx>
45 if(
n == 0 ||
n >
aData.size() )
53 sal_uInt32
n =
aData.size();
54 for( sal_uInt32
i = 0;
i <
n; ++
i )
61 aData.push_back(rVal);
62 return static_cast<short>(++
n);
68 const size_t aBufLength = 40;
69 char buf[aBufLength]{};
78 size = snprintf(buf,
sizeof(buf),
"%d",
static_cast<short>(
n)) + 1;
84 size = snprintf(buf,
sizeof(buf),
"%d",
static_cast<short>(
n)) + 1;
88 size = snprintf(buf,
sizeof(buf),
"%" SAL_PRIdINT32,
static_cast<sal_Int32
>(
n)) + 1;
92 size = snprintf(buf,
sizeof(buf),
"%.6g",
static_cast<float>(
n)) + 1;
96 size = snprintf(buf,
sizeof(buf),
"%.16g",
n) + 1;
100 size = snprintf(buf,
sizeof(buf),
"%.16g",
n) + 1;
103 default: assert(
false);
break;
107 return Add(OUString::fromUtf8(std::string_view(buf,
size)));
126 nCur = sal_uInt16(-1);
146 m_Data.insert(
m_Data.begin() +
p->nPos, std::unique_ptr<SbiSymDef>(
p) );
158 m_Data.insert(
m_Data.begin() +
p->nPos, std::unique_ptr<SbiProcDef>(
p) );
166 if( !(pDef && pDef->
pIn !=
this) )
198 m_Data.insert(
m_Data.begin() + pDef->
nPos, std::unique_ptr<SbiSymDef>(pDef) );
209 ( r.
aName.equalsIgnoreAsciiCase(rName)))
214 if( bSearchInParents &&
pParent )
265 return p->Reference();
271 for (std::unique_ptr<SbiSymDef> & r :
m_Data)
273 if( !r->IsDefined() )
300 bWithBrackets(false),
302 nFixedStringLength(-1)
340 unsigned char ch =
static_cast<unsigned char>(cu);
345 int ch2 = rtl::toAsciiUpperCase(
ch );
410 , aParams( pParser->aGblStrings,
SbPARAM, pParser )
411 , aLabels( pParser->aLclStrings,
SbLOCAL, pParser )
412 , mbProcDecl( bProcDecl )
497 OUString aCompleteProcName =
"Property ";
503 case PropertyMode::NONE: OSL_FAIL(
"Illegal PropertyMode PropertyMode::NONE" );
break;
505 aCompleteProcName +=
aName;
506 aName = aCompleteProcName;
sal_uInt32 GetOffset() const
void BackChain(sal_uInt32 off)
virtual SbiConstDef * GetConstDef() override
void Set(double, SbxDataType)
SbiConstDef(const OUString &)
virtual ~SbiConstDef() override
SbxDataType eDefTypes[N_DEF_TYPES]
SbiStringPool aGblStrings
void setPropertyMode(PropertyMode ePropMode)
void Match(SbiProcDef *pForward)
SbiProcDef(SbiParser *, const OUString &, bool bProcDecl=false)
virtual SbiProcDef * GetProcDef() override
virtual void SetType(SbxDataType) override
virtual ~SbiProcDef() override
void SetCol1(sal_Int32 n)
OUString Find(sal_uInt32) const
short Add(const OUString &)
std::vector< OUString > aData
SbiSymScope GetScope() const
virtual SbiProcDef * GetProcDef()
virtual SbiConstDef * GetConstDef()
bool IsParamArray() const
const OUString & GetName()
std::unique_ptr< SbiSymPool > pPool
virtual void SetType(SbxDataType)
std::vector< std::unique_ptr< SbiSymDef > > m_Data
sal_uInt32 Reference(const OUString &)
SbiSymScope GetScope() const
SbiSymPool(SbiStringPool &, SbiSymScope, SbiParser *pParser_)
SbiSymDef * Find(const OUString &, bool bSearchInParents=true)
SbiProcDef * AddProc(const OUString &)
sal_uInt32 Define(const OUString &)
SbiSymDef * Get(sal_uInt16)
void SetParent(SbiSymPool *p)
SbiSymDef * AddSym(const OUString &)
sal_uInt16 GetSize() const
#define ERRCODE_BASIC_BAD_DECLARATION
#define ERRCODE_BASIC_LABEL_DEFINED
#define ERRCODE_BASIC_UNDEF_LABEL
#define ERRCODE_BASIC_INTERNAL_ERROR