V8 API Reference, 7.2.502.16 (for Deno 0.2.4)
regexp-utils.h
1
// Copyright 2016 the V8 project authors. All rights reserved.
2
// Use of this source code is governed by a BSD-style license that can be
3
// found in the LICENSE file.
4
5
#ifndef V8_REGEXP_REGEXP_UTILS_H_
6
#define V8_REGEXP_REGEXP_UTILS_H_
7
8
#include "src/objects.h"
9
10
namespace
v8
{
11
namespace
internal {
12
13
class
RegExpMatchInfo;
14
15
// Helper methods for C++ regexp builtins.
16
class
RegExpUtils
:
public
AllStatic
{
17
public
:
18
// Last match info accessors.
19
static
Handle<String>
GenericCaptureGetter(
Isolate
* isolate,
20
Handle<RegExpMatchInfo>
match_info,
21
int
capture,
bool
* ok =
nullptr
);
22
23
// Last index (RegExp.lastIndex) accessors.
24
static
V8_WARN_UNUSED_RESULT
MaybeHandle<Object>
SetLastIndex(
25
Isolate
* isolate,
Handle<JSReceiver>
regexp, uint64_t value);
26
static
V8_WARN_UNUSED_RESULT
MaybeHandle<Object>
GetLastIndex(
27
Isolate
* isolate,
Handle<JSReceiver>
recv);
28
29
// ES#sec-regexpexec Runtime Semantics: RegExpExec ( R, S )
30
static
V8_WARN_UNUSED_RESULT
MaybeHandle<Object>
RegExpExec(
31
Isolate
* isolate,
Handle<JSReceiver>
regexp,
Handle<String>
string
,
32
Handle<Object>
exec);
33
34
// ES#sec-isregexp IsRegExp ( argument )
35
// Includes checking of the match property.
36
static
Maybe<bool>
IsRegExp(
Isolate
* isolate,
Handle<Object>
object
);
37
38
// Checks whether the given object is an unmodified JSRegExp instance.
39
// Neither the object's map, nor its prototype's map, nor any relevant
40
// method on the prototype may be modified.
41
static
bool
IsUnmodifiedRegExp(
Isolate
* isolate,
Handle<Object>
obj);
42
43
// ES#sec-advancestringindex
44
// AdvanceStringIndex ( S, index, unicode )
45
static
uint64_t AdvanceStringIndex(
Handle<String>
string
, uint64_t index,
46
bool
unicode);
47
static
V8_WARN_UNUSED_RESULT
MaybeHandle<Object>
SetAdvancedStringIndex(
48
Isolate
* isolate,
Handle<JSReceiver>
regexp,
Handle<String>
string
,
49
bool
unicode);
50
};
51
52
}
// namespace internal
53
}
// namespace v8
54
55
#endif // V8_REGEXP_REGEXP_UTILS_H_
v8::internal::RegExpUtils
Definition:
regexp-utils.h:16
v8::Maybe
Definition:
v8.h:56
v8
Definition:
libplatform.h:13
v8::internal::Handle< String >
v8::internal::MaybeHandle
Definition:
globals.h:561
v8::internal::AllStatic
Definition:
globals.h:92
v8::internal::Isolate
Definition:
isolate.h:516
v8
src
regexp
regexp-utils.h
Generated on Tue Dec 25 2018 14:39:44 by
1.8.14