Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
| 6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
| 7 | 7 |
| 8 #include <iosfwd> | 8 #include <iosfwd> |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 9311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 9322 // character or string equality and collating order defined in the Unicode | 9322 // character or string equality and collating order defined in the Unicode |
| 9323 // specification. Therefore String values that are canonically equal according | 9323 // specification. Therefore String values that are canonically equal according |
| 9324 // to the Unicode standard could test as unequal. In effect this algorithm | 9324 // to the Unicode standard could test as unequal. In effect this algorithm |
| 9325 // assumes that both Strings are already in normalized form. Also, note that | 9325 // assumes that both Strings are already in normalized form. Also, note that |
| 9326 // for strings containing supplementary characters, lexicographic ordering on | 9326 // for strings containing supplementary characters, lexicographic ordering on |
| 9327 // sequences of UTF-16 code unit values differs from that on sequences of code | 9327 // sequences of UTF-16 code unit values differs from that on sequences of code |
| 9328 // point values. | 9328 // point values. |
| 9329 MUST_USE_RESULT static ComparisonResult Compare(Handle<String> x, | 9329 MUST_USE_RESULT static ComparisonResult Compare(Handle<String> x, |
| 9330 Handle<String> y); | 9330 Handle<String> y); |
| 9331 | 9331 |
| 9332 // Perform ES6 21.1.3.8, including checking arguments. | |
| 9333 static Object* IndexOf(Isolate* isolate, Handle<Object> receiver, | |
| 9334 Handle<Object> search, | |
| 9335 Handle<Object> position); | |
| 9332 // Perform string match of pattern on subject, starting at start index. | 9336 // Perform string match of pattern on subject, starting at start index. |
| 9333 // Caller must ensure that 0 <= start_index <= sub->length(). | 9337 // Caller must ensure that 0 <= start_index <= sub->length(), as this does not |
| 9334 static int IndexOf(Isolate* isolate, Handle<String> sub, Handle<String> pat, | 9338 // check any arguments. |
| 9335 int start_index); | 9339 static int IndexOf(Isolate* isolate, Handle<String> receiver, |
|
Franzi
2016/09/23 11:37:00
Is the inner function only used inside Object* Ind
| |
| 9340 Handle<String> search, int start_index); | |
| 9336 | 9341 |
| 9337 static Object* LastIndexOf(Isolate* isolate, Handle<Object> receiver, | 9342 static Object* LastIndexOf(Isolate* isolate, Handle<Object> receiver, |
| 9338 Handle<Object> search, Handle<Object> position); | 9343 Handle<Object> search, Handle<Object> position); |
| 9339 | 9344 |
| 9340 // String equality operations. | 9345 // String equality operations. |
| 9341 inline bool Equals(String* other); | 9346 inline bool Equals(String* other); |
| 9342 inline static bool Equals(Handle<String> one, Handle<String> two); | 9347 inline static bool Equals(Handle<String> one, Handle<String> two); |
| 9343 bool IsUtf8EqualTo(Vector<const char> str, bool allow_prefix_match = false); | 9348 bool IsUtf8EqualTo(Vector<const char> str, bool allow_prefix_match = false); |
| 9344 bool IsOneByteEqualTo(Vector<const uint8_t> str); | 9349 bool IsOneByteEqualTo(Vector<const uint8_t> str); |
| 9345 bool IsTwoByteEqualTo(Vector<const uc16> str); | 9350 bool IsTwoByteEqualTo(Vector<const uc16> str); |
| (...skipping 1965 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 11311 } | 11316 } |
| 11312 return value; | 11317 return value; |
| 11313 } | 11318 } |
| 11314 }; | 11319 }; |
| 11315 | 11320 |
| 11316 | 11321 |
| 11317 } // NOLINT, false-positive due to second-order macros. | 11322 } // NOLINT, false-positive due to second-order macros. |
| 11318 } // NOLINT, false-positive due to second-order macros. | 11323 } // NOLINT, false-positive due to second-order macros. |
| 11319 | 11324 |
| 11320 #endif // V8_OBJECTS_H_ | 11325 #endif // V8_OBJECTS_H_ |
| OLD | NEW |