Lines Matching refs:desc

267     var desc = GetOwnPropertyJS(this, P);
268 return IS_UNDEFINED(desc) ? false : desc.isEnumerable();
284 var desc = new PropertyDescriptor();
285 desc.setGet(fun);
286 desc.setEnumerable(true);
287 desc.setConfigurable(true);
288 DefineOwnProperty(ToObject(receiver), ToName(name), desc, false);
310 var desc = new PropertyDescriptor();
311 desc.setSet(fun);
312 desc.setEnumerable(true);
313 desc.setConfigurable(true);
314 DefineOwnProperty(ToObject(receiver), ToName(name), desc, false);
341 function IsAccessorDescriptor(desc) { argument
342 if (IS_UNDEFINED(desc)) return false;
343 return desc.hasGetter() || desc.hasSetter();
348 function IsDataDescriptor(desc) { argument
349 if (IS_UNDEFINED(desc)) return false;
350 return desc.hasValue() || desc.hasWritable();
355 function IsGenericDescriptor(desc) { argument
356 if (IS_UNDEFINED(desc)) return false;
357 return !(IsAccessorDescriptor(desc) || IsDataDescriptor(desc));
361 function IsInconsistentDescriptor(desc) { argument
362 return IsAccessorDescriptor(desc) && IsDataDescriptor(desc);
367 function FromPropertyDescriptor(desc) { argument
368 if (IS_UNDEFINED(desc)) return desc;
370 if (IsDataDescriptor(desc)) {
371 return { value: desc.getValue(),
372 writable: desc.isWritable(),
373 enumerable: desc.isEnumerable(),
374 configurable: desc.isConfigurable() };
377 return { get: desc.getGet(),
378 set: desc.getSet(),
379 enumerable: desc.isEnumerable(),
380 configurable: desc.isConfigurable() };
385 function FromGenericPropertyDescriptor(desc) { argument
386 if (IS_UNDEFINED(desc)) return desc;
389 if (desc.hasValue()) {
390 %AddNamedProperty(obj, "value", desc.getValue(), NONE);
392 if (desc.hasWritable()) {
393 %AddNamedProperty(obj, "writable", desc.isWritable(), NONE);
395 if (desc.hasGetter()) {
396 %AddNamedProperty(obj, "get", desc.getGet(), NONE);
398 if (desc.hasSetter()) {
399 %AddNamedProperty(obj, "set", desc.getSet(), NONE);
401 if (desc.hasEnumerable()) {
402 %AddNamedProperty(obj, "enumerable", desc.isEnumerable(), NONE);
404 if (desc.hasConfigurable()) {
405 %AddNamedProperty(obj, "configurable", desc.isConfigurable(), NONE);
416 var desc = new PropertyDescriptor();
419 desc.setEnumerable(ToBoolean(obj.enumerable));
423 desc.setConfigurable(ToBoolean(obj.configurable));
427 desc.setValue(obj.value);
431 desc.setWritable(ToBoolean(obj.writable));
439 desc.setGet(get);
447 desc.setSet(set);
450 if (IsInconsistentDescriptor(desc)) {
453 return desc;
459 var desc = ToPropertyDescriptor(obj);
460 if (IsGenericDescriptor(desc) || IsDataDescriptor(desc)) {
461 if (!desc.hasValue()) desc.setValue(UNDEFINED);
462 if (!desc.hasWritable()) desc.setWritable(false);
465 if (!desc.hasGetter()) desc.setGet(UNDEFINED);
466 if (!desc.hasSetter()) desc.setSet(UNDEFINED);
468 if (!desc.hasEnumerable()) desc.setEnumerable(false);
469 if (!desc.hasConfigurable()) desc.setConfigurable(false);
470 return desc;
578 var desc = new PropertyDescriptor();
581 desc.setGet(desc_array[GETTER_INDEX]);
582 desc.setSet(desc_array[SETTER_INDEX]);
584 desc.setValue(desc_array[VALUE_INDEX]);
585 desc.setWritable(desc_array[WRITABLE_INDEX]);
587 desc.setEnumerable(desc_array[ENUMERABLE_INDEX]);
588 desc.setConfigurable(desc_array[CONFIGURABLE_INDEX]);
590 return desc;
635 var desc = ToCompletePropertyDescriptor(descriptor);
636 if (!desc.isConfigurable()) {
640 return desc;
654 var desc = GetOwnPropertyJS(obj, p);
655 if (IS_UNDEFINED(desc)) return true;
656 if (desc.isConfigurable()) {
687 function DefineObjectProperty(obj, p, desc, should_throw) { argument
704 if ((IsGenericDescriptor(desc) ||
705 IsDataDescriptor(desc) == IsDataDescriptor(current)) &&
706 (!desc.hasEnumerable() ||
707 SameValue(desc.isEnumerable(), current.isEnumerable())) &&
708 (!desc.hasConfigurable() ||
709 SameValue(desc.isConfigurable(), current.isConfigurable())) &&
710 (!desc.hasWritable() ||
711 SameValue(desc.isWritable(), current.isWritable())) &&
712 (!desc.hasValue() ||
713 SameValue(desc.getValue(), current.getValue())) &&
714 (!desc.hasGetter() ||
715 SameValue(desc.getGet(), current.getGet())) &&
716 (!desc.hasSetter() ||
717 SameValue(desc.getSet(), current.getSet()))) {
722 if (desc.isConfigurable() ||
723 (desc.hasEnumerable() &&
724 desc.isEnumerable() != current.isEnumerable())) {
732 if (!IsGenericDescriptor(desc)) {
734 if (IsDataDescriptor(current) != IsDataDescriptor(desc)) {
742 if (IsDataDescriptor(current) && IsDataDescriptor(desc)) {
743 if (!current.isWritable() && desc.isWritable()) {
750 if (!current.isWritable() && desc.hasValue() &&
751 !SameValue(desc.getValue(), current.getValue())) {
760 if (IsAccessorDescriptor(desc) && IsAccessorDescriptor(current)) {
761 if (desc.hasSetter() && !SameValue(desc.getSet(), current.getSet())) {
768 if (desc.hasGetter() && !SameValue(desc.getGet(),current.getGet())) {
785 if (desc.hasEnumerable()) {
786 flag |= desc.isEnumerable() ? 0 : DONT_ENUM;
793 if (desc.hasConfigurable()) {
794 flag |= desc.isConfigurable() ? 0 : DONT_DELETE;
800 if (IsDataDescriptor(desc) ||
801 (IsGenericDescriptor(desc) &&
810 if (desc.hasWritable()) {
811 flag |= desc.isWritable() ? 0 : READ_ONLY;
819 if (desc.hasValue()) {
820 value = desc.getValue();
834 if (desc.hasGetter()) {
835 getter = desc.getGet();
840 if (desc.hasSetter()) {
841 setter = desc.getSet();
852 function DefineArrayProperty(obj, p, desc, should_throw) { argument
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())) {
907 desc.value_ = UNDEFINED;
908 desc.hasValue_ = false;
909 threw = !DefineObjectProperty(obj, "length", desc, should_throw) || threw;
940 !DefineObjectProperty(obj, p, desc, true)) {
961 return DefineObjectProperty(obj, p, desc, should_throw);
966 function DefineOwnProperty(obj, p, desc, should_throw) { argument
971 var attributes = FromGenericPropertyDescriptor(desc);
974 return DefineArrayProperty(obj, p, desc, should_throw);
976 return DefineObjectProperty(obj, p, desc, should_throw);
1011 var desc = GetOwnPropertyJS(obj, p);
1012 return FromPropertyDescriptor(desc);
1171 var desc = ToPropertyDescriptor(attributes);
1172 DefineOwnProperty(obj, name, desc, true);
1191 var desc = ObjectGetOwnPropertyDescriptor(object, symbol);
1192 if (desc.enumerable) names.push(symbol);
1258 var desc = GetOwnPropertyJS(obj, name);
1259 if (desc.isConfigurable()) {
1260 desc.setConfigurable(false);
1261 DefineOwnProperty(obj, name, desc, true);
1282 var desc = GetOwnPropertyJS(obj, name);
1283 if (desc.isWritable() || desc.isConfigurable()) {
1284 if (IsDataDescriptor(desc)) desc.setWritable(false);
1285 desc.setConfigurable(false);
1286 DefineOwnProperty(obj, name, desc, true);
1326 var desc = GetOwnPropertyJS(obj, name);
1327 if (desc.isConfigurable()) {
1349 var desc = GetOwnPropertyJS(obj, name);
1350 if (IsDataDescriptor(desc) && desc.isWritable()) return false;
1351 if (desc.isConfigurable()) return false;