diff options
Diffstat (limited to 'src/corelib/kernel/qmetaobject.cpp')
| -rw-r--r-- | src/corelib/kernel/qmetaobject.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index 3c0ee3851fe..17a9856dfd2 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -2481,9 +2481,13 @@ bool QMetaMethod::isConst() const */ QMetaMethod::Access QMetaMethod::access() const { + constexpr int AccessShift = QtPrivate::qConstexprCountTrailingZeroBits(AccessMask); + static_assert(AccessPrivate >> AccessShift == Private); + static_assert(AccessProtected >> AccessShift == Protected); + static_assert(AccessPublic >> AccessShift == Public); if (!mobj) return Private; - return (QMetaMethod::Access)(data.flags() & AccessMask); + return Access((data.flags() & AccessMask) >> AccessShift); } /*! |
