diff options
Diffstat (limited to 'basic/source/runtime/stdobj.cxx')
-rw-r--r-- | basic/source/runtime/stdobj.cxx | 78 |
1 files changed, 43 insertions, 35 deletions
diff --git a/basic/source/runtime/stdobj.cxx b/basic/source/runtime/stdobj.cxx index 3b835a921be0..5b123d00d5a2 100644 --- a/basic/source/runtime/stdobj.cxx +++ b/basic/source/runtime/stdobj.cxx @@ -58,16 +58,16 @@ namespace { struct Method { + RtlCall pFunc; std::u16string_view sName; SbxDataType eType; short nArgs; - RtlCall pFunc; sal_uInt16 nHash; constexpr Method(std::u16string_view name, SbxDataType type, short args, RtlCall func) - : sName(name) + : pFunc(func) + , sName(name) , eType(type) , nArgs(args) - , pFunc(func) , nHash(SbxVariable::MakeHashCode(name)) { } @@ -141,7 +141,7 @@ constexpr Method aMethods[] = { { u"CallByName", SbxVARIANT, 3 | FUNCTION_, SbRtl_CallByName }, arg(u"Object", SbxOBJECT), - arg(u"ProcedureName", SbxSTRING), + arg(u"ProcName", SbxSTRING), arg(u"CallType", SbxINTEGER), { u"CBool", SbxBOOL, 1 | FUNCTION_, SbRtl_CBool }, @@ -200,10 +200,10 @@ constexpr Method aMethods[] = { arg(u"Expression", SbxVARIANT), { u"Chr", SbxSTRING, 1 | FUNCTION_, SbRtl_Chr }, - arg(u"string", SbxINTEGER), + arg(u"charcode", SbxLONG), { u"ChrW", SbxSTRING, 1 | FUNCTION_ | COMPATONLY_, SbRtl_ChrW }, - arg(u"string", SbxINTEGER), + arg(u"charcode", SbxLONG), { u"CInt", SbxINTEGER, 1 | FUNCTION_, SbRtl_CInt }, arg(u"expression", SbxVARIANT), @@ -328,8 +328,8 @@ constexpr Method aMethods[] = { { u"Ddeterminateall", SbxNULL, FUNCTION_, SbRtl_DDETerminateAll }, { u"DimArray", SbxOBJECT, FUNCTION_, SbRtl_DimArray }, { u"Dir", SbxSTRING, 2 | FUNCTION_, SbRtl_Dir }, - arg(u"FileSpec", SbxSTRING, OPT_), - arg(u"attrmask", SbxINTEGER, OPT_), + arg(u"Pathname", SbxSTRING, OPT_), + arg(u"Attributes", SbxINTEGER, OPT_), { u"DoEvents", SbxINTEGER, FUNCTION_, SbRtl_DoEvents }, { u"DumpAllObjects", SbxEMPTY, 2 | SUB_, SbRtl_DumpAllObjects }, @@ -401,6 +401,13 @@ constexpr Method aMethods[] = { arg(u"useParensForNegativeNumbers", SbxINTEGER, OPT_), // vbTriState arg(u"groupDigits", SbxINTEGER, OPT_), // vbTriState +{ u"FormatPercent", SbxSTRING, 5 | FUNCTION_ | COMPATONLY_, SbRtl_FormatPercent }, + arg(u"expression", SbxDOUBLE), + arg(u"numDigitsAfterDecimal", SbxINTEGER, OPT_), + arg(u"includeLeadingDigit", SbxINTEGER, OPT_), // vbTriState + arg(u"useParensForNegativeNumbers", SbxINTEGER, OPT_), // vbTriState + arg(u"groupDigits", SbxINTEGER, OPT_), // vbTriState + { u"Frac", SbxDOUBLE, 1 | FUNCTION_, SbRtl_Frac }, arg(u"number", SbxDOUBLE), @@ -451,6 +458,7 @@ constexpr Method aMethods[] = { { u"IDABORT", SbxINTEGER, CPROP_, SbRtl_IDABORT }, { u"IDCANCEL", SbxINTEGER, CPROP_, SbRtl_IDCANCEL }, +{ u"IDIGNORE", SbxINTEGER, CPROP_, SbRtl_IDIGNORE }, { u"IDNO", SbxINTEGER, CPROP_, SbRtl_IDNO }, { u"IDOK", SbxINTEGER, CPROP_, SbRtl_IDOK }, { u"IDRETRY", SbxINTEGER, CPROP_, SbRtl_IDRETRY }, @@ -479,10 +487,10 @@ constexpr Method aMethods[] = { arg(u"Compare", SbxINTEGER, OPT_), { u"InStrRev", SbxLONG, 4 | FUNCTION_ | COMPATONLY_, SbRtl_InStrRev }, - arg(u"String1", SbxSTRING), - arg(u"String2", SbxSTRING), - arg(u"Start", SbxSTRING, OPT_), - arg(u"Compare", SbxINTEGER, OPT_), + arg(u"StringCheck", SbxSTRING), + arg(u"StringMatch", SbxSTRING), + arg(u"Start", SbxSTRING, OPT_), + arg(u"Compare", SbxINTEGER, OPT_), { u"Int", SbxDOUBLE, 1 | FUNCTION_, SbRtl_Int }, arg(u"number", SbxDOUBLE), @@ -527,8 +535,8 @@ constexpr Method aMethods[] = { arg(u"Variant", SbxVARIANT), { u"Join", SbxSTRING, 2 | FUNCTION_, SbRtl_Join }, - arg(u"list", SbxOBJECT), - arg(u"delimiter", SbxSTRING), + arg(u"SourceArray", SbxOBJECT), + arg(u"Delimiter", SbxSTRING), { u"Kill", SbxNULL, 1 | FUNCTION_, SbRtl_Kill }, arg(u"filespec", SbxSTRING), @@ -541,7 +549,7 @@ constexpr Method aMethods[] = { { u"Left", SbxSTRING, 2 | FUNCTION_, SbRtl_Left }, arg(u"String", SbxSTRING), - arg(u"Count", SbxLONG), + arg(u"Length", SbxLONG), { u"Len", SbxLONG, 1 | FUNCTION_, SbRtl_Len }, arg(u"StringOrVariant", SbxVARIANT), @@ -585,9 +593,9 @@ constexpr Method aMethods[] = { { u"Me", SbxOBJECT, 0 | FUNCTION_ | COMPATONLY_, SbRtl_Me }, { u"Mid", SbxSTRING, 3 | LFUNCTION_, SbRtl_Mid }, - arg(u"String", SbxSTRING), - arg(u"StartPos", SbxLONG), - arg(u"Length", SbxLONG, OPT_), + arg(u"String", SbxSTRING), + arg(u"Start", SbxLONG), + arg(u"Length", SbxLONG, OPT_), { u"Minute", SbxINTEGER, 1 | FUNCTION_, SbRtl_Minute }, arg(u"Date", SbxDATE), @@ -703,7 +711,7 @@ constexpr Method aMethods[] = { { u"Right", SbxSTRING, 2 | FUNCTION_, SbRtl_Right }, arg(u"String", SbxSTRING), - arg(u"Count", SbxLONG), + arg(u"Length", SbxLONG), { u"RmDir", SbxNULL, 1 | FUNCTION_, SbRtl_RmDir }, arg(u"pathname", SbxSTRING), @@ -734,7 +742,7 @@ constexpr Method aMethods[] = { arg(u"Wait", SbxBOOL, OPT_), { u"SetAttr", SbxNULL, 2 | FUNCTION_, SbRtl_SetAttr }, - arg(u"File", SbxSTRING), + arg(u"PathName", SbxSTRING), arg(u"Attributes", SbxINTEGER), { u"SET_OFF", SbxINTEGER, CPROP_, SbRtl_SET_OFF }, @@ -744,8 +752,8 @@ constexpr Method aMethods[] = { arg(u"number", SbxDOUBLE), { u"Shell", SbxLONG, 2 | FUNCTION_, SbRtl_Shell }, - arg(u"Commandstring", SbxSTRING), - arg(u"WindowStyle", SbxINTEGER, OPT_), + arg(u"PathName", SbxSTRING), + arg(u"WindowStyle", SbxINTEGER, OPT_), { u"Sin", SbxDOUBLE, 1 | FUNCTION_, SbRtl_Sin }, arg(u"number", SbxDOUBLE), @@ -762,15 +770,15 @@ constexpr Method aMethods[] = { arg(u"Period", SbxDOUBLE), { u"Space", SbxSTRING, 1 | FUNCTION_, SbRtl_Space }, - arg(u"string", SbxLONG), + arg(u"Number", SbxLONG), -{ u"Spc", SbxSTRING, 1 | FUNCTION_, SbRtl_Spc }, - arg(u"Count", SbxLONG), +{ u"Spc", SbxSTRING, 1 | FUNCTION_, SbRtl_Space }, + arg(u"Number", SbxLONG), { u"Split", SbxOBJECT, 3 | FUNCTION_, SbRtl_Split }, arg(u"expression", SbxSTRING), arg(u"delimiter", SbxSTRING), - arg(u"count", SbxLONG), + arg(u"Limit", SbxLONG), { u"Sqr", SbxDOUBLE, 1 | FUNCTION_, SbRtl_Sqr }, arg(u"number", SbxDOUBLE), @@ -789,8 +797,8 @@ constexpr Method aMethods[] = { arg(u"LCID", SbxINTEGER, OPT_), { u"String", SbxSTRING, 2 | FUNCTION_, SbRtl_String }, - arg(u"Count", SbxLONG), - arg(u"Filler", SbxVARIANT), + arg(u"Number", SbxLONG), + arg(u"Character", SbxVARIANT), { u"StrReverse", SbxSTRING, 1 | FUNCTION_ | COMPATONLY_, SbRtl_StrReverse }, arg(u"String1", SbxSTRING), @@ -867,7 +875,7 @@ constexpr Method aMethods[] = { arg(u"Var", SbxVARIANT), { u"TypeName", SbxSTRING, 1 | FUNCTION_, SbRtl_TypeName }, - arg(u"Var", SbxVARIANT), + arg(u"Varname", SbxVARIANT), { u"UBound", SbxLONG, 1 | FUNCTION_, SbRtl_UBound }, arg(u"Var", SbxVARIANT), @@ -882,7 +890,7 @@ constexpr Method aMethods[] = { arg(u"String", SbxSTRING), { u"VarType", SbxINTEGER, 1 | FUNCTION_, SbRtl_VarType }, - arg(u"Var", SbxVARIANT), + arg(u"Varname", SbxVARIANT), { u"V_EMPTY", SbxINTEGER, CPROP_, SbRtl_V_EMPTY }, { u"V_NULL", SbxINTEGER, CPROP_, SbRtl_V_NULL }, @@ -926,15 +934,15 @@ SbiStdObject::SbiStdObject( const OUString& r, StarBASIC* pb ) : SbxObject( r ) SetParent( pb ); - pStdFactory.reset( new SbStdFactory ); - SbxBase::AddFactory( pStdFactory.get() ); + pStdFactory.emplace(); + SbxBase::AddFactory( &*pStdFactory ); Insert( new SbStdClipboard ); } SbiStdObject::~SbiStdObject() { - SbxBase::RemoveFactory( pStdFactory.get() ); + SbxBase::RemoveFactory( &*pStdFactory ); pStdFactory.reset(); } @@ -985,7 +993,7 @@ SbxVariable* SbiStdObject::Find( const OUString& rName, SbxClassType t ) // No instance running => compiling a source on module level. const SbModule* pModule = GetSbData()->pCompMod; if (pModule) - bCompatibility = pModule->IsVBACompat(); + bCompatibility = pModule->IsVBASupport(); } if ((bCompatibility && (NORMONLY_ & p->nArgs)) || (!bCompatibility && (COMPATONLY_ & p->nArgs))) bFound = false; @@ -1053,7 +1061,7 @@ void SbiStdObject::Notify( SfxBroadcaster& rBC, const SfxHint& rHint ) if( !pPar_ ) { rPar = pPar_ = new SbxArray; - pPar_->Put32( pVar, 0 ); + pPar_->Put(pVar, 0); } p( static_cast<StarBASIC*>(GetParent()), *pPar_, bWrite ); return; |