Lines Matching full:desc
273 var desc = GetOwnProperty(this, P);
274 return IS_UNDEFINED(desc) ? false : desc.isEnumerable();
290 var desc = new PropertyDescriptor();
291 desc.setGet(fun);
292 desc.setEnumerable(true);
293 desc.setConfigurable(true);
294 DefineOwnProperty(ToObject(receiver), ToString(name), desc, false);
316 var desc = new PropertyDescriptor();
317 desc.setSet(fun);
318 desc.setEnumerable(true);
319 desc.setConfigurable(true);
320 DefineOwnProperty(ToObject(receiver), ToString(name), desc, false);
347 function IsAccessorDescriptor(desc) {
348 if (IS_UNDEFINED(desc)) return false;
349 return desc.hasGetter() || desc.hasSetter();
354 function IsDataDescriptor(desc) {
355 if (IS_UNDEFINED(desc)) return false;
356 return desc.hasValue() || desc.hasWritable();
361 function IsGenericDescriptor(desc) {
362 if (IS_UNDEFINED(desc)) return false;
363 return !(IsAccessorDescriptor(desc) || IsDataDescriptor(desc));
367 function IsInconsistentDescriptor(desc) {
368 return IsAccessorDescriptor(desc) && IsDataDescriptor(desc);
373 function FromPropertyDescriptor(desc) {
374 if (IS_UNDEFINED(desc)) return desc;
376 if (IsDataDescriptor(desc)) {
377 return { value: desc.getValue(),
378 writable: desc.isWritable(),
379 enumerable: desc.isEnumerable(),
380 configurable: desc.isConfigurable() };
383 return { get: desc.getGet(),
384 set: desc.getSet(),
385 enumerable: desc.isEnumerable(),
386 configurable: desc.isConfigurable() };
391 function FromGenericPropertyDescriptor(desc) {
392 if (IS_UNDEFINED(desc)) return desc;
395 if (desc.hasValue()) {
396 %IgnoreAttributesAndSetProperty(obj, "value", desc.getValue(), NONE);
398 if (desc.hasWritable()) {
399 %IgnoreAttributesAndSetProperty(obj, "writable", desc.isWritable(), NONE);
401 if (desc.hasGetter()) {
402 %IgnoreAttributesAndSetProperty(obj, "get", desc.getGet(), NONE);
404 if (desc.hasSetter()) {
405 %IgnoreAttributesAndSetProperty(obj, "set", desc.getSet(), NONE);
407 if (desc.hasEnumerable()) {
409 desc.isEnumerable(), NONE);
411 if (desc.hasConfigurable()) {
413 desc.isConfigurable(), NONE);
424 var desc = new PropertyDescriptor();
427 desc.setEnumerable(ToBoolean(obj.enumerable));
431 desc.setConfigurable(ToBoolean(obj.configurable));
435 desc.setValue(obj.value);
439 desc.setWritable(ToBoolean(obj.writable));
447 desc.setGet(get);
455 desc.setSet(set);
458 if (IsInconsistentDescriptor(desc)) {
461 return desc;
467 var desc = ToPropertyDescriptor(obj);
468 if (IsGenericDescriptor(desc) || IsDataDescriptor(desc)) {
469 if (!desc.hasValue()) desc.setValue(void 0);
470 if (!desc.hasWritable()) desc.setWritable(false);
473 if (!desc.hasGetter()) desc.setGet(void 0);
474 if (!desc.hasSetter()) desc.setSet(void 0);
476 if (!desc.hasEnumerable()) desc.setEnumerable(false);
477 if (!desc.hasConfigurable()) desc.setConfigurable(false);
478 return desc;
590 var desc = new PropertyDescriptor();
593 desc.setGet(desc_array[GETTER_INDEX]);
594 desc.setSet(desc_array[SETTER_INDEX]);
596 desc.setValue(desc_array[VALUE_INDEX]);
597 desc.setWritable(desc_array[WRITABLE_INDEX]);
599 desc.setEnumerable(desc_array[ENUMERABLE_INDEX]);
600 desc.setConfigurable(desc_array[CONFIGURABLE_INDEX]);
602 return desc;
643 var desc = ToCompletePropertyDescriptor(descriptor);
644 if (!desc.isConfigurable()) {
648 return desc;
665 var desc = GetOwnProperty(obj, p);
666 if (IS_UNDEFINED(desc)) return true;
667 if (desc.isConfigurable()) {
695 function DefineObjectProperty(obj, p, desc, should_throw) {
715 if ((IsGenericDescriptor(desc) ||
716 IsDataDescriptor(desc) == IsDataDescriptor(current)) &&
717 (!desc.hasEnumerable() ||
718 SameValue(desc.isEnumerable(), current.isEnumerable())) &&
719 (!desc.hasConfigurable() ||
720 SameValue(desc.isConfigurable(), current.isConfigurable())) &&
721 (!desc.hasWritable() ||
722 SameValue(desc.isWritable(), current.isWritable())) &&
723 (!desc.hasValue() ||
724 SameValue(desc.getValue(), current.getValue())) &&
725 (!desc.hasGetter() ||
726 SameValue(desc.getGet(), current.getGet())) &&
727 (!desc.hasSetter() ||
728 SameValue(desc.getSet(), current.getSet()))) {
733 if (desc.isConfigurable() ||
734 (desc.hasEnumerable() &&
735 desc.isEnumerable() != current.isEnumerable())) {
743 if (!IsGenericDescriptor(desc)) {
745 if (IsDataDescriptor(current) != IsDataDescriptor(desc)) {
753 if (IsDataDescriptor(current) && IsDataDescriptor(desc)) {
754 if (!current.isWritable() && desc.isWritable()) {
761 if (!current.isWritable() && desc.hasValue() &&
762 !SameValue(desc.getValue(), current.getValue())) {
771 if (IsAccessorDescriptor(desc) && IsAccessorDescriptor(current)) {
772 if (desc.hasSetter() && !SameValue(desc.getSet(), current.getSet())) {
779 if (desc.hasGetter() && !SameValue(desc.getGet(),current.getGet())) {
794 // desc (we need to preserve the existing values from current).
796 if (desc.hasEnumerable()) {
797 flag |= desc.isEnumerable() ? 0 : DONT_ENUM;
804 if (desc.hasConfigurable()) {
805 flag |= desc.isConfigurable() ? 0 : DONT_DELETE;
811 if (IsDataDescriptor(desc) ||
812 (IsGenericDescriptor(desc) &&
821 if (desc.hasWritable()) {
822 flag |= desc.isWritable() ? 0 : READ_ONLY;
830 if (desc.hasValue()) {
831 value = desc.getValue();
844 var getter = desc.hasGetter() ? desc.getGet() : null;
845 var setter = desc.hasSetter() ? desc.getSet() : null;
853 function DefineArrayProperty(obj, p, desc, should_throw) {
861 if (!desc.hasValue()) {
862 return DefineObjectProperty(obj, "length", desc, should_throw);
864 var new_length = ToUint32(desc.getValue());
865 if (new_length != ToNumber(desc.getValue())) {
887 desc.value_ = void 0;
888 desc.hasValue_ = false;
889 if (!DefineObjectProperty(obj, "length", desc, should_throw) || threw) {
905 !DefineObjectProperty(obj, p, desc, true)) {
919 return DefineObjectProperty(obj, p, desc, should_throw);
924 function DefineOwnProperty(obj, p, desc, should_throw) {
926 var attributes = FromGenericPropertyDescriptor(desc);
929 return DefineArrayProperty(obj, p, desc, should_throw);
931 return DefineObjectProperty(obj, p, desc, should_throw);
951 var desc = GetOwnProperty(obj, p);
952 return FromPropertyDescriptor(desc);
1067 var defineObj = FromGenericPropertyDescriptor(desc);
1080 desc = descObj;
1083 var desc = ToPropertyDescriptor(attributes);
1084 DefineOwnProperty(obj, name, desc, true);
1159 var desc = GetOwnProperty(obj, name);
1160 if (desc.isConfigurable()) {
1161 desc.setConfigurable(false);
1162 DefineOwnProperty(obj, name, desc, true);
1181 var desc = GetOwnProperty(obj, name);
1182 if (desc.isWritable() || desc.isConfigurable()) {
1183 if (IsDataDescriptor(desc)) desc.setWritable(false);
1184 desc.setConfigurable(false);
1185 DefineOwnProperty(obj, name, desc, true);
1217 var desc = GetOwnProperty(obj, name);
1218 if (desc.isConfigurable()) return false;
1238 var desc = GetOwnProperty(obj, name);
1239 if (IsDataDescriptor(desc) && desc.isWritable()) return false;
1240 if (desc.isConfigurable()) return false;