diff --git a/mozilla/js/rhino/src/org/mozilla/javascript/ScriptableObject.java b/mozilla/js/rhino/src/org/mozilla/javascript/ScriptableObject.java index 838e9d0bb44..46ad423e2ec 100644 --- a/mozilla/js/rhino/src/org/mozilla/javascript/ScriptableObject.java +++ b/mozilla/js/rhino/src/org/mozilla/javascript/ScriptableObject.java @@ -1581,6 +1581,9 @@ public abstract class ScriptableObject implements Scriptable, Serializable, if (setter != NOT_FOUND && !(setter instanceof Callable)) { throw ScriptRuntime.notFunctionError(setter); } + if (isDataDescriptor(desc) && isAccessorDescriptor(desc)) { + throw ScriptRuntime.typeError0("msg.both.data.and.accessor.desc"); + } if (slot == null) { // new property if (!isExtensible()) throw ScriptRuntime.typeError("msg.not.extensible"); diff --git a/mozilla/js/rhino/src/org/mozilla/javascript/resources/Messages.properties b/mozilla/js/rhino/src/org/mozilla/javascript/resources/Messages.properties index 874b6094fdf..4c9b1391fd4 100644 --- a/mozilla/js/rhino/src/org/mozilla/javascript/resources/Messages.properties +++ b/mozilla/js/rhino/src/org/mozilla/javascript/resources/Messages.properties @@ -680,6 +680,9 @@ msg.modify.sealed =\ msg.modify.readonly =\ Cannot modify readonly property: {0}. +msg.both.data.and.accessor.desc =\ + Cannot be both a data and an accessor descriptor. + msg.change.configurable.false.to.true =\ Cannot change the configurable attribute of "{0}" from false to true.