| 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_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 | 9 |
| 10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
| (...skipping 9504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9515 | 9515 |
| 9516 // ES6 9.5.5 | 9516 // ES6 9.5.5 |
| 9517 static bool GetOwnPropertyDescriptor(LookupIterator* it, | 9517 static bool GetOwnPropertyDescriptor(LookupIterator* it, |
| 9518 PropertyDescriptor* desc); | 9518 PropertyDescriptor* desc); |
| 9519 | 9519 |
| 9520 // ES6 9.5.6 | 9520 // ES6 9.5.6 |
| 9521 static bool DefineOwnProperty(Isolate* isolate, Handle<JSProxy> object, | 9521 static bool DefineOwnProperty(Isolate* isolate, Handle<JSProxy> object, |
| 9522 Handle<Object> key, PropertyDescriptor* desc, | 9522 Handle<Object> key, PropertyDescriptor* desc, |
| 9523 ShouldThrow should_throw); | 9523 ShouldThrow should_throw); |
| 9524 | 9524 |
| 9525 // ES6 9.5.7 |
| 9526 MUST_USE_RESULT static Maybe<bool> HasProperty(Isolate* isolate, |
| 9527 Handle<JSProxy> proxy, |
| 9528 Handle<Name> name); |
| 9529 |
| 9525 // ES6 9.5.10 (when passed SLOPPY) | 9530 // ES6 9.5.10 (when passed SLOPPY) |
| 9526 MUST_USE_RESULT static Maybe<bool> DeletePropertyOrElement( | 9531 MUST_USE_RESULT static Maybe<bool> DeletePropertyOrElement( |
| 9527 Handle<JSProxy> proxy, Handle<Name> name, LanguageMode language_mode); | 9532 Handle<JSProxy> proxy, Handle<Name> name, LanguageMode language_mode); |
| 9528 | 9533 |
| 9529 // ES6 9.5.11 | 9534 // ES6 9.5.11 |
| 9530 static bool Enumerate(Isolate* isolate, Handle<JSReceiver> receiver, | 9535 static bool Enumerate(Isolate* isolate, Handle<JSReceiver> receiver, |
| 9531 Handle<JSProxy> proxy, KeyAccumulator* accumulator); | 9536 Handle<JSProxy> proxy, KeyAccumulator* accumulator); |
| 9532 | 9537 |
| 9533 // ES6 9.5.12 | 9538 // ES6 9.5.12 |
| 9534 static bool OwnPropertyKeys(Isolate* isolate, Handle<JSReceiver> receiver, | 9539 static bool OwnPropertyKeys(Isolate* isolate, Handle<JSReceiver> receiver, |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9581 | 9586 |
| 9582 MUST_USE_RESULT static MaybeHandle<Object> GetTrap(Handle<JSProxy> proxy, | 9587 MUST_USE_RESULT static MaybeHandle<Object> GetTrap(Handle<JSProxy> proxy, |
| 9583 Handle<String> trap); | 9588 Handle<String> trap); |
| 9584 | 9589 |
| 9585 // Invoke a trap by name. If the trap does not exist on this's handler, | 9590 // Invoke a trap by name. If the trap does not exist on this's handler, |
| 9586 // but derived_trap is non-NULL, invoke that instead. May cause GC. | 9591 // but derived_trap is non-NULL, invoke that instead. May cause GC. |
| 9587 MUST_USE_RESULT static MaybeHandle<Object> CallTrap( | 9592 MUST_USE_RESULT static MaybeHandle<Object> CallTrap( |
| 9588 Handle<JSProxy> proxy, const char* name, Handle<Object> derived_trap, | 9593 Handle<JSProxy> proxy, const char* name, Handle<Object> derived_trap, |
| 9589 int argc, Handle<Object> args[]); | 9594 int argc, Handle<Object> args[]); |
| 9590 | 9595 |
| 9591 MUST_USE_RESULT static Maybe<bool> HasPropertyWithHandler( | |
| 9592 Handle<JSProxy> proxy, Handle<Name> name); | |
| 9593 | |
| 9594 DISALLOW_IMPLICIT_CONSTRUCTORS(JSProxy); | 9596 DISALLOW_IMPLICIT_CONSTRUCTORS(JSProxy); |
| 9595 }; | 9597 }; |
| 9596 | 9598 |
| 9597 | 9599 |
| 9598 class JSFunctionProxy: public JSProxy { | 9600 class JSFunctionProxy: public JSProxy { |
| 9599 public: | 9601 public: |
| 9600 // [call_trap]: The call trap. | 9602 // [call_trap]: The call trap. |
| 9601 DECL_ACCESSORS(call_trap, JSReceiver) | 9603 DECL_ACCESSORS(call_trap, JSReceiver) |
| 9602 | 9604 |
| 9603 // [construct_trap]: The construct trap. | 9605 // [construct_trap]: The construct trap. |
| (...skipping 1112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10716 } | 10718 } |
| 10717 return value; | 10719 return value; |
| 10718 } | 10720 } |
| 10719 }; | 10721 }; |
| 10720 | 10722 |
| 10721 | 10723 |
| 10722 } // NOLINT, false-positive due to second-order macros. | 10724 } // NOLINT, false-positive due to second-order macros. |
| 10723 } // NOLINT, false-positive due to second-order macros. | 10725 } // NOLINT, false-positive due to second-order macros. |
| 10724 | 10726 |
| 10725 #endif // V8_OBJECTS_H_ | 10727 #endif // V8_OBJECTS_H_ |
| OLD | NEW |