Index: include/v8.h |
diff --git a/include/v8.h b/include/v8.h |
index 8e45080084d8770685e7590d06be033a8c40787a..703963aba128c7b17461b692e6befb448335d1d0 100644 |
--- a/include/v8.h |
+++ b/include/v8.h |
@@ -3191,19 +3191,21 @@ class PropertyCallbackInfo { |
V8_INLINE Local<Object> This() const; |
V8_INLINE Local<Object> Holder() const; |
V8_INLINE ReturnValue<T> GetReturnValue() const; |
+ V8_INLINE bool ShouldThrowOnError() const; |
// This shouldn't be public, but the arm compiler needs it. |
- static const int kArgsLength = 6; |
+ static const int kArgsLength = 7; |
protected: |
friend class MacroAssembler; |
friend class internal::PropertyCallbackArguments; |
friend class internal::CustomArguments<PropertyCallbackInfo>; |
- static const int kHolderIndex = 0; |
- static const int kIsolateIndex = 1; |
- static const int kReturnValueDefaultValueIndex = 2; |
- static const int kReturnValueIndex = 3; |
- static const int kDataIndex = 4; |
- static const int kThisIndex = 5; |
+ static const int kShouldThrowOnErrorIndex = 0; |
+ static const int kHolderIndex = 1; |
+ static const int kIsolateIndex = 2; |
+ static const int kReturnValueDefaultValueIndex = 3; |
+ static const int kReturnValueIndex = 4; |
+ static const int kDataIndex = 5; |
+ static const int kThisIndex = 6; |
V8_INLINE PropertyCallbackInfo(internal::Object** args) : args_(args) {} |
internal::Object** args_; |
@@ -8262,6 +8264,12 @@ ReturnValue<T> PropertyCallbackInfo<T>::GetReturnValue() const { |
return ReturnValue<T>(&args_[kReturnValueIndex]); |
} |
+template <typename T> |
+bool PropertyCallbackInfo<T>::ShouldThrowOnError() const { |
+ typedef internal::Internals I; |
+ return args_[kShouldThrowOnErrorIndex] != I::IntToSmi(0); |
+} |
+ |
Local<Primitive> Undefined(Isolate* isolate) { |
typedef internal::Object* S; |