OLD | NEW |
1 // Copyright 2016 the V8 project authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_INSPECTOR_V8REGEX_H_ | 5 #ifndef V8_INSPECTOR_V8REGEX_H_ |
6 #define V8_INSPECTOR_V8REGEX_H_ | 6 #define V8_INSPECTOR_V8REGEX_H_ |
7 | 7 |
8 #include "src/base/macros.h" | 8 #include "src/base/macros.h" |
9 #include "src/inspector/string-16.h" | 9 #include "src/inspector/string-16.h" |
10 | 10 |
11 #include "include/v8.h" | 11 #include "include/v8.h" |
12 | 12 |
13 namespace v8_inspector { | 13 namespace v8_inspector { |
14 | 14 |
15 class V8InspectorImpl; | 15 class V8InspectorImpl; |
16 | 16 |
17 enum MultilineMode { MultilineDisabled, MultilineEnabled }; | 17 enum MultilineMode { MultilineDisabled, MultilineEnabled }; |
18 | 18 |
19 class V8Regex { | 19 class V8Regex { |
20 DISALLOW_COPY_AND_ASSIGN(V8Regex); | |
21 | |
22 public: | 20 public: |
23 V8Regex(V8InspectorImpl*, const String16&, bool caseSensitive, | 21 V8Regex(V8InspectorImpl*, const String16&, bool caseSensitive, |
24 bool multiline = false); | 22 bool multiline = false); |
25 int match(const String16&, int startFrom = 0, int* matchLength = 0) const; | 23 int match(const String16&, int startFrom = 0, int* matchLength = 0) const; |
26 bool isValid() const { return !m_regex.IsEmpty(); } | 24 bool isValid() const { return !m_regex.IsEmpty(); } |
27 const String16& errorMessage() const { return m_errorMessage; } | 25 const String16& errorMessage() const { return m_errorMessage; } |
28 | 26 |
29 private: | 27 private: |
30 V8InspectorImpl* m_inspector; | 28 V8InspectorImpl* m_inspector; |
31 v8::Global<v8::RegExp> m_regex; | 29 v8::Global<v8::RegExp> m_regex; |
32 String16 m_errorMessage; | 30 String16 m_errorMessage; |
| 31 |
| 32 DISALLOW_COPY_AND_ASSIGN(V8Regex); |
33 }; | 33 }; |
34 | 34 |
35 } // namespace v8_inspector | 35 } // namespace v8_inspector |
36 | 36 |
37 #endif // V8_INSPECTOR_V8REGEX_H_ | 37 #endif // V8_INSPECTOR_V8REGEX_H_ |
OLD | NEW |