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_JSON_STRINGIFIER_H_ | 5 #ifndef V8_JSON_STRINGIFIER_H_ |
6 #define V8_JSON_STRINGIFIER_H_ | 6 #define V8_JSON_STRINGIFIER_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/conversions.h" | 10 #include "src/conversions.h" |
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
332 | 332 |
333 | 333 |
334 template <bool is_ascii, typename Char> | 334 template <bool is_ascii, typename Char> |
335 void BasicJsonStringifier::Append_(const Char* chars) { | 335 void BasicJsonStringifier::Append_(const Char* chars) { |
336 for ( ; *chars != '\0'; chars++) Append_<is_ascii, Char>(*chars); | 336 for ( ; *chars != '\0'; chars++) Append_<is_ascii, Char>(*chars); |
337 } | 337 } |
338 | 338 |
339 | 339 |
340 MaybeHandle<Object> BasicJsonStringifier::ApplyToJsonFunction( | 340 MaybeHandle<Object> BasicJsonStringifier::ApplyToJsonFunction( |
341 Handle<Object> object, Handle<Object> key) { | 341 Handle<Object> object, Handle<Object> key) { |
342 LookupIterator it(object, tojson_string_, LookupIterator::SKIP_INTERCEPTOR); | 342 LookupIterator it(object, tojson_string_, |
| 343 LookupIterator::CHECK_DERIVED_SKIP_INTERCEPTOR); |
343 Handle<Object> fun; | 344 Handle<Object> fun; |
344 ASSIGN_RETURN_ON_EXCEPTION(isolate_, fun, Object::GetProperty(&it), Object); | 345 ASSIGN_RETURN_ON_EXCEPTION(isolate_, fun, Object::GetProperty(&it), Object); |
345 if (!fun->IsJSFunction()) return object; | 346 if (!fun->IsJSFunction()) return object; |
346 | 347 |
347 // Call toJSON function. | 348 // Call toJSON function. |
348 if (key->IsSmi()) key = factory_->NumberToString(key); | 349 if (key->IsSmi()) key = factory_->NumberToString(key); |
349 Handle<Object> argv[] = { key }; | 350 Handle<Object> argv[] = { key }; |
350 HandleScope scope(isolate_); | 351 HandleScope scope(isolate_); |
351 ASSIGN_RETURN_ON_EXCEPTION( | 352 ASSIGN_RETURN_ON_EXCEPTION( |
352 isolate_, object, | 353 isolate_, object, |
(...skipping 515 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
868 SerializeString_<false, uint8_t>(object); | 869 SerializeString_<false, uint8_t>(object); |
869 } else { | 870 } else { |
870 SerializeString_<false, uc16>(object); | 871 SerializeString_<false, uc16>(object); |
871 } | 872 } |
872 } | 873 } |
873 } | 874 } |
874 | 875 |
875 } } // namespace v8::internal | 876 } } // namespace v8::internal |
876 | 877 |
877 #endif // V8_JSON_STRINGIFIER_H_ | 878 #endif // V8_JSON_STRINGIFIER_H_ |
OLD | NEW |