regexp-parser.h (1101B)
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_PARSER_H_ 6 #define V8_REGEXP_REGEXP_PARSER_H_ 7 8 #include "irregexp/RegExpShim.h" 9 10 namespace v8 { 11 namespace internal { 12 13 class String; 14 class Zone; 15 16 struct RegExpCompileData; 17 18 class V8_EXPORT_PRIVATE RegExpParser : public AllStatic { 19 public: 20 static bool ParseRegExpFromHeapString(Isolate* isolate, Zone* zone, 21 DirectHandle<String> input, 22 RegExpFlags flags, 23 RegExpCompileData* result); 24 25 template <class CharT> 26 static bool VerifyRegExpSyntax(Zone* zone, uintptr_t stack_limit, 27 const CharT* input, int input_length, 28 RegExpFlags flags, RegExpCompileData* result, 29 const DisallowGarbageCollection& no_gc); 30 }; 31 32 } // namespace internal 33 } // namespace v8 34 35 #endif // V8_REGEXP_REGEXP_PARSER_H_