| Index: lib/runtime/dart_sdk.js
|
| diff --git a/lib/runtime/dart_sdk.js b/lib/runtime/dart_sdk.js
|
| index aa1aedadd02bf0a1e4dd2549fd0e7ea3fabc6d31..b3b95ebd7f8654a7602583f30e2d3559ebc60557 100644
|
| --- a/lib/runtime/dart_sdk.js
|
| +++ b/lib/runtime/dart_sdk.js
|
| @@ -2251,7 +2251,25 @@ 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.JsonMLConfig = class JsonMLConfig extends core.Object {
|
| + new(name) {
|
| + this.name = name;
|
| + }
|
| + };
|
| + dart.setSignature(_debugger.JsonMLConfig, {
|
| + constructors: () => ({new: dart.definiteFunctionType(_debugger.JsonMLConfig, [core.String])})
|
| + });
|
| + dart.defineLazy(_debugger.JsonMLConfig, {
|
| + get none() {
|
| + return dart.const(new _debugger.JsonMLConfig("none"));
|
| + },
|
| + get skipDart() {
|
| + return dart.const(new _debugger.JsonMLConfig("skipDart"));
|
| + },
|
| + get keyToString() {
|
| + return dart.const(new _debugger.JsonMLConfig("keyToString"));
|
| + }
|
| + });
|
| _debugger.maxIterableChildrenToDisplay = 50;
|
| dart.defineLazy(_debugger, {
|
| get _devtoolsFormatter() {
|
| @@ -2334,10 +2352,10 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| new(opts) {
|
| 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 config = opts && 'config' in opts ? opts.config : _debugger.JsonMLConfig.none;
|
| this.name = name;
|
| this.value = value;
|
| - this.skipDart = skipDart == true;
|
| + this.config = config;
|
| }
|
| ['=='](other) {
|
| return _debugger.NameValuePair.is(other) && other.name == this.name;
|
| @@ -2347,7 +2365,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, config: _debugger.JsonMLConfig})})
|
| });
|
| _debugger.MapEntry = class MapEntry extends core.Object {
|
| new(opts) {
|
| @@ -2358,7 +2376,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) {
|
| @@ -2445,11 +2463,14 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| this[_simpleFormatter] = simpleFormatter;
|
| }
|
| header(object, config) {
|
| - if (core.identical(config, _debugger.skipDartConfig) || dart.test(_debugger.isNativeJavaScriptObject(object))) {
|
| + if (dart.equals(config, _debugger.JsonMLConfig.skipDart) || dart.test(_debugger.isNativeJavaScriptObject(object))) {
|
| return null;
|
| }
|
| let c = this[_simpleFormatter].preview(object);
|
| if (c == null) return null;
|
| + if (dart.equals(config, _debugger.JsonMLConfig.keyToString)) {
|
| + c = dart.toString(object);
|
| + }
|
| let element = new _debugger.JsonMLElement('span');
|
| element.setStyle('background-color: #d9edf7');
|
| element.createTextChild(c);
|
| @@ -2471,9 +2492,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| nameSpan.addStyle("padding-left: 13px;");
|
| li.appendChild(nameSpan);
|
| let objectTag = li.createObjectTag(child.value);
|
| - if (dart.test(child.skipDart)) {
|
| - objectTag.addAttribute('config', _debugger.skipDartConfig);
|
| - }
|
| + objectTag.addAttribute('config', child.config);
|
| if (!dart.test(this[_simpleFormatter].hasChildren(child.value))) {
|
| li.setStyle("padding-left: 13px;");
|
| }
|
| @@ -2650,7 +2669,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| return core.String._check(dart.typeName(dart.getReifiedType(object)));
|
| }
|
| children(object) {
|
| - return JSArrayOfNameValuePair().of([new _debugger.NameValuePair({name: 'signature', value: this.preview(object)}), new _debugger.NameValuePair({name: 'JavaScript Function', value: object, skipDart: true})]);
|
| + return JSArrayOfNameValuePair().of([new _debugger.NameValuePair({name: 'signature', value: this.preview(object)}), new _debugger.NameValuePair({name: 'JavaScript Function', value: object, config: _debugger.JsonMLConfig.skipDart})]);
|
| }
|
| };
|
| dart.setSignature(_debugger.FunctionFormatter, {
|
| @@ -2676,7 +2695,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);
|
| @@ -2744,9 +2763,9 @@ dart_library.library('dart_sdk', null, /* Imports */[
|
| if (mixins != null && dart.test(dart.dload(mixins, 'isNotEmpty'))) {
|
| ret[dartx.add](new _debugger.NameValuePair({name: '[[Mixins]]', value: new _debugger.HeritageClause('mixins', core.List._check(mixins))}));
|
| }
|
| - ret[dartx.add](new _debugger.NameValuePair({name: '[[JavaScript View]]', value: entry.object, skipDart: true}));
|
| + ret[dartx.add](new _debugger.NameValuePair({name: '[[JavaScript View]]', value: entry.object, config: _debugger.JsonMLConfig.skipDart}));
|
| if (!core.Type.is(entry.object)) {
|
| - ret[dartx.add](new _debugger.NameValuePair({name: '[[JavaScript Constructor]]', value: _debugger.JSNative.getProperty(entry.object, 'constructor'), skipDart: true}));
|
| + ret[dartx.add](new _debugger.NameValuePair({name: '[[JavaScript Constructor]]', value: _debugger.JSNative.getProperty(entry.object, 'constructor'), config: _debugger.JsonMLConfig.skipDart}));
|
| }
|
| return ret;
|
| }
|
| @@ -2773,7 +2792,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'), config: _debugger.JsonMLConfig.keyToString}), new _debugger.NameValuePair({name: 'value', value: dart.dload(object, 'value')})]);
|
| }
|
| };
|
| _debugger.MapEntryFormatter[dart.implements] = () => [_debugger.Formatter];
|
|
|