27#include <rtl/ustring.hxx>
28#include <com/sun/star/uno/Sequence.hxx>
29#include <osl/file.hxx>
36#include <com/sun/star/lang/XComponent.hpp>
37#include <com/sun/star/container/XEnumeration.hpp>
38#include <com/sun/star/container/XIndexAccess.hpp>
74 std::unique_ptr<sal_Int32[]>
76 std::unique_ptr<sal_Int32[]>
78 std::unique_ptr<sal_Int32[]>
90#define MAXRECURSION 500
108 std::unique_ptr<osl::Directory>
pDir;
135 std::unique_ptr<SbiIoSystem, o3tl::default_delete<SbiIoSystem>>
pIosys;
167 void ErrorVB( sal_Int32 nVBNumber,
const OUString& rMsg );
200 sal_uInt32 &rnStdTimeIdx, sal_uInt32 &rnStdDateTimeIdx,
260 (
SbxObject* pObj, sal_uInt32 nOp1, sal_uInt32 nOp2,
ErrCode,
bool bLocal,
bool bStatic =
false );
331 void StepPUBLIC_Impl( sal_uInt32, sal_uInt32,
bool bUsedForClassModule );
333 void StepFIND( sal_uInt32, sal_uInt32 ),
StepELEM( sal_uInt32, sal_uInt32 );
339 OUString
const & aName,
SbxDataType t, sal_uInt32 nOp2 );
361 void Error(
ErrCode,
bool bVBATranslationAlreadyDone =
false );
385 if( !std::isfinite(
d ) )
std::shared_ptr< SvNumberFormatter > pNumberFormatter
const OUString & GetErrorMsg() const
sal_uInt32 GetStdDateTimeIdx() const
SbiRTLData & GetRTLData()
void CalcBreakCallLevel(BasicDebugFlags nFlags)
SbiIoSystem * GetIoSystem()
bool IsReschedule() const
SbModule * GetActiveModule()
bool IsCompatibility() const
void ErrorVB(sal_Int32 nVBNumber, const OUString &rMsg)
sal_uInt32 nStdDateTimeIdx
static std::shared_ptr< SvNumberFormatter > PrepareNumberFormatter(sal_uInt32 &rnStdDateIdx, sal_uInt32 &rnStdTimeIdx, sal_uInt32 &rnStdDateTimeIdx, LanguageType const *peFormatterLangType=nullptr, DateOrder const *peFormatterDateOrder=nullptr)
sal_uInt32 GetStdTimeIdx() const
std::unique_ptr< SbiDllMgr > pDllMgr
std::shared_ptr< SvNumberFormatter > const & GetNumberFormatter()
std::unique_ptr< SbiIoSystem, o3tl::default_delete< SbiIoSystem > > pIosys
LanguageType meFormatterLangType
ComponentVector_t ComponentVector
void EnableReschedule(bool bEnable)
DateOrder meFormatterDateOrder
sal_uInt32 GetStdDateIdx() const
SbiDdeControl * GetDdeControl()
void EnableCompatibility(bool bEnable)
ComponentVector_t & getComponentVector()
void setErrorVB(sal_Int32 nVBNumber)
std::unique_ptr< SbiDdeControl > pDdeCtrl
ErrCode const & GetErr() const
SbMethod * GetCaller(sal_uInt16)
std::unique_ptr< osl::Directory > pDir
std::optional< WildCard > moWildCard
OUString sFullNameToBeChecked
css::uno::Sequence< OUString > aDirSeq
void StepPRCHAR(sal_uInt32)
void(SbiRuntime::* pStep0)()
void StepGLOBAL_P(sal_uInt32, sal_uInt32)
void SetupArgs(SbxVariable *, sal_uInt32)
SbxVariable * CheckArray(SbxVariable *)
std::vector< SbiArgv > pArgvStk
friend void SbRtl_CallByName(StarBASIC *pBasic, SbxArray &rPar, bool bWrite)
void DllCall(std::u16string_view, std::u16string_view, SbxArray *, SbxDataType, bool)
void StepGLOBAL(sal_uInt32, sal_uInt32)
void SetDebugFlags(BasicDebugFlags nFl)
void StepJUMP(sal_uInt32)
static bool isVBAEnabled()
static sal_Int32 translateErrorToVba(ErrCode nError, OUString &rMsg)
void StepVBASETCLASS(sal_uInt32)
SbiForStack * FindForStackItemForCollection(class BasicCollection const *pCollection)
SbxBase * FindElementExtern(const OUString &rName)
bool EvaluateTopOfStackAsBool()
SbxVariable * StepSTATIC_Impl(OUString const &aName, SbxDataType t, sal_uInt32 nOp2)
void StepCLOSE(sal_uInt32)
void StepCASETO(sal_uInt32)
static void SetIsMissing(SbxVariable *)
sal_uInt16 GetBase() const
static const pStep2 aStep2[]
void StepSTATIC(sal_uInt32, sal_uInt32)
void StepDCREATE(sal_uInt32, sal_uInt32)
void SetVBAEnabled(bool bEnabled)
void StepFIND_G(sal_uInt32, sal_uInt32)
void StepARGTYP(sal_uInt32)
SbxArrayRef refRedimpArray
void StepCREATE(sal_uInt32, sal_uInt32)
void SetParameters(SbxArray *)
void StepGOSUB(sal_uInt32)
void StepFIND_CM(sal_uInt32, sal_uInt32)
void StepDCREATE_IMPL(sal_uInt32, sal_uInt32)
static void implHandleSbxFlags(SbxVariable *pVar, SbxDataType t, sal_uInt32 nOp2)
void DimImpl(const SbxVariableRef &refVar)
void StepSETCLASS(sal_uInt32)
BasicDebugFlags GetDebugFlags() const
void StepPUBLIC(sal_uInt32, sal_uInt32)
void PushVar(SbxVariable *)
bool checkClass_Impl(const SbxVariableRef &refVal, const OUString &aClass, bool bRaiseErrors, bool bDefault)
void StepCompare(SbxOperator)
void StepTESTCLASS(sal_uInt32)
void StepPUBLIC_Impl(sal_uInt32, sal_uInt32, bool bUsedForClassModule)
const sal_uInt8 * pErrStmnt
void StepFIND_STATIC(sal_uInt32, sal_uInt32)
void StepCALLC(sal_uInt32, sal_uInt32)
void StepTESTFOR(sal_uInt32)
static bool implIsClass(SbxObject const *pObj, const OUString &aClass)
void Error(ErrCode, bool bVBATranslationAlreadyDone=false)
void StepUnary(SbxOperator)
void StepELEM(sal_uInt32, sal_uInt32)
SbxVariable * mpExtCaller
void StepLOADNC(sal_uInt32)
void StepJUMPF(sal_uInt32)
std::vector< SbxVariableRef > aRefSaved
static const pStep0 aStep0[]
void StepFIND_Impl(SbxObject *pObj, sal_uInt32 nOp1, sal_uInt32 nOp2, ErrCode, bool bStatic=false)
void StepCASEIS(sal_uInt32, sal_uInt32)
void StepPARAM(sal_uInt32, sal_uInt32)
Loading of a parameter (+offset+type) If the data type is wrong, create a copy and search for optiona...
void StepBASED(sal_uInt32)
static const pStep1 aStep1[]
void StepCALL(sal_uInt32, sal_uInt32)
void StepFIND(sal_uInt32, sal_uInt32)
void StepSTMNT(sal_uInt32, sal_uInt32)
void PushGosub(const sal_uInt8 *)
void StepRETURN(sal_uInt32)
void StepSET_Impl(SbxVariableRef &refVal, SbxVariableRef &refVar, bool bDefaultHandling=false)
void StepArith(SbxOperator)
bool IsImageFlag(SbiImageFlags n) const
SbiRuntime(SbModule *, SbMethod *, sal_uInt32)
void StepLOADI(sal_uInt32)
void StepERRHDL(sal_uInt32)
void StepJUMPT(sal_uInt32)
const sal_uInt8 * pRestart
static bool IsMissing(SbxVariable *, sal_uInt16)
void StepONJUMP(sal_uInt32)
void StepRESUME(sal_uInt32)
const sal_uInt8 * pErrCode
void StepSETCLASS_impl(sal_uInt32 nOp1, bool bHandleDflt)
void StepARGN(sal_uInt32)
void(SbiRuntime::* pStep1)(sal_uInt32 nOp1)
void StepRTL(sal_uInt32, sal_uInt32)
void StepLOADSC(sal_uInt32)
void StepLOCAL(sal_uInt32, sal_uInt32)
std::vector< SbiGosub > pGosubStk
void StepPUBLIC_P(sal_uInt32, sal_uInt32)
void StepOPEN(sal_uInt32, sal_uInt32)
void StepTCREATE(sal_uInt32, sal_uInt32)
void StepDCREATE_REDIMP(sal_uInt32, sal_uInt32)
SbxVariable * GetExternalCaller()
void(SbiRuntime::* pStep2)(sal_uInt32 nOp1, sal_uInt32 nOp2)
SbxVariable * FindElement(SbxObject *pObj, sal_uInt32 nOp1, sal_uInt32 nOp2, ErrCode, bool bLocal, bool bStatic=false)
virtual SbxDataType GetType() const override
static void Error(ErrCode, const OUString &rMsg={})
OUString getFullPath(const OUString &aRelPath)
void removeDimAsNewRecoverItem(SbxVariable *pVar)
void implStepRenameUCB(const OUString &aSource, const OUString &aDest)
void implStepRenameOSL(const OUString &aSource, const OUString &aDest)
StarBASIC * GetCurrentBasic(StarBASIC *pRTBasic)
void checkArithmeticOverflow(double d)
std::vector< css::uno::Reference< css::lang::XComponent > > ComponentVector_t
#define ERRCODE_BASIC_MATH_OVERFLOW
std::unique_ptr< sal_Int32[]> pArrayCurIndices
sal_Int32 nCurCollectionIndex
std::unique_ptr< sal_Int32[]> pArrayUpperBounds
css::uno::Reference< css::container::XIndexAccess > xIndexAccess
std::unique_ptr< sal_Int32[]> pArrayLowerBounds
css::uno::Reference< css::container::XEnumeration > xEnumeration