Index: lib/runtime/dart_sdk.js |
diff --git a/lib/runtime/dart_sdk.js b/lib/runtime/dart_sdk.js |
index 9fb6c1066b9bbebbf47ed619d628399d05219627..f4bf931afc627f12b84ece0531602c7d4becbfdd 100644 |
--- a/lib/runtime/dart_sdk.js |
+++ b/lib/runtime/dart_sdk.js |
@@ -2251,7 +2251,8 @@ dart_library.library('dart_sdk', null, /* Imports */[ |
dart._typeFormalCount = Symbol("_typeFormalCount"); |
dart.isSubtype = dart._subtypeMemo((t1, t2) => t1 === t2 || dart._isSubtype(t1, t2, true)); |
dart.hasOwnProperty = Object.prototype.hasOwnProperty; |
- _debugger.skipDartConfig = dart.const(new core.Object()); |
+ _debugger.skipDartConfig = "skipDartConfig"; |
+ _debugger.keyToStringConfig = "keyToStringConfig"; |
_debugger.maxIterableChildrenToDisplay = 50; |
dart.defineLazy(_debugger, { |
get _devtoolsFormatter() { |
@@ -2335,9 +2336,11 @@ dart_library.library('dart_sdk', null, /* Imports */[ |
let name = opts && 'name' in opts ? opts.name : null; |
let value = opts && 'value' in opts ? opts.value : null; |
let skipDart = opts && 'skipDart' in opts ? opts.skipDart : null; |
+ let keyToString = opts && 'keyToString' in opts ? opts.keyToString : null; |
this.name = name; |
this.value = value; |
this.skipDart = skipDart == true; |
+ this.keyToString = keyToString == true; |
} |
['=='](other) { |
return _debugger.NameValuePair.is(other) && other.name == this.name; |
@@ -2347,7 +2350,7 @@ dart_library.library('dart_sdk', null, /* Imports */[ |
} |
}; |
dart.setSignature(_debugger.NameValuePair, { |
- constructors: () => ({new: dart.definiteFunctionType(_debugger.NameValuePair, [], {name: core.String, value: core.Object, skipDart: core.bool})}) |
+ constructors: () => ({new: dart.definiteFunctionType(_debugger.NameValuePair, [], {name: core.String, value: core.Object, skipDart: core.bool, keyToString: core.bool})}) |
}); |
_debugger.MapEntry = class MapEntry extends core.Object { |
new(opts) { |
@@ -2358,7 +2361,7 @@ dart_library.library('dart_sdk', null, /* Imports */[ |
} |
}; |
dart.setSignature(_debugger.MapEntry, { |
- constructors: () => ({new: dart.definiteFunctionType(_debugger.MapEntry, [], {key: core.String, value: core.Object})}) |
+ constructors: () => ({new: dart.definiteFunctionType(_debugger.MapEntry, [], {key: core.Object, value: core.Object})}) |
}); |
_debugger.ClassMetadata = class ClassMetadata extends core.Object { |
new(object) { |
@@ -2450,6 +2453,9 @@ dart_library.library('dart_sdk', null, /* Imports */[ |
} |
let c = this[_simpleFormatter].preview(object); |
if (c == null) return null; |
+ if (core.identical(config, _debugger.keyToStringConfig)) { |
+ c = dart.toString(object); |
+ } |
let element = new _debugger.JsonMLElement('span'); |
element.setStyle('background-color: #d9edf7'); |
element.createTextChild(c); |
@@ -2474,6 +2480,9 @@ dart_library.library('dart_sdk', null, /* Imports */[ |
if (dart.test(child.skipDart)) { |
objectTag.addAttribute('config', _debugger.skipDartConfig); |
} |
+ if (dart.test(child.keyToString)) { |
+ objectTag.addAttribute('config', _debugger.keyToStringConfig); |
+ } |
if (!dart.test(this[_simpleFormatter].hasChildren(child.value))) { |
li.setStyle("padding-left: 13px;"); |
} |
@@ -2676,7 +2685,7 @@ dart_library.library('dart_sdk', null, /* Imports */[ |
let map = core.Map._check(object); |
let entries = LinkedHashSetOfNameValuePair().new(); |
map[dartx.forEach](dart.fn((key, value) => { |
- let entryWrapper = new _debugger.MapEntry({key: core.String._check(key), value: value}); |
+ let entryWrapper = new _debugger.MapEntry({key: key, value: value}); |
entries.add(new _debugger.NameValuePair({name: dart.toString(entries.length), value: entryWrapper})); |
}, dynamicAnddynamicTovoid())); |
this.addMetadataChildren(object, entries); |
@@ -2773,7 +2782,7 @@ dart_library.library('dart_sdk', null, /* Imports */[ |
return true; |
} |
children(object) { |
- return JSArrayOfNameValuePair().of([new _debugger.NameValuePair({name: 'key', value: dart.dload(object, 'key')}), new _debugger.NameValuePair({name: 'value', value: dart.dload(object, 'value')})]); |
+ return JSArrayOfNameValuePair().of([new _debugger.NameValuePair({name: 'key', value: dart.dload(object, 'key'), keyToString: true}), new _debugger.NameValuePair({name: 'value', value: dart.dload(object, 'value')})]); |
} |
}; |
_debugger.MapEntryFormatter[dart.implements] = () => [_debugger.Formatter]; |