18#if !defined(DART_PRECOMPILED_RUNTIME)
26 TypeArguments::CheckedHandle(zone, arguments->NativeArgAt(0)).IsNull());
29 bool multi_line = arguments->NativeArgAt(2) ==
Bool::True().
ptr();
30 bool ignore_case = arguments->NativeArgAt(3) !=
Bool::True().
ptr();
32 bool dot_all = arguments->NativeArgAt(5) ==
Bool::True().
ptr();
36 if (ignore_case)
flags.SetIgnoreCase();
37 if (multi_line)
flags.SetMultiLine();
39 if (dot_all)
flags.SetDotAll();
50 data = thread->isolate_group()->object_store()->regexp_table();
52 regexp ^=
table.GetOrNull(lookup_key);
71 thread->isolate_group()->object_store()->regexp_table());
72 regexp ^=
table.InsertNewOrGet(lookup_symbol_key);
73 thread->isolate_group()->object_store()->set_regexp_table(
table.Release());
81 const RegExp& regexp = RegExp::CheckedHandle(zone, arguments->NativeArgAt(0));
87 const RegExp& regexp = RegExp::CheckedHandle(zone, arguments->NativeArgAt(0));
93 const RegExp& regexp = RegExp::CheckedHandle(zone, arguments->NativeArgAt(0));
99 const RegExp& regexp = RegExp::CheckedHandle(zone, arguments->NativeArgAt(0));
105 const RegExp& regexp = RegExp::CheckedHandle(zone, arguments->NativeArgAt(0));
111 const RegExp& regexp = RegExp::CheckedHandle(zone, arguments->NativeArgAt(0));
127 const RegExp& regexp = RegExp::CheckedHandle(zone, arguments->NativeArgAt(0));
134 String::New(
"Regular expression is not initialized yet. "));
163#if !defined(DART_PRECOMPILED_RUNTIME)
164 if (!FLAG_interpret_irregexp) {
static ArrayPtr New(intptr_t len, Heap::Space space=Heap::kNew)
static const Bool & Get(bool value)
static const Bool & True()
static ObjectPtr Interpret(const RegExp ®exp, const String &str, const Smi &start_index, bool is_sticky, Zone *zone)
static DART_NORETURN void ThrowByType(ExceptionType type, const Array &arguments)
static DART_NORETURN void ThrowRangeError(const char *argument_name, const Integer &argument_value, intptr_t expected_from, intptr_t expected_to)
static ArrayPtr Execute(const RegExp ®exp, const String &input, const Smi &start_offset, bool sticky, Zone *zone)
static IntegerPtr New(const String &str, Heap::Space space=Heap::kNew)
ObjectPtr NativeArgAt(int index) const
static void ParseRegExp(const String &input, RegExpFlags regexp_flags, RegExpCompileData *result)
StringPtr pattern() const
bool is_initialized() const
ArrayPtr capture_name_map() const
intptr_t num_bracket_expressions() const
RegExpFlags flags() const
static SmiPtr New(intptr_t value)
static StringPtr New(const char *cstr, Heap::Space space=Heap::kNew)
static StringPtr Concat(const String &str1, const String &str2, Heap::Space space=Heap::kNew)
static StringPtr New(Thread *thread, const char *cstr)
static bool IsInt(intptr_t N, T value)
FlutterSemanticsFlag flags
G_BEGIN_DECLS G_MODULE_EXPORT FlValue * args
constexpr int32_t kMinInt32
static ObjectPtr ExecuteMatch(Zone *zone, NativeArguments *arguments, bool sticky)
constexpr int32_t kMaxInt32
DEFINE_NATIVE_ENTRY(List_allocate, 0, 2)
static int8_t data[kExtLength]
#define GET_NON_NULL_NATIVE_ARGUMENT(type, name, value)
#define REUSABLE_SMI_HANDLESCOPE(thread)
#define REUSABLE_WEAK_ARRAY_HANDLESCOPE(thread)
#define REUSABLE_OBJECT_HANDLESCOPE(thread)