Index: src/v8natives.js |
=================================================================== |
--- src/v8natives.js (revision 6761) |
+++ src/v8natives.js (working copy) |
@@ -586,17 +586,20 @@ |
// Step 7 |
if (desc.isConfigurable() || |
(desc.hasEnumerable() && |
- desc.isEnumerable() != current.isEnumerable())) |
+ desc.isEnumerable() != current.isEnumerable())) { |
throw MakeTypeError("redefine_disallowed", ["defineProperty"]); |
+ } |
// Step 8 |
if (!IsGenericDescriptor(desc)) { |
// Step 9a |
- if (IsDataDescriptor(current) != IsDataDescriptor(desc)) |
+ if (IsDataDescriptor(current) != IsDataDescriptor(desc)) { |
throw MakeTypeError("redefine_disallowed", ["defineProperty"]); |
+ } |
// Step 10a |
if (IsDataDescriptor(current) && IsDataDescriptor(desc)) { |
- if (!current.isWritable() && desc.isWritable()) |
+ if (!current.isWritable() && desc.isWritable()) { |
throw MakeTypeError("redefine_disallowed", ["defineProperty"]); |
+ } |
if (!current.isWritable() && desc.hasValue() && |
!SameValue(desc.getValue(), current.getValue())) { |
throw MakeTypeError("redefine_disallowed", ["defineProperty"]); |
@@ -604,11 +607,12 @@ |
} |
// Step 11 |
if (IsAccessorDescriptor(desc) && IsAccessorDescriptor(current)) { |
- if (desc.hasSetter() && !SameValue(desc.getSet(), current.getSet())){ |
+ if (desc.hasSetter() && !SameValue(desc.getSet(), current.getSet())) { |
throw MakeTypeError("redefine_disallowed", ["defineProperty"]); |
} |
- if (desc.hasGetter() && !SameValue(desc.getGet(),current.getGet())) |
+ if (desc.hasGetter() && !SameValue(desc.getGet(),current.getGet())) { |
throw MakeTypeError("redefine_disallowed", ["defineProperty"]); |
+ } |
} |
} |
} |