@@ -36,10 +36,11 @@ dart_library.library('dart_sdk', null, /* Imports */[
36
36
let MapOfSymbol$dynamic = () => (MapOfSymbol$dynamic = dart.constFn(core.Map$(core.Symbol, dart.dynamic)))();
37
37
let MapOfString$int = () => (MapOfString$int = dart.constFn(core.Map$(core.String, core.int)))();
38
38
let ListOfString = () => (ListOfString = dart.constFn(core.List$(core.String)))();
39
- let JSArrayOfFormatter = () => (JSArrayOfFormatter = dart.constFn(_interceptors.JSArray$(_debugger.Formatter)))();
40
39
let JSArrayOfNameValuePair = () => (JSArrayOfNameValuePair = dart.constFn(_interceptors.JSArray$(_debugger.NameValuePair)))();
40
+ let JSArrayOfFormatter = () => (JSArrayOfFormatter = dart.constFn(_interceptors.JSArray$(_debugger.Formatter)))();
41
41
let LinkedHashSetOfNameValuePair = () => (LinkedHashSetOfNameValuePair = dart.constFn(collection.LinkedHashSet$(_debugger.NameValuePair)))();
42
42
let SetOfString = () => (SetOfString = dart.constFn(core.Set$(core.String)))();
43
+ let IterableOfNameValuePair = () => (IterableOfNameValuePair = dart.constFn(core.Iterable$(_debugger.NameValuePair)))();
43
44
let ListOfNameValuePair = () => (ListOfNameValuePair = dart.constFn(core.List$(_debugger.NameValuePair)))();
44
45
let JSArrayOfJsonMLFormatter = () => (JSArrayOfJsonMLFormatter = dart.constFn(_interceptors.JSArray$(_debugger.JsonMLFormatter)))();
45
46
let JSArray = () => (JSArray = dart.constFn(_interceptors.JSArray$()))();
@@ -481,9 +482,9 @@ dart_library.library('dart_sdk', null, /* Imports */[
481
482
let dynamicToList = () => (dynamicToList = dart.constFn(dart.definiteFunctionType(core.List, [dart.dynamic])))();
482
483
let TypeToString = () => (TypeToString = dart.constFn(dart.definiteFunctionType(core.String, [core.Type])))();
483
484
let dynamicAndStringTobool = () => (dynamicAndStringTobool = dart.constFn(dart.definiteFunctionType(core.bool, [dart.dynamic, core.String])))();
485
+ let dynamicAnddynamicTodynamic$ = () => (dynamicAnddynamicTodynamic$ = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic, dart.dynamic])))();
484
486
let dynamicTobool$ = () => (dynamicTobool$ = dart.constFn(dart.definiteFunctionType(core.bool, [dart.dynamic])))();
485
487
let dynamicAnddynamicTovoid = () => (dynamicAnddynamicTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [dart.dynamic, dart.dynamic])))();
486
- let IterableSpanToListOfNameValuePair = () => (IterableSpanToListOfNameValuePair = dart.constFn(dart.definiteFunctionType(ListOfNameValuePair(), [_debugger.IterableSpan])))();
487
488
let VoidTodynamic$ = () => (VoidTodynamic$ = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))();
488
489
let StringAndString__Todynamic = () => (StringAndString__Todynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [core.String, core.String], [dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic, dart.dynamic])))();
489
490
let VoidToIsolateContext = () => (VoidToIsolateContext = dart.constFn(dart.definiteFunctionType(_foreign_helper.IsolateContext, [])))();
@@ -497,7 +498,6 @@ dart_library.library('dart_sdk', null, /* Imports */[
497
498
let FunctionTovoid = () => (FunctionTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.Function])))();
498
499
let StringAndStringToString = () => (StringAndStringToString = dart.constFn(dart.definiteFunctionType(core.String, [core.String, core.String])))();
499
500
let TypeAndStringTodynamic = () => (TypeAndStringTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [core.Type, core.String])))();
500
- let dynamicAnddynamicTodynamic$ = () => (dynamicAnddynamicTodynamic$ = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic, dart.dynamic])))();
501
501
let ListOfEToListOfE = () => (ListOfEToListOfE = dart.constFn(dart.definiteFunctionType(E => [core.List$(E), [core.List$(E)]])))();
502
502
let StringTovoid = () => (StringTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.String])))();
503
503
let _IsolateContextAndFunctionTodynamic = () => (_IsolateContextAndFunctionTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [_isolate_helper._IsolateContext, core.Function])))();
@@ -2441,17 +2441,48 @@ dart_library.library('dart_sdk', null, /* Imports */[
2441
2441
constructors: () => ({new: dart.definiteFunctionType(_debugger.MapEntry, [], {key: core.Object, value: core.Object})})
2442
2442
});
2443
2443
_debugger.IterableSpan = class IterableSpan extends core.Object {
2444
- new(opts) {
2445
- let start = opts && 'start' in opts ? opts.start : null;
2446
- let end = opts && 'end' in opts ? opts.end : null;
2447
- let iterable = opts && 'iterable' in opts ? opts.iterable : null;
2444
+ new(start, end, iterable) {
2448
2445
this.start = start;
2449
2446
this.end = end;
2450
2447
this.iterable = iterable;
2451
2448
}
2449
+ get length() {
2450
+ return dart.notNull(this.end) - dart.notNull(this.start);
2451
+ }
2452
+ get maxPowerOfSubsetSize() {
2453
+ return (dart.notNull(math.log(core.num._check(dart.dsend(this.length, '-', 0.5)))) / dart.notNull(math.log(_debugger._maxSpanLength)))[dartx.truncate]();
2454
+ }
2455
+ get subsetSize() {
2456
+ return math.pow(_debugger._maxSpanLength, core.num._check(this.maxPowerOfSubsetSize));
2457
+ }
2458
+ asMap() {
2459
+ return this.iterable[dartx.skip](this.start)[dartx.take](core.int._check(this.length))[dartx.toList]()[dartx.asMap]();
2460
+ }
2461
+ children() {
2462
+ let ret = JSArrayOfNameValuePair().of([]);
2463
+ if (dart.test(dart.dsend(this.length, '<=', _debugger._maxSpanLength))) {
2464
+ dart.dsend(this.asMap(), 'forEach', dart.fn((i, element) => {
2465
+ ret[dartx.add](new _debugger.NameValuePair({name: dart.toString(dart.dsend(i, '+', this.start)), value: element}));
2466
+ }, dynamicAnddynamicTodynamic$()));
2467
+ } else {
2468
+ for (let i = this.start; dart.notNull(i) < dart.notNull(this.end); i = dart.notNull(i) + dart.notNull(core.int._check(this.subsetSize))) {
2469
+ let subSpan = new _debugger.IterableSpan(i, dart.asInt(math.min(core.num)(this.end, core.num._check(dart.dsend(this.subsetSize, '+', i)))), this.iterable);
2470
+ if (dart.equals(subSpan.length, 1)) {
2471
+ ret[dartx.add](new _debugger.NameValuePair({name: dart.toString(i), value: this.iterable[dartx.elementAt](i)}));
2472
+ } else {
2473
+ ret[dartx.add](new _debugger.NameValuePair({name: dart.str`[${i}...${dart.notNull(subSpan.end) - 1}]`, value: subSpan, hideName: true}));
2474
+ }
2475
+ }
2476
+ }
2477
+ return ret;
2478
+ }
2452
2479
};
2453
2480
dart.setSignature(_debugger.IterableSpan, {
2454
- constructors: () => ({new: dart.definiteFunctionType(_debugger.IterableSpan, [], {start: core.int, end: core.int, iterable: core.Iterable})})
2481
+ constructors: () => ({new: dart.definiteFunctionType(_debugger.IterableSpan, [core.int, core.int, core.Iterable])}),
2482
+ methods: () => ({
2483
+ asMap: dart.definiteFunctionType(dart.dynamic, []),
2484
+ children: dart.definiteFunctionType(dart.dynamic, [])
2485
+ })
2455
2486
});
2456
2487
_debugger.ClassMetadata = class ClassMetadata extends core.Object {
2457
2488
new(object) {
@@ -2536,11 +2567,13 @@ dart_library.library('dart_sdk', null, /* Imports */[
2536
2567
_debugger.JsonMLFormatter = class JsonMLFormatter extends core.Object {
2537
2568
new(simpleFormatter) {
2538
2569
this[_simpleFormatter] = simpleFormatter;
2570
+ this.customFormattersOn = false;
2539
2571
}
2540
2572
setMaxSpanLengthForTestingOnly(spanLength) {
2541
2573
_debugger._maxSpanLength = spanLength;
2542
2574
}
2543
2575
header(object, config) {
2576
+ this.customFormattersOn = true;
2544
2577
if (dart.equals(config, _debugger.JsonMLConfig.skipDart) || dart.test(_debugger.isNativeJavaScriptObject(object))) {
2545
2578
return null;
2546
2579
}
@@ -2800,7 +2833,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
2800
2833
}
2801
2834
children(object) {
2802
2835
let ret = LinkedHashSetOfNameValuePair().new();
2803
- ret.addAll(_debugger.childrenHelper (new _debugger.IterableSpan({start: 0, end: core.int._check(dart.dload(object, 'length')), iterable: core.Iterable._check(object)} )));
2836
+ ret.addAll(IterableOfNameValuePair()._check (new _debugger.IterableSpan(0, core.int._check(dart.dload(object, 'length')), core.Iterable._check(object)).children( )));
2804
2837
this.addMetadataChildren(object, ret);
2805
2838
return ret.toList();
2806
2839
}
@@ -2909,14 +2942,13 @@ dart_library.library('dart_sdk', null, /* Imports */[
2909
2942
return _debugger.IterableSpan.is(object);
2910
2943
}
2911
2944
preview(object) {
2912
- let entry = _debugger.IterableSpan._check(object);
2913
2945
return dart.str`[${dart.dload(object, 'start')}...${dart.dsend(dart.dload(object, 'end'), '-', 1)}]`;
2914
2946
}
2915
2947
hasChildren(object) {
2916
2948
return true;
2917
2949
}
2918
2950
children(object) {
2919
- return _debugger.childrenHelper(_debugger.IterableSpan. _check(object));
2951
+ return ListOfNameValuePair(). _check(dart.dsend( object, 'children' ));
2920
2952
}
2921
2953
};
2922
2954
_debugger.IterableSpanFormatter[dart.implements] = () => [_debugger.Formatter];
@@ -2928,29 +2960,6 @@ dart_library.library('dart_sdk', null, /* Imports */[
2928
2960
children: dart.definiteFunctionType(core.List$(_debugger.NameValuePair), [dart.dynamic])
2929
2961
})
2930
2962
});
2931
- _debugger.childrenHelper = function(span) {
2932
- let length = dart.notNull(span.end) - dart.notNull(span.start);
2933
- let ret = ListOfNameValuePair().new();
2934
- if (length <= dart.notNull(_debugger._maxSpanLength)) {
2935
- for (let i = span.start; dart.notNull(i) < dart.notNull(span.end); i = dart.notNull(i) + 1) {
2936
- ret[dartx.add](new _debugger.NameValuePair({name: dart.toString(i), value: span.iterable[dartx.elementAt](i)}));
2937
- }
2938
- } else {
2939
- let maxPowerOfSubsetSize = (dart.notNull(math.log(length - 0.5)) / dart.notNull(math.log(_debugger._maxSpanLength)))[dartx.truncate]();
2940
- let subsetSize = math.pow(_debugger._maxSpanLength, maxPowerOfSubsetSize);
2941
- for (let i = span.start; dart.notNull(i) < dart.notNull(span.end); i = dart.notNull(i) + dart.notNull(dart.asInt(subsetSize))) {
2942
- let endIndex = math.min(core.num)(span.end, dart.notNull(subsetSize) + dart.notNull(i));
2943
- if (dart.notNull(endIndex) - dart.notNull(i) == 1)
2944
- ret[dartx.add](new _debugger.NameValuePair({name: dart.toString(i), value: span.iterable[dartx.elementAt](i)}));
2945
- else {
2946
- let entryWrapper = new _debugger.IterableSpan({start: i, end: dart.asInt(endIndex), iterable: span.iterable});
2947
- ret[dartx.add](new _debugger.NameValuePair({name: dart.str`[${i}...${dart.notNull(endIndex) - 1}]`, value: entryWrapper, hideName: true}));
2948
- }
2949
- }
2950
- }
2951
- return ret;
2952
- };
2953
- dart.lazyFn(_debugger.childrenHelper, () => IterableSpanToListOfNameValuePair());
2954
2963
_debugger.registerDevtoolsFormatter = function() {
2955
2964
let formatters = JSArrayOfJsonMLFormatter().of([_debugger._devtoolsFormatter]);
2956
2965
dart.global.devtoolsFormatters = formatters;
0 commit comments