OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_REGEXP_JSREGEXP_H_ | 5 #ifndef V8_REGEXP_JSREGEXP_H_ |
6 #define V8_REGEXP_JSREGEXP_H_ | 6 #define V8_REGEXP_JSREGEXP_H_ |
7 | 7 |
8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
9 #include "src/assembler.h" | 9 #include "src/assembler.h" |
10 #include "src/regexp/regexp-ast.h" | 10 #include "src/regexp/regexp-ast.h" |
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
261 // A mapping from integers, specified as ranges, to a set of integers. | 261 // A mapping from integers, specified as ranges, to a set of integers. |
262 // Used for mapping character ranges to choices. | 262 // Used for mapping character ranges to choices. |
263 class DispatchTable : public ZoneObject { | 263 class DispatchTable : public ZoneObject { |
264 public: | 264 public: |
265 explicit DispatchTable(Zone* zone) : tree_(zone) { } | 265 explicit DispatchTable(Zone* zone) : tree_(zone) { } |
266 | 266 |
267 class Entry { | 267 class Entry { |
268 public: | 268 public: |
269 Entry() : from_(0), to_(0), out_set_(NULL) { } | 269 Entry() : from_(0), to_(0), out_set_(NULL) { } |
270 Entry(uc32 from, uc32 to, OutSet* out_set) | 270 Entry(uc32 from, uc32 to, OutSet* out_set) |
271 : from_(from), to_(to), out_set_(out_set) {} | 271 : from_(from), to_(to), out_set_(out_set) { |
| 272 DCHECK(from <= to); |
| 273 } |
272 uc32 from() { return from_; } | 274 uc32 from() { return from_; } |
273 uc32 to() { return to_; } | 275 uc32 to() { return to_; } |
274 void set_to(uc32 value) { to_ = value; } | 276 void set_to(uc32 value) { to_ = value; } |
275 void AddValue(int value, Zone* zone) { | 277 void AddValue(int value, Zone* zone) { |
276 out_set_ = out_set_->Extend(value, zone); | 278 out_set_ = out_set_->Extend(value, zone); |
277 } | 279 } |
278 OutSet* out_set() { return out_set_; } | 280 OutSet* out_set() { return out_set_; } |
279 private: | 281 private: |
280 uc32 from_; | 282 uc32 from_; |
281 uc32 to_; | 283 uc32 to_; |
(...skipping 1299 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1581 static const int kStringOffset = 0; | 1583 static const int kStringOffset = 0; |
1582 static const int kPatternOffset = 1; | 1584 static const int kPatternOffset = 1; |
1583 static const int kArrayOffset = 2; | 1585 static const int kArrayOffset = 2; |
1584 static const int kLastMatchOffset = 3; | 1586 static const int kLastMatchOffset = 3; |
1585 }; | 1587 }; |
1586 | 1588 |
1587 } // namespace internal | 1589 } // namespace internal |
1588 } // namespace v8 | 1590 } // namespace v8 |
1589 | 1591 |
1590 #endif // V8_REGEXP_JSREGEXP_H_ | 1592 #endif // V8_REGEXP_JSREGEXP_H_ |
OLD | NEW |