Loading...
Searching...
No Matches
v8-regexp.h
Go to the documentation of this file.
1
2// Copyright 2021 the V8 project authors. All rights reserved.
3// Use of this source code is governed by a BSD-style license that can be
4// found in the LICENSE file.
5
6#ifndef INCLUDE_V8_REGEXP_H_
7#define INCLUDE_V8_REGEXP_H_
8
9#include "v8-local-handle.h" // NOLINT(build/include_directory)
10#include "v8-object.h" // NOLINT(build/include_directory)
11#include "v8config.h" // NOLINT(build/include_directory)
12
13namespace v8 {
14
15class Context;
16
20class V8_EXPORT RegExp : public Object {
21 public:
30 enum Flags {
31 kNone = 0,
32 kGlobal = 1 << 0,
33 kIgnoreCase = 1 << 1,
34 kMultiline = 1 << 2,
35 kSticky = 1 << 3,
36 kUnicode = 1 << 4,
37 kDotAll = 1 << 5,
38 kLinear = 1 << 6,
39 kHasIndices = 1 << 7,
40 kUnicodeSets = 1 << 8,
41 };
42
43 static constexpr int kFlagCount = 9;
44
56 Local<String> pattern,
57 Flags flags);
58
65 Local<Context> context, Local<String> pattern, Flags flags,
66 uint32_t backtrack_limit);
67
80 Local<String> subject);
81
87
91 Flags GetFlags() const;
92
93 V8_INLINE static RegExp* Cast(Value* value) {
94#ifdef V8_ENABLE_CHECKS
95 CheckCast(value);
96#endif
97 return static_cast<RegExp*>(value);
98 }
99
100 private:
101 static void CheckCast(Value* obj);
102};
103
104} // namespace v8
105
106#endif // INCLUDE_V8_REGEXP_H_
Definition: v8-local-handle.h:266
Definition: v8-local-handle.h:632
Definition: v8-object.h:233
Definition: v8-regexp.h:20
MaybeLocal< Object > Exec(Local< Context > context, Local< String > subject)
static RegExp * Cast(Value *value)
Definition: v8-regexp.h:93
Flags
Definition: v8-regexp.h:30
Local< String > GetSource() const
Flags GetFlags() const
static MaybeLocal< RegExp > New(Local< Context > context, Local< String > pattern, Flags flags)
static MaybeLocal< RegExp > NewWithBacktrackLimit(Local< Context > context, Local< String > pattern, Flags flags, uint32_t backtrack_limit)
Definition: v8-value.h:32
Definition: libplatform.h:15
#define V8_EXPORT
Definition: v8config.h:793
#define V8_INLINE
Definition: v8config.h:499
#define V8_WARN_UNUSED_RESULT
Definition: v8config.h:660