| OLD | NEW |
| 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 582 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 593 }; | 593 }; |
| 594 | 594 |
| 595 | 595 |
| 596 ObjectMirror.prototype.protoObject = function() { | 596 ObjectMirror.prototype.protoObject = function() { |
| 597 return MakeMirror(%DebugGetPrototype(this.value_)); | 597 return MakeMirror(%DebugGetPrototype(this.value_)); |
| 598 }; | 598 }; |
| 599 | 599 |
| 600 | 600 |
| 601 ObjectMirror.prototype.hasNamedInterceptor = function() { | 601 ObjectMirror.prototype.hasNamedInterceptor = function() { |
| 602 // Get information on interceptors for this object. | 602 // Get information on interceptors for this object. |
| 603 var x = %DebugInterceptorInfo(this.value_); | 603 var x = %GetInterceptorInfo(this.value_); |
| 604 return (x & 2) != 0; | 604 return (x & 2) != 0; |
| 605 }; | 605 }; |
| 606 | 606 |
| 607 | 607 |
| 608 ObjectMirror.prototype.hasIndexedInterceptor = function() { | 608 ObjectMirror.prototype.hasIndexedInterceptor = function() { |
| 609 // Get information on interceptors for this object. | 609 // Get information on interceptors for this object. |
| 610 var x = %DebugInterceptorInfo(this.value_); | 610 var x = %GetInterceptorInfo(this.value_); |
| 611 return (x & 1) != 0; | 611 return (x & 1) != 0; |
| 612 }; | 612 }; |
| 613 | 613 |
| 614 | 614 |
| 615 /** | 615 /** |
| 616 * Return the property names for this object. | 616 * Return the property names for this object. |
| 617 * @param {number} kind Indicate whether named, indexed or both kinds of | 617 * @param {number} kind Indicate whether named, indexed or both kinds of |
| 618 * properties are requested | 618 * properties are requested |
| 619 * @param {number} limit Limit the number of names returend to the specified | 619 * @param {number} limit Limit the number of names returend to the specified |
| 620 value | 620 value |
| 621 * @return {Array} Property names for this object | 621 * @return {Array} Property names for this object |
| 622 */ | 622 */ |
| 623 ObjectMirror.prototype.propertyNames = function(kind, limit) { | 623 ObjectMirror.prototype.propertyNames = function(kind, limit) { |
| 624 // Find kind and limit and allocate array for the result | 624 // Find kind and limit and allocate array for the result |
| 625 kind = kind || PropertyKind.Named | PropertyKind.Indexed; | 625 kind = kind || PropertyKind.Named | PropertyKind.Indexed; |
| 626 | 626 |
| 627 var propertyNames; | 627 var propertyNames; |
| 628 var elementNames; | 628 var elementNames; |
| 629 var total = 0; | 629 var total = 0; |
| 630 | 630 |
| 631 // Find all the named properties. | 631 // Find all the named properties. |
| 632 if (kind & PropertyKind.Named) { | 632 if (kind & PropertyKind.Named) { |
| 633 // Get the local property names. | 633 // Get the local property names. |
| 634 propertyNames = %DebugLocalPropertyNames(this.value_); | 634 propertyNames = %GetLocalPropertyNames(this.value_); |
| 635 total += propertyNames.length; | 635 total += propertyNames.length; |
| 636 | 636 |
| 637 // Get names for named interceptor properties if any. | 637 // Get names for named interceptor properties if any. |
| 638 if (this.hasNamedInterceptor() && (kind & PropertyKind.Named)) { | 638 if (this.hasNamedInterceptor() && (kind & PropertyKind.Named)) { |
| 639 var namedInterceptorNames = | 639 var namedInterceptorNames = |
| 640 %DebugNamedInterceptorPropertyNames(this.value_); | 640 %GetNamedInterceptorPropertyNames(this.value_); |
| 641 if (namedInterceptorNames) { | 641 if (namedInterceptorNames) { |
| 642 propertyNames = propertyNames.concat(namedInterceptorNames); | 642 propertyNames = propertyNames.concat(namedInterceptorNames); |
| 643 total += namedInterceptorNames.length; | 643 total += namedInterceptorNames.length; |
| 644 } | 644 } |
| 645 } | 645 } |
| 646 } | 646 } |
| 647 | 647 |
| 648 // Find all the indexed properties. | 648 // Find all the indexed properties. |
| 649 if (kind & PropertyKind.Indexed) { | 649 if (kind & PropertyKind.Indexed) { |
| 650 // Get the local element names. | 650 // Get the local element names. |
| 651 elementNames = %DebugLocalElementNames(this.value_); | 651 elementNames = %GetLocalElementNames(this.value_); |
| 652 total += elementNames.length; | 652 total += elementNames.length; |
| 653 | 653 |
| 654 // Get names for indexed interceptor properties. | 654 // Get names for indexed interceptor properties. |
| 655 if (this.hasIndexedInterceptor() && (kind & PropertyKind.Indexed)) { | 655 if (this.hasIndexedInterceptor() && (kind & PropertyKind.Indexed)) { |
| 656 var indexedInterceptorNames = | 656 var indexedInterceptorNames = |
| 657 %DebugIndexedInterceptorElementNames(this.value_); | 657 %GetIndexedInterceptorElementNames(this.value_); |
| 658 if (indexedInterceptorNames) { | 658 if (indexedInterceptorNames) { |
| 659 elementNames = elementNames.concat(indexedInterceptorNames); | 659 elementNames = elementNames.concat(indexedInterceptorNames); |
| 660 total += indexedInterceptorNames.length; | 660 total += indexedInterceptorNames.length; |
| 661 } | 661 } |
| 662 } | 662 } |
| 663 } | 663 } |
| 664 limit = Math.min(limit || total, total); | 664 limit = Math.min(limit || total, total); |
| 665 | 665 |
| 666 var names = new Array(limit); | 666 var names = new Array(limit); |
| 667 var index = 0; | 667 var index = 0; |
| (...skipping 1655 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2323 } | 2323 } |
| 2324 if (!isFinite(value)) { | 2324 if (!isFinite(value)) { |
| 2325 if (value > 0) { | 2325 if (value > 0) { |
| 2326 return 'Infinity'; | 2326 return 'Infinity'; |
| 2327 } else { | 2327 } else { |
| 2328 return '-Infinity'; | 2328 return '-Infinity'; |
| 2329 } | 2329 } |
| 2330 } | 2330 } |
| 2331 return value; | 2331 return value; |
| 2332 } | 2332 } |
| OLD | NEW |