summaryrefslogtreecommitdiff
path: root/chromium/v8/src/objects/js-regexp.h
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-12 14:27:29 +0200
committerAllan Sandfeld Jensen <allan.jensen@qt.io>2020-10-13 09:35:20 +0000
commitc30a6232df03e1efbd9f3b226777b07e087a1122 (patch)
treee992f45784689f373bcc38d1b79a239ebe17ee23 /chromium/v8/src/objects/js-regexp.h
parent7b5b123ac58f58ffde0f4f6e488bcd09aa4decd3 (diff)
downloadqtwebengine-chromium-85-based.tar.gz
BASELINE: Update Chromium to 85.0.4183.14085-based
Change-Id: Iaa42f4680837c57725b1344f108c0196741f6057 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'chromium/v8/src/objects/js-regexp.h')
-rw-r--r--chromium/v8/src/objects/js-regexp.h43
1 files changed, 11 insertions, 32 deletions
diff --git a/chromium/v8/src/objects/js-regexp.h b/chromium/v8/src/objects/js-regexp.h
index 3d584b9f1ab..b32ea4d9402 100644
--- a/chromium/v8/src/objects/js-regexp.h
+++ b/chromium/v8/src/objects/js-regexp.h
@@ -6,6 +6,7 @@
#define V8_OBJECTS_JS_REGEXP_H_
#include "src/objects/js-array.h"
+#include "torque-generated/bit-fields-tq.h"
// Has to be the last include (doesn't have include guards):
#include "src/objects/object-macros.h"
@@ -36,40 +37,18 @@ class JSRegExp : public TorqueGeneratedJSRegExp<JSRegExp, JSObject> {
// ATOM: A simple string to match against using an indexOf operation.
// IRREGEXP: Compiled with Irregexp.
enum Type { NOT_COMPILED, ATOM, IRREGEXP };
- struct FlagShiftBit {
- static constexpr int kGlobal = 0;
- static constexpr int kIgnoreCase = 1;
- static constexpr int kMultiline = 2;
- static constexpr int kSticky = 3;
- static constexpr int kUnicode = 4;
- static constexpr int kDotAll = 5;
- static constexpr int kInvalid = 6;
- };
- enum Flag : uint8_t {
- kNone = 0,
- kGlobal = 1 << FlagShiftBit::kGlobal,
- kIgnoreCase = 1 << FlagShiftBit::kIgnoreCase,
- kMultiline = 1 << FlagShiftBit::kMultiline,
- kSticky = 1 << FlagShiftBit::kSticky,
- kUnicode = 1 << FlagShiftBit::kUnicode,
- kDotAll = 1 << FlagShiftBit::kDotAll,
- // Update FlagCount when adding new flags.
- kInvalid = 1 << FlagShiftBit::kInvalid, // Not included in FlagCount.
- };
- using Flags = base::Flags<Flag>;
-
- static constexpr int kFlagCount = 6;
-
- static constexpr Flag FlagFromChar(char c) {
+ DEFINE_TORQUE_GENERATED_JS_REG_EXP_FLAGS()
+
+ static constexpr base::Optional<Flag> FlagFromChar(char c) {
STATIC_ASSERT(kFlagCount == 6);
// clang-format off
- return c == 'g' ? kGlobal
- : c == 'i' ? kIgnoreCase
- : c == 'm' ? kMultiline
- : c == 'y' ? kSticky
- : c == 'u' ? kUnicode
- : c == 's' ? kDotAll
- : kInvalid;
+ return c == 'g' ? base::Optional<Flag>(kGlobal)
+ : c == 'i' ? base::Optional<Flag>(kIgnoreCase)
+ : c == 'm' ? base::Optional<Flag>(kMultiline)
+ : c == 'y' ? base::Optional<Flag>(kSticky)
+ : c == 'u' ? base::Optional<Flag>(kUnicode)
+ : c == 's' ? base::Optional<Flag>(kDotAll)
+ : base::Optional<Flag>();
// clang-format on
}