Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(54)

Side by Side Diff: src/debug/mirrors.js

Issue 2628323003: [debugger] Use PropertyKind instead of PropertyType. (Closed)
Patch Set: Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | src/runtime/runtime.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2006-2012 the V8 project authors. All rights reserved. 1 // Copyright 2006-2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 (function(global, utils) { 5 (function(global, utils) {
6 "use strict"; 6 "use strict";
7 7
8 // ---------------------------------------------------------------------------- 8 // ----------------------------------------------------------------------------
9 // Imports 9 // Imports
10 10
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 tempCtor.prototype = superCtor.prototype; 216 tempCtor.prototype = superCtor.prototype;
217 ctor.super_ = superCtor.prototype; 217 ctor.super_ = superCtor.prototype;
218 ctor.prototype = new tempCtor(); 218 ctor.prototype = new tempCtor();
219 ctor.prototype.constructor = ctor; 219 ctor.prototype.constructor = ctor;
220 } 220 }
221 221
222 // Maximum length when sending strings through the JSON protocol. 222 // Maximum length when sending strings through the JSON protocol.
223 var kMaxProtocolStringLength = 80; 223 var kMaxProtocolStringLength = 80;
224 224
225 225
226 // A copy of the PropertyType enum from property-details.h 226 // A copy of the PropertyKind enum from property-details.h
227 var PropertyType = {}; 227 var PropertyType = {};
228 PropertyType.Data = 0; 228 PropertyType.Data = 0;
229 PropertyType.DataConstant = 2; 229 PropertyType.Accessor = 1;
230 PropertyType.AccessorConstant = 3;
231 230
232 231
233 // Different attributes for a property. 232 // Different attributes for a property.
234 var PropertyAttribute = {}; 233 var PropertyAttribute = {};
235 PropertyAttribute.None = NONE; 234 PropertyAttribute.None = NONE;
236 PropertyAttribute.ReadOnly = READ_ONLY; 235 PropertyAttribute.ReadOnly = READ_ONLY;
237 PropertyAttribute.DontEnum = DONT_ENUM; 236 PropertyAttribute.DontEnum = DONT_ENUM;
238 PropertyAttribute.DontDelete = DONT_DELETE; 237 PropertyAttribute.DontDelete = DONT_DELETE;
239 238
240 239
(...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after
792 * property was found with the specified value UndefinedMirror is returned 791 * property was found with the specified value UndefinedMirror is returned
793 */ 792 */
794 ObjectMirror.prototype.lookupProperty = function(value) { 793 ObjectMirror.prototype.lookupProperty = function(value) {
795 var properties = this.properties(); 794 var properties = this.properties();
796 795
797 // Look for property value in properties. 796 // Look for property value in properties.
798 for (var i = 0; i < properties.length; i++) { 797 for (var i = 0; i < properties.length; i++) {
799 798
800 // Skip properties which are defined through accessors. 799 // Skip properties which are defined through accessors.
801 var property = properties[i]; 800 var property = properties[i];
802 if (property.propertyType() != PropertyType.AccessorConstant) { 801 if (property.propertyType() == PropertyType.Data) {
803 if (property.value_ === value.value_) { 802 if (property.value_ === value.value_) {
804 return property; 803 return property;
805 } 804 }
806 } 805 }
807 } 806 }
808 807
809 // Nothing found. 808 // Nothing found.
810 return GetUndefinedMirror(); 809 return GetUndefinedMirror();
811 }; 810 };
812 811
(...skipping 725 matching lines...) Expand 10 before | Expand all | Expand 10 after
1538 return this.exception_ ? true : false; 1537 return this.exception_ ? true : false;
1539 }; 1538 };
1540 1539
1541 1540
1542 PropertyMirror.prototype.attributes = function() { 1541 PropertyMirror.prototype.attributes = function() {
1543 return %DebugPropertyAttributesFromDetails(this.details_); 1542 return %DebugPropertyAttributesFromDetails(this.details_);
1544 }; 1543 };
1545 1544
1546 1545
1547 PropertyMirror.prototype.propertyType = function() { 1546 PropertyMirror.prototype.propertyType = function() {
1548 return %DebugPropertyTypeFromDetails(this.details_); 1547 return %DebugPropertyKindFromDetails(this.details_);
1549 }; 1548 };
1550 1549
1551 1550
1552 /** 1551 /**
1553 * Returns whether this property has a getter defined through __defineGetter__. 1552 * Returns whether this property has a getter defined through __defineGetter__.
1554 * @return {boolean} True if this property has a getter 1553 * @return {boolean} True if this property has a getter
1555 */ 1554 */
1556 PropertyMirror.prototype.hasGetter = function() { 1555 PropertyMirror.prototype.hasGetter = function() {
1557 return this.getter_ ? true : false; 1556 return this.getter_ ? true : false;
1558 }; 1557 };
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
1596 1595
1597 1596
1598 /** 1597 /**
1599 * Returns whether this property is natively implemented by the host or a set 1598 * Returns whether this property is natively implemented by the host or a set
1600 * through JavaScript code. 1599 * through JavaScript code.
1601 * @return {boolean} True if the property is 1600 * @return {boolean} True if the property is
1602 * UndefinedMirror if there is no setter for this property 1601 * UndefinedMirror if there is no setter for this property
1603 */ 1602 */
1604 PropertyMirror.prototype.isNative = function() { 1603 PropertyMirror.prototype.isNative = function() {
1605 return this.is_interceptor_ || 1604 return this.is_interceptor_ ||
1606 ((this.propertyType() == PropertyType.AccessorConstant) && 1605 ((this.propertyType() == PropertyType.Accessor) &&
1607 !this.hasGetter() && !this.hasSetter()); 1606 !this.hasGetter() && !this.hasSetter());
1608 }; 1607 };
1609 1608
1610 1609
1611 /** 1610 /**
1612 * Mirror object for internal properties. Internal property reflects properties 1611 * Mirror object for internal properties. Internal property reflects properties
1613 * not accessible from user code such as [[BoundThis]] in bound function. 1612 * not accessible from user code such as [[BoundThis]] in bound function.
1614 * Their names are merely symbolic. 1613 * Their names are merely symbolic.
1615 * @param {string} name The name of the property 1614 * @param {string} name The name of the property
1616 * @param {value} property value 1615 * @param {value} property value
(...skipping 1458 matching lines...) Expand 10 before | Expand all | Expand 10 after
3075 // Functions needed by the debugger runtime. 3074 // Functions needed by the debugger runtime.
3076 utils.InstallFunctions(utils, DONT_ENUM, [ 3075 utils.InstallFunctions(utils, DONT_ENUM, [
3077 "ClearMirrorCache", ClearMirrorCache 3076 "ClearMirrorCache", ClearMirrorCache
3078 ]); 3077 ]);
3079 3078
3080 // Export to debug.js 3079 // Export to debug.js
3081 utils.Export(function(to) { 3080 utils.Export(function(to) {
3082 to.MirrorType = MirrorType; 3081 to.MirrorType = MirrorType;
3083 }); 3082 });
3084 }) 3083 })
OLDNEW
« no previous file with comments | « no previous file | src/runtime/runtime.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698