diff options
author | bruh <randomforest33@gmail.com> | 2025-01-09 18:20:44 +0530 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2025-01-19 15:58:40 +0100 |
commit | 623521289e7673c795d848c241637bcbb3ce5c0d (patch) | |
tree | 95e8b065d1e631df5cf9a134905b8cc43560f702 | |
parent | 2e31b49edea62b82163cb48444a20339f15f6aa8 (diff) |
tdf#145614 Convert #define to enum
Change-Id: I146b65cc931dfc3ce2785ccb5c921e6385fbb4a7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/180015
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
-rw-r--r-- | basic/source/runtime/stdobj.cxx | 57 |
1 files changed, 30 insertions, 27 deletions
diff --git a/basic/source/runtime/stdobj.cxx b/basic/source/runtime/stdobj.cxx index a8284479d0e4..f30a633dccfb 100644 --- a/basic/source/runtime/stdobj.cxx +++ b/basic/source/runtime/stdobj.cxx @@ -34,35 +34,38 @@ // does NOT impose a limit on User defined procedures ). This changes is to // allow us space for a flag to denylist some functions in vba mode -#define ARGSMASK_ 0x003F // 63 Arguments - -#define COMPATONLY_ 0x0080 // procedure is visible in vba mode only -#define NORMONLY_ 0x0040 // procedure is visible in normal mode only -#define COMPTMASK_ (COMPATONLY_ | NORMONLY_) // COMPATIBILITY mask - -#define READ_ 0x0100 // parameter allows read -#define WRITE_ 0x0200 // parameter allows write -#define OPT_ 0x0400 // parameter is optional -#define CONST_ 0x0800 // property is const -#define RWMASK_ (READ_ | WRITE_ | OPT_ | CONST_) // mask for R/W-bits - -#define FUNC_TYPE_ 0x1000 // functional type -#define SUB_TYPE_ 0x2000 // sub type -#define METHOD_ (FUNC_TYPE_ | SUB_TYPE_) -#define PROPERTY_ 0x4000 -#define OBJECT_ 0x8000 -#define TYPEMASK_ (METHOD_ | PROPERTY_ | OBJECT_) // mask for the entry's type - - // combination of bits above: -#define FUNCTION_ (FUNC_TYPE_ | READ_) -#define LFUNCTION_ (FUNC_TYPE_ | READ_ | WRITE_) // mask for function which also works as Lvalue (statement) -#define SUB_ (SUB_TYPE_) -#define ROPROP_ (PROPERTY_ | READ_) // mask Read Only-Property -#define RWPROP_ (PROPERTY_ | READ_ | WRITE_) // mask Read/Write-Property -#define CPROP_ (PROPERTY_ | READ_ | CONST_) // mask for constant - namespace { +enum Flags +{ + ARGSMASK_ = 0x003F, // 63 Arguments + + NORMONLY_ = 0x0040, // procedure is visible in normal mode only + COMPATONLY_ = 0x0080, // procedure is visible in vba mode only + COMPTMASK_ = (COMPATONLY_ | NORMONLY_), // COMPATIBILITY mask + + READ_ = 0x0100, // parameter allows read + WRITE_ = 0x0200, // parameter allows write + OPT_ = 0x0400, // parameter is optional + CONST_ = 0x0800, // property is const + RWMASK_ = (READ_ | WRITE_ | OPT_ | CONST_), // mask for R/W-bits + + FUNC_TYPE_ = 0x1000, // functional type + SUB_TYPE_ = 0x2000, // sub type + METHOD_ = (FUNC_TYPE_ | SUB_TYPE_), + PROPERTY_ = 0x4000, + OBJECT_ = 0x8000, + TYPEMASK_ = (METHOD_ | PROPERTY_ | OBJECT_), // mask for the entry's type + + // combination of bits above + FUNCTION_ = (FUNC_TYPE_ | READ_), + LFUNCTION_ = (FUNC_TYPE_ | READ_ | WRITE_), // mask for function which also works as Lvalue (statement) + SUB_ = SUB_TYPE_, + ROPROP_ = (PROPERTY_ | READ_), // mask Read Only-Property + RWPROP_ = (PROPERTY_ | READ_ | WRITE_), // mask Read/Write-Property + CPROP_ = (PROPERTY_ | READ_ | CONST_) // mask for constant +}; + struct Method { RtlCall pFunc; std::u16string_view sName; |