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

Unified Diff: lib/runtime/dart_sdk.js

Issue 2164763005: Library custom formatters (Closed) Base URL: https://github.com/dart-lang/dev_compiler.git@master
Patch Set: Removal of generic argument parenthesis Created 4 years, 5 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:
Download patch
Index: lib/runtime/dart_sdk.js
diff --git a/lib/runtime/dart_sdk.js b/lib/runtime/dart_sdk.js
index 833702e8b97d6e69007fd154bd8f91d0264f913d..65a8c96447a75d36d570841e6e24a8f2806c0a81 100644
--- a/lib/runtime/dart_sdk.js
+++ b/lib/runtime/dart_sdk.js
@@ -40,6 +40,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
let JSArrayOfFormatter = () => (JSArrayOfFormatter = dart.constFn(_interceptors.JSArray$(_debugger.Formatter)))();
let LinkedHashSetOfNameValuePair = () => (LinkedHashSetOfNameValuePair = dart.constFn(collection.LinkedHashSet$(_debugger.NameValuePair)))();
let SetOfString = () => (SetOfString = dart.constFn(core.Set$(core.String)))();
+ let JSArrayOfString = () => (JSArrayOfString = dart.constFn(_interceptors.JSArray$(core.String)))();
let ListOfNameValuePair = () => (ListOfNameValuePair = dart.constFn(core.List$(_debugger.NameValuePair)))();
let JSArrayOfJsonMLFormatter = () => (JSArrayOfJsonMLFormatter = dart.constFn(_interceptors.JSArray$(_debugger.JsonMLFormatter)))();
let JSArray = () => (JSArray = dart.constFn(_interceptors.JSArray$()))();
@@ -48,7 +49,6 @@ dart_library.library('dart_sdk', null, /* Imports */[
let JSExtendableArray = () => (JSExtendableArray = dart.constFn(_interceptors.JSExtendableArray$()))();
let JSUnmodifiableArray = () => (JSUnmodifiableArray = dart.constFn(_interceptors.JSUnmodifiableArray$()))();
let ArrayIterator = () => (ArrayIterator = dart.constFn(_interceptors.ArrayIterator$()))();
- let JSArrayOfString = () => (JSArrayOfString = dart.constFn(_interceptors.JSArray$(core.String)))();
let MatchToString = () => (MatchToString = dart.constFn(dart.functionType(core.String, [core.Match])))();
let StringToString = () => (StringToString = dart.constFn(dart.functionType(core.String, [core.String])))();
let ComparableOfnum = () => (ComparableOfnum = dart.constFn(core.Comparable$(core.num)))();
@@ -306,6 +306,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
let _SplayTreeNodeIterator = () => (_SplayTreeNodeIterator = dart.constFn(collection._SplayTreeNodeIterator$()))();
let SplayTreeSet = () => (SplayTreeSet = dart.constFn(collection.SplayTreeSet$()))();
let dynamicAnddynamicTodynamic = () => (dynamicAnddynamicTodynamic = dart.constFn(dart.functionType(dart.dynamic, [dart.dynamic, dart.dynamic])))();
+ let MappedIterableOfString$dynamic = () => (MappedIterableOfString$dynamic = dart.constFn(_internal.MappedIterable$(core.String, dart.dynamic)))();
let Codec = () => (Codec = dart.constFn(convert.Codec$()))();
let ComparableOfString = () => (ComparableOfString = dart.constFn(core.Comparable$(core.String)))();
let List = () => (List = dart.constFn(core.List$()))();
@@ -363,6 +364,8 @@ dart_library.library('dart_sdk', null, /* Imports */[
let EventTovoid = () => (EventTovoid = dart.constFn(dart.functionType(dart.void, [html$.Event])))();
let FutureOfint = () => (FutureOfint = dart.constFn(async.Future$(core.int)))();
let CompleterOfDatabase = () => (CompleterOfDatabase = dart.constFn(async.Completer$(indexed_db.Database)))();
+ let RectangleOfint = () => (RectangleOfint = dart.constFn(math.Rectangle$(core.int)))();
+ let PointOfint = () => (PointOfint = dart.constFn(math.Point$(core.int)))();
let _CustomEventStreamProviderOfWheelEvent = () => (_CustomEventStreamProviderOfWheelEvent = dart.constFn(html$._CustomEventStreamProvider$(html$.WheelEvent)))();
let _CustomEventStreamProviderOfTransitionEvent = () => (_CustomEventStreamProviderOfTransitionEvent = dart.constFn(html$._CustomEventStreamProvider$(html$.TransitionEvent)))();
let EventStreamProviderOfMouseEvent = () => (EventStreamProviderOfMouseEvent = dart.constFn(html$.EventStreamProvider$(html$.MouseEvent)))();
@@ -435,8 +438,10 @@ dart_library.library('dart_sdk', null, /* Imports */[
let EventStreamProviderOfDeviceOrientationEvent = () => (EventStreamProviderOfDeviceOrientationEvent = dart.constFn(html$.EventStreamProvider$(html$.DeviceOrientationEvent)))();
let EventStreamProviderOfAnimationEvent = () => (EventStreamProviderOfAnimationEvent = dart.constFn(html$.EventStreamProvider$(html$.AnimationEvent)))();
let StreamControllerOfBeforeUnloadEvent = () => (StreamControllerOfBeforeUnloadEvent = dart.constFn(async.StreamController$(html$.BeforeUnloadEvent)))();
- let _ElementListEventStreamImplOfEvent = () => (_ElementListEventStreamImplOfEvent = dart.constFn(html$._ElementListEventStreamImpl$(html$.Event)))();
+ let _ElementEventStreamImplOfBeforeUnloadEvent = () => (_ElementEventStreamImplOfBeforeUnloadEvent = dart.constFn(html$._ElementEventStreamImpl$(html$.BeforeUnloadEvent)))();
+ let _ElementListEventStreamImplOfBeforeUnloadEvent = () => (_ElementListEventStreamImplOfBeforeUnloadEvent = dart.constFn(html$._ElementListEventStreamImpl$(html$.BeforeUnloadEvent)))();
let EventStreamProviderOfBeforeUnloadEvent = () => (EventStreamProviderOfBeforeUnloadEvent = dart.constFn(html$.EventStreamProvider$(html$.BeforeUnloadEvent)))();
+ let PointOfdouble = () => (PointOfdouble = dart.constFn(math.Point$(core.double)))();
let ListOfRectangleOfnum = () => (ListOfRectangleOfnum = dart.constFn(core.List$(RectangleOfnum())))();
let ListOfCssRule = () => (ListOfCssRule = dart.constFn(core.List$(html$.CssRule)))();
let ListOfGamepad = () => (ListOfGamepad = dart.constFn(core.List$(html$.Gamepad)))();
@@ -460,7 +465,6 @@ dart_library.library('dart_sdk', null, /* Imports */[
let _CustomEventStreamProvider = () => (_CustomEventStreamProvider = dart.constFn(html$._CustomEventStreamProvider$()))();
let JSArrayOfKeyEvent = () => (JSArrayOfKeyEvent = dart.constFn(_interceptors.JSArray$(html$.KeyEvent)))();
let JSArrayOfNodeValidator = () => (JSArrayOfNodeValidator = dart.constFn(_interceptors.JSArray$(html$.NodeValidator)))();
- let _WrappedIteratorOfNode = () => (_WrappedIteratorOfNode = dart.constFn(html$._WrappedIterator$(html$.Node)))();
let _WrappedList = () => (_WrappedList = dart.constFn(html$._WrappedList$()))();
let _WrappedIterator = () => (_WrappedIterator = dart.constFn(html$._WrappedIterator$()))();
let FixedSizeListIterator = () => (FixedSizeListIterator = dart.constFn(html$.FixedSizeListIterator$()))();
@@ -482,6 +486,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
let TypeToString = () => (TypeToString = dart.constFn(dart.definiteFunctionType(core.String, [core.Type])))();
let dynamicAndStringTobool = () => (dynamicAndStringTobool = dart.constFn(dart.definiteFunctionType(core.bool, [dart.dynamic, core.String])))();
let intAnddynamicTovoid = () => (intAnddynamicTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.int, dart.dynamic])))();
+ let ObjectAndStringToObject = () => (ObjectAndStringToObject = dart.constFn(dart.definiteFunctionType(core.Object, [core.Object, core.String])))();
let dynamicTobool$ = () => (dynamicTobool$ = dart.constFn(dart.definiteFunctionType(core.bool, [dart.dynamic])))();
let dynamicAnddynamicTovoid = () => (dynamicAnddynamicTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [dart.dynamic, dart.dynamic])))();
let VoidTodynamic$ = () => (VoidTodynamic$ = dart.constFn(dart.definiteFunctionType(dart.dynamic, [])))();
@@ -594,7 +599,6 @@ dart_library.library('dart_sdk', null, /* Imports */[
let IterableAndListTovoid = () => (IterableAndListTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [core.Iterable, core.List])))();
let _SplayTreeMapNodeTobool = () => (_SplayTreeMapNodeTobool = dart.constFn(dart.definiteFunctionType(core.bool, [collection._SplayTreeMapNode])))();
let dynamicAndFnTodynamic = () => (dynamicAndFnTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [dart.dynamic, dynamicAnddynamicTodynamic()])))();
- let EventSinkTo_ConverterStreamEventSink = () => (EventSinkTo_ConverterStreamEventSink = dart.constFn(dart.definiteFunctionType(convert._ConverterStreamEventSink, [async.EventSink])))();
let Uint8ListAndintAndintTovoid = () => (Uint8ListAndintAndintTovoid = dart.constFn(dart.definiteFunctionType(dart.void, [typed_data.Uint8List, core.int, core.int])))();
let StringAndFnTodynamic = () => (StringAndFnTodynamic = dart.constFn(dart.definiteFunctionType(dart.dynamic, [core.String, dynamicAnddynamicTodynamic()])))();
let EventSinkOfStringTo_LineSplitterEventSink = () => (EventSinkOfStringTo_LineSplitterEventSink = dart.constFn(dart.definiteFunctionType(convert._LineSplitterEventSink, [EventSinkOfString()])))();
@@ -764,6 +768,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
}
return value;
}
+ makeGenericType[dart._genericTypeCtor] = typeConstructor;
return makeGenericType;
};
dart.getGenericClass = function(type) {
@@ -772,6 +777,12 @@ dart_library.library('dart_sdk', null, /* Imports */[
dart.getGenericArgs = function(type) {
return dart.safeGetOwnProperty(type, dart._typeArguments);
};
+ dart.getMethodSig = function(value) {
+ return value[dart._methodSig];
+ };
+ dart.getGenericTypeCtor = function(value) {
+ return value[dart._genericTypeCtor];
+ };
dart.getMethodType = function(obj, name) {
let type = obj == null ? core.Object : obj.__proto__.constructor;
return dart.getMethodTypeFromType(type, name);
@@ -843,6 +854,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
let ctor = function(...args) {
initMethod.apply(this, args);
};
+ ctor[dart.isNamedConstructor] = true;
ctor.prototype = proto;
dart.defineProperty(clazz, name, {value: ctor, configurable: true});
};
@@ -1005,6 +1017,12 @@ dart_library.library('dart_sdk', null, /* Imports */[
dart._getRuntimeType = function(value) {
return value[dart._runtimeType];
};
+ dart.getIsNamedConstructor = function(value) {
+ return value[dart.isNamedConstructor];
+ };
+ dart.getDartLibraryName = function(value) {
+ return value[dart_library.dartLibraryName];
+ };
dart.tag = function(value, t) {
value[dart._runtimeType] = t;
};
@@ -1845,9 +1863,11 @@ dart_library.library('dart_sdk', null, /* Imports */[
dart._constructorSig = Symbol("sigCtor");
dart._methodSig = Symbol("sig");
dart._staticSig = Symbol("sigStatic");
+ dart._genericTypeCtor = Symbol("genericType");
dart._extensionType = Symbol("extensionType");
dart.dartx = dartx;
dart._runtimeType = Symbol("_runtimeType");
+ dart.isNamedConstructor = Symbol("isNamedConstructor");
dart.metadata = Symbol("metadata");
dart._typeObject = Symbol("typeObject");
core.Object = class Object {
@@ -2459,22 +2479,22 @@ dart_library.library('dart_sdk', null, /* Imports */[
return this.iterable[dartx.skip](this.start)[dartx.take](this.length)[dartx.toList]()[dartx.asMap]();
}
children() {
- let ret = JSArrayOfNameValuePair().of([]);
+ let children = JSArrayOfNameValuePair().of([]);
if (dart.notNull(this.length) <= dart.notNull(_debugger._maxSpanLength)) {
this.asMap()[dartx.forEach](dart.fn((i, element) => {
- ret[dartx.add](new _debugger.NameValuePair({name: dart.toString(dart.notNull(i) + dart.notNull(this.start)), value: element}));
+ children[dartx.add](new _debugger.NameValuePair({name: dart.toString(dart.notNull(i) + dart.notNull(this.start)), value: element}));
}, intAnddynamicTovoid()));
} else {
for (let i = this.start; dart.notNull(i) < dart.notNull(this.end); i = dart.notNull(i) + dart.notNull(this.subsetSize)) {
let subSpan = new _debugger.IterableSpan(i, math.min(core.int)(this.end, dart.notNull(this.subsetSize) + dart.notNull(i)), this.iterable);
if (subSpan.length == 1) {
- ret[dartx.add](new _debugger.NameValuePair({name: dart.toString(i), value: this.iterable[dartx.elementAt](i)}));
+ children[dartx.add](new _debugger.NameValuePair({name: dart.toString(i), value: this.iterable[dartx.elementAt](i)}));
} else {
- ret[dartx.add](new _debugger.NameValuePair({name: dart.str`[${i}...${dart.notNull(subSpan.end) - 1}]`, value: subSpan, hideName: true}));
+ children[dartx.add](new _debugger.NameValuePair({name: dart.str`[${i}...${dart.notNull(subSpan.end) - 1}]`, value: subSpan, hideName: true}));
}
}
}
- return ret;
+ return children;
}
};
dart.setSignature(_debugger.IterableSpan, {
@@ -2484,13 +2504,35 @@ dart_library.library('dart_sdk', null, /* Imports */[
children: dart.definiteFunctionType(core.List$(_debugger.NameValuePair), [])
})
});
- _debugger.ClassMetadata = class ClassMetadata extends core.Object {
+ _debugger.Library = class Library extends core.Object {
+ new(name, object) {
+ this.name = name;
+ this.object = object;
+ }
+ };
+ dart.setSignature(_debugger.Library, {
+ constructors: () => ({new: dart.definiteFunctionType(_debugger.Library, [core.String, core.Object])})
+ });
+ _debugger.NamedConstructor = class NamedConstructor extends core.Object {
new(object) {
this.object = object;
}
};
+ dart.setSignature(_debugger.NamedConstructor, {
+ constructors: () => ({new: dart.definiteFunctionType(_debugger.NamedConstructor, [core.Object])})
+ });
+ _debugger.ClassMetadata = class ClassMetadata extends core.Object {
+ new(object, opts) {
+ let name = opts && 'name' in opts ? opts.name : null;
+ this.object = object;
+ this.name = name;
+ }
+ get typeName() {
+ return this.name == null ? _debugger.getTypeName(core.Type._check(core.Type.is(this.object) ? this.object : dart.getReifiedType(this.object))) : this.name;
+ }
+ };
dart.setSignature(_debugger.ClassMetadata, {
- constructors: () => ({new: dart.definiteFunctionType(_debugger.ClassMetadata, [core.Object])})
+ constructors: () => ({new: dart.definiteFunctionType(_debugger.ClassMetadata, [core.Object], {name: core.String})})
});
_debugger.HeritageClause = class HeritageClause extends core.Object {
new(name, types) {
@@ -2501,6 +2543,17 @@ dart_library.library('dart_sdk', null, /* Imports */[
dart.setSignature(_debugger.HeritageClause, {
constructors: () => ({new: dart.definiteFunctionType(_debugger.HeritageClause, [core.String, core.List])})
});
+ _debugger.safeGetProperty = function(protoChain, name) {
+ let property = null;
+ try {
+ property = _debugger.JSNative.getProperty(protoChain, name);
+ } catch (e) {
+ property = dart.str`<Exception thrown> ${e}`;
+ }
+
+ return property;
+ };
+ dart.lazyFn(_debugger.safeGetProperty, () => ObjectAndStringToObject());
const _attributes = Symbol('_attributes');
const _jsonML = Symbol('_jsonML');
_debugger.JsonMLElement = class JsonMLElement extends core.Object {
@@ -2631,7 +2684,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
_debugger.DartFormatter = class DartFormatter extends core.Object {
new() {
this[_formatters] = null;
- this[_formatters] = JSArrayOfFormatter().of([new _debugger.FunctionFormatter(), new _debugger.MapFormatter(), new _debugger.IterableFormatter(), new _debugger.MapEntryFormatter(), new _debugger.IterableSpanFormatter(), new _debugger.ClassMetadataFormatter(), new _debugger.HeritageClauseFormatter(), new _debugger.ObjectFormatter()]);
+ this[_formatters] = JSArrayOfFormatter().of([new _debugger.NamedConstructorFormatter(), new _debugger.FunctionFormatter(), new _debugger.MapFormatter(), new _debugger.IterableFormatter(), new _debugger.MapEntryFormatter(), new _debugger.IterableSpanFormatter(), new _debugger.ClassMetadataFormatter(), new _debugger.HeritageClauseFormatter(), new _debugger.LibraryModuleFormatter(), new _debugger.LibraryFormatter(), new _debugger.ObjectFormatter()]);
}
preview(object) {
try {
@@ -2697,11 +2750,11 @@ dart_library.library('dart_sdk', null, /* Imports */[
children(object) {
let properties = LinkedHashSetOfNameValuePair().new();
this.addMetadataChildren(object, properties);
- let protoChain = JSArrayOfObject().of([]);
let current = object;
+ let protoChain = JSArrayOfObject().of([]);
while (current != null && !dart.test(_debugger.isNativeJavaScriptObject(current)) && current !== Object.prototype) {
protoChain[dartx.add](current);
- current = _debugger.JSNative.getProperty(current, '__proto__');
+ current = _debugger.safeGetProperty(current, '__proto__');
}
for (/* Unimplemented unknown name */current of protoChain) {
for (let symbol of _debugger.getOwnPropertySymbols(current)) {
@@ -2715,13 +2768,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
} else if (!dart.test(dartName[dartx.startsWith]('_'))) {
continue;
}
- let value = null;
- try {
- value = _debugger.JSNative.getProperty(object, symbol);
- } catch (e) {
- value = dart.str`<Exception thrown> ${e}`;
- }
-
+ let value = _debugger.safeGetProperty(object, core.String._check(symbol));
properties.add(new _debugger.NameValuePair({name: dartName, value: value}));
}
}
@@ -2732,20 +2779,15 @@ dart_library.library('dart_sdk', null, /* Imports */[
if (dart.test(_debugger.hasMethod(object, name))) {
continue;
}
- let value = null;
- try {
- value = _debugger.JSNative.getProperty(object, name);
- } catch (e) {
- value = dart.str`<Exception thrown> ${e}`;
- }
-
+ let value = _debugger.safeGetProperty(object, name);
properties.add(new _debugger.NameValuePair({name: name, value: value}));
}
}
return properties.toList();
}
addMetadataChildren(object, ret) {
- ret.add(new _debugger.NameValuePair({name: '[[class]]', value: new _debugger.ClassMetadata(object)}));
+ let child = new _debugger.ClassMetadata(object);
+ ret.add(new _debugger.NameValuePair({name: child.typeName, value: child}));
}
};
dart.setSignature(_debugger.ObjectFormatter, {
@@ -2769,6 +2811,70 @@ dart_library.library('dart_sdk', null, /* Imports */[
},
set _customNames(_) {}
});
+ _debugger.LibraryModuleFormatter = class LibraryModuleFormatter extends _debugger.ObjectFormatter {
+ new() {
+ this.libraryName = null;
+ }
+ accept(object) {
+ this.libraryName = core.String._check(dart.getDartLibraryName(object));
+ return this.libraryName != null;
+ }
+ hasChildren(object) {
+ return true;
+ }
+ preview(object) {
+ let libraryNames = this.libraryName[dartx.split]('/');
+ if (dart.notNull(libraryNames[dartx.length]) > 1) {
+ libraryNames[dartx.set](dart.notNull(libraryNames[dartx.length]) - 1, '');
+ }
+ return dart.str`Library Module: ${libraryNames[dartx.join]('/')}`;
+ }
+ children(object) {
+ let children = LinkedHashSetOfNameValuePair().new();
+ for (let name of _debugger.getOwnPropertyNames(object)) {
+ let value = _debugger.safeGetProperty(object, name);
+ name = dart.str`${name[dartx.replaceAll]("__", "/")}.dart`;
+ children.add(new _debugger.NameValuePair({name: name, value: new _debugger.Library(name, value), hideName: true}));
+ }
+ return children.toList();
+ }
+ };
+ _debugger.LibraryFormatter = class LibraryFormatter extends _debugger.ObjectFormatter {
+ new() {
+ this.genericName = null;
+ this.genericTypes = null;
+ }
+ accept(object) {
+ return _debugger.Library.is(object);
+ }
+ hasChildren(object) {
+ return true;
+ }
+ preview(object) {
+ return core.String._check(dart.dload(object, 'name'));
+ }
+ children(object) {
+ let children = LinkedHashSetOfNameValuePair().new();
+ let entry = dart.dload(object, 'object');
+ for (let name of _debugger.getOwnPropertyNames(entry)) {
+ let value = _debugger.safeGetProperty(entry, name);
+ let genericTypeConstructor = dart.getGenericTypeCtor(value);
+ if (genericTypeConstructor != null) {
+ this.genericName = name;
+ this.genericTypes = genericTypeConstructor.toString()[dartx.split](' =>')[dartx.get](0)[dartx.replaceAll]('(', '')[dartx.replaceAll](')', '');
+ } else if (core.Type.is(value)) {
+ let typeName = _debugger.getTypeName(value);
+ if (dart.str`${name}\$` == this.genericName) {
+ typeName = dart.str`${typeName}<${this.genericTypes}>`;
+ }
+ children.add(new _debugger.NameValuePair({name: typeName, value: new _debugger.ClassMetadata(value, {name: typeName})}));
+ } else {
+ children.add(new _debugger.NameValuePair({name: name, value: new _debugger.ClassMetadata(value)}));
+ }
+ }
+ return children.toList();
+ }
+ };
_debugger.FunctionFormatter = class FunctionFormatter extends _debugger.Formatter {
accept(object) {
if (_debugger._typeof(object) != 'function') return false;
@@ -2832,10 +2938,10 @@ dart_library.library('dart_sdk', null, /* Imports */[
return true;
}
children(object) {
- let ret = LinkedHashSetOfNameValuePair().new();
- ret.addAll(new _debugger.IterableSpan(0, core.int._check(dart.dload(object, 'length')), core.Iterable._check(object)).children());
- this.addMetadataChildren(object, ret);
- return ret.toList();
+ let children = LinkedHashSetOfNameValuePair().new();
+ children.addAll(new _debugger.IterableSpan(0, core.int._check(dart.dload(object, 'length')), core.Iterable._check(object)).children());
+ this.addMetadataChildren(object, children);
+ return children.toList();
}
};
const _getType = Symbol('_getType');
@@ -2849,35 +2955,85 @@ dart_library.library('dart_sdk', null, /* Imports */[
}
preview(object) {
let entry = _debugger.ClassMetadata._check(object);
- return _debugger.getTypeName(core.Type._check(this[_getType](entry.object)));
+ let type = core.Type.is(entry.object) ? entry.object : dart.getReifiedType(entry.object);
+ let implements$ = dart.getImplements(type);
+ if (implements$ != null) {
+ let typeNames = dart.dsend(dart.dcall(implements$), 'map', _debugger.getTypeName);
+ return dart.str`${entry.typeName} implements ${dart.dsend(typeNames, 'join', ", ")}`;
+ } else {
+ return entry.typeName;
+ }
}
hasChildren(object) {
return true;
}
children(object) {
let entry = _debugger.ClassMetadata._check(object);
- let type = this[_getType](entry.object);
- let ret = JSArrayOfNameValuePair().of([]);
- let implements$ = dart.getImplements(type);
- if (implements$ != null) {
- ret[dartx.add](new _debugger.NameValuePair({name: '[[Implements]]', value: new _debugger.HeritageClause('implements', core.List._check(dart.dcall(implements$)))}));
- }
+ let classObject = entry.object;
+ let type = this[_getType](classObject);
+ let children = JSArrayOfNameValuePair().of([]);
let mixins = dart.getMixins(type);
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, 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'), config: _debugger.JsonMLConfig.skipDart}));
+ children[dartx.add](new _debugger.NameValuePair({name: '[[Mixins]]', value: new _debugger.HeritageClause('mixins', core.List._check(mixins))}));
+ }
+ let hiddenProperties = JSArrayOfString().of(['length', 'name', 'prototype']);
+ for (let name of _debugger.getOwnPropertyNames(classObject)) {
+ if (dart.test(hiddenProperties[dartx.contains](name))) continue;
+ let value = _debugger.safeGetProperty(classObject, name);
+ if (value != null && dart.getIsNamedConstructor(value) != null) {
+ value = new _debugger.NamedConstructor(value);
+ name = dart.str`${entry.typeName}.${name}`;
+ }
+ children[dartx.add](new _debugger.NameValuePair({name: name, value: value}));
+ }
+ let hiddenPrototypeProperties = JSArrayOfString().of(['constructor', 'new', '$identityHash']);
+ let prototype = classObject.prototype;
+ if (prototype != null) {
+ for (let name of _debugger.getOwnPropertyNames(prototype)) {
+ if (dart.test(hiddenPrototypeProperties[dartx.contains](name))) continue;
+ let func = _debugger.safeGetProperty(prototype, name);
+ let constructor = _debugger.safeGetProperty(prototype, 'constructor');
+ let sigObj = dart.getMethodSig(constructor);
+ if (sigObj != null) {
+ let value = _debugger.safeGetProperty(sigObj, name);
+ if (_debugger.getTypeName(core.Type._check(dart.getReifiedType(value))) != 'Null') {
+ dart.tag(func, value);
+ children[dartx.add](new _debugger.NameValuePair({name: name, value: func}));
+ }
+ }
+ }
}
- return ret;
+ return children;
}
};
_debugger.ClassMetadataFormatter[dart.implements] = () => [_debugger.Formatter];
dart.setSignature(_debugger.ClassMetadataFormatter, {
methods: () => ({
accept: dart.definiteFunctionType(core.bool, [dart.dynamic]),
- [_getType]: dart.definiteFunctionType(dart.dynamic, [dart.dynamic]),
+ [_getType]: dart.definiteFunctionType(core.Object, [dart.dynamic]),
+ preview: dart.definiteFunctionType(core.String, [dart.dynamic]),
+ hasChildren: dart.definiteFunctionType(core.bool, [dart.dynamic]),
+ children: dart.definiteFunctionType(core.List$(_debugger.NameValuePair), [dart.dynamic])
+ })
+ });
+ _debugger.NamedConstructorFormatter = class NamedConstructorFormatter extends core.Object {
+ accept(object) {
+ return _debugger.NamedConstructor.is(object);
+ }
+ preview(object) {
+ return 'Named Constructor';
+ }
+ hasChildren(object) {
+ return true;
+ }
+ children(object) {
+ return JSArrayOfNameValuePair().of([new _debugger.NameValuePair({name: 'JavaScript Function', value: object, config: _debugger.JsonMLConfig.skipDart})]);
+ }
+ };
+ _debugger.NamedConstructorFormatter[dart.implements] = () => [_debugger.Formatter];
+ dart.setSignature(_debugger.NamedConstructorFormatter, {
+ methods: () => ({
+ accept: dart.definiteFunctionType(core.bool, [dart.dynamic]),
preview: dart.definiteFunctionType(core.String, [dart.dynamic]),
hasChildren: dart.definiteFunctionType(core.bool, [dart.dynamic]),
children: dart.definiteFunctionType(core.List$(_debugger.NameValuePair), [dart.dynamic])
@@ -2913,7 +3069,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
}
preview(object) {
let clause = _debugger.HeritageClause._check(object);
- let typeNames = clause.types[dartx.map](core.String)(dart.fn(type => _debugger.getTypeName(core.Type._check(type)), dynamicToString()));
+ let typeNames = clause.types[dartx.map](core.String)(_debugger.getTypeName);
return dart.str`${clause.name} ${typeNames[dartx.join](", ")}`;
}
hasChildren(object) {
@@ -2921,11 +3077,11 @@ dart_library.library('dart_sdk', null, /* Imports */[
}
children(object) {
let clause = _debugger.HeritageClause._check(object);
- let ret = JSArrayOfNameValuePair().of([]);
+ let children = JSArrayOfNameValuePair().of([]);
for (let type of clause.types) {
- ret[dartx.add](new _debugger.NameValuePair({value: new _debugger.ClassMetadata(type)}));
+ children[dartx.add](new _debugger.NameValuePair({value: new _debugger.ClassMetadata(type)}));
}
- return ret;
+ return children;
}
};
_debugger.HeritageClauseFormatter[dart.implements] = () => [_debugger.Formatter];
@@ -25690,7 +25846,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
}
get values() {
if (dart.test(this[_isUpgraded])) return this[_upgradedMap][dartx.values];
- return _internal.MappedIterable.new(this[_computeKeys$](), dart.fn(each => this.get(each), dynamicTodynamic$()));
+ return MappedIterableOfString$dynamic().new(this[_computeKeys$](), dart.fn(each => this.get(each), dynamicTodynamic$()));
}
set(key, value) {
if (dart.test(this[_isUpgraded])) {
@@ -26224,9 +26380,11 @@ dart_library.library('dart_sdk', null, /* Imports */[
const _subsetMask = Symbol('_subsetMask');
convert.Converter$ = dart.generic((S, T) => {
let StreamOfS = () => (StreamOfS = dart.constFn(async.Stream$(S)))();
+ let _ConverterStreamEventSinkOfS$dynamic = () => (_ConverterStreamEventSinkOfS$dynamic = dart.constFn(convert._ConverterStreamEventSink$(S, dart.dynamic)))();
let StreamTransformerOfS$T = () => (StreamTransformerOfS$T = dart.constFn(async.StreamTransformer$(S, T)))();
let SinkOfT = () => (SinkOfT = dart.constFn(core.Sink$(T)))();
let StreamOfT = () => (StreamOfT = dart.constFn(async.Stream$(T)))();
+ let EventSinkTo_ConverterStreamEventSinkOfS$dynamic = () => (EventSinkTo_ConverterStreamEventSinkOfS$dynamic = dart.constFn(dart.definiteFunctionType(_ConverterStreamEventSinkOfS$dynamic(), [async.EventSink])))();
class Converter extends core.Object {
new() {
}
@@ -26242,7 +26400,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
}
bind(stream) {
StreamOfS()._check(stream);
- return StreamOfT().eventTransformed(stream, dart.fn(sink => new convert._ConverterStreamEventSink(this, sink), EventSinkTo_ConverterStreamEventSink()));
+ return StreamOfT().eventTransformed(stream, dart.fn(sink => new (_ConverterStreamEventSinkOfS$dynamic())(this, sink), EventSinkTo_ConverterStreamEventSinkOfS$dynamic()));
}
}
dart.addTypeTests(Converter);
@@ -36565,10 +36723,10 @@ dart_library.library('dart_sdk', null, /* Imports */[
return html$.window[_getComputedStyle](this, pseudoElement);
}
get [dartx.client]() {
- return new (RectangleOfnum())(this[dartx.clientLeft], this[dartx.clientTop], this[dartx.clientWidth], this[dartx.clientHeight]);
+ return new (RectangleOfint())(this[dartx.clientLeft], this[dartx.clientTop], this[dartx.clientWidth], this[dartx.clientHeight]);
}
get [dartx.offset]() {
- return new (RectangleOfnum())(this[dartx.offsetLeft], this[dartx.offsetTop], this[dartx.offsetWidth], this[dartx.offsetHeight]);
+ return new (RectangleOfint())(this[dartx.offsetLeft], this[dartx.offsetTop], this[dartx.offsetWidth], this[dartx.offsetHeight]);
}
[dartx.appendText](text) {
this[dartx.append](html$.Text.new(text));
@@ -36771,7 +36929,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
let sameAsParent = core.identical(current, parent);
let foundAsParent = sameAsParent || parent[dartx.tagName] == 'HTML';
if (current == null || sameAsParent) {
- if (foundAsParent) return new (PointOfnum())(0, 0);
+ if (foundAsParent) return new (PointOfint())(0, 0);
dart.throw(new core.ArgumentError("Specified element is not a transitive offset " + "parent of this element."));
}
let parentOffset = current[dartx.offsetParent];
@@ -57931,33 +58089,33 @@ dart_library.library('dart_sdk', null, /* Imports */[
return this.initMouseEvent(type, bubbles, cancelable, view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, relatedTarget);
}
get [dartx.client]() {
- return new (PointOfnum())(this[_clientX], this[_clientY]);
+ return new (PointOfint())(this[_clientX], this[_clientY]);
}
get [dartx.movement]() {
- return new (PointOfnum())(this[_webkitMovementX], this[_webkitMovementY]);
+ return new (PointOfint())(this[_webkitMovementX], this[_webkitMovementY]);
}
get [dartx.offset]() {
if (!!this.offsetX) {
let x = this.offsetX;
let y = this.offsetY;
- return new (PointOfnum())(x, y);
+ return new (PointOfint())(x, y);
} else {
if (!html$.Element.is(this[dartx.target])) {
dart.throw(new core.UnsupportedError('offsetX is only supported on elements'));
}
let target = html$.Element._check(this[dartx.target]);
let point = this[dartx.client]['-'](target[dartx.getBoundingClientRect]()[dartx.topLeft]);
- return new (PointOfnum())(point.x[dartx.toInt](), point.y[dartx.toInt]());
+ return new (PointOfint())(point.x[dartx.toInt](), point.y[dartx.toInt]());
}
}
get [dartx.screen]() {
- return new (PointOfnum())(this[_screenX], this[_screenY]);
+ return new (PointOfint())(this[_screenX], this[_screenY]);
}
get [dartx.layer]() {
- return new (PointOfnum())(this[_layerX], this[_layerY]);
+ return new (PointOfint())(this[_layerX], this[_layerY]);
}
get [dartx.page]() {
- return new (PointOfnum())(this[_pageX], this[_pageY]);
+ return new (PointOfint())(this[_pageX], this[_pageY]);
}
};
dart.setSignature(html$.MouseEvent, {
@@ -61983,7 +62141,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
]);
html$.Screen = class Screen extends _interceptors.Interceptor {
get [dartx.available]() {
- return new (RectangleOfnum())(this[_availLeft], this[_availTop], this[_availWidth], this[_availHeight]);
+ return new (RectangleOfint())(this[_availLeft], this[_availTop], this[_availWidth], this[_availHeight]);
}
static _() {
dart.throw(new core.UnsupportedError("Not supported"));
@@ -65852,13 +66010,13 @@ dart_library.library('dart_sdk', null, /* Imports */[
return this.radiusY[dartx.round]();
}
get [dartx.client]() {
- return new (PointOfnum())(this[__clientX], this[__clientY]);
+ return new (PointOfint())(this[__clientX], this[__clientY]);
}
get [dartx.page]() {
- return new (PointOfnum())(this[__pageX], this[__pageY]);
+ return new (PointOfint())(this[__pageX], this[__pageY]);
}
get [dartx.screen]() {
- return new (PointOfnum())(this[__screenX], this[__screenY]);
+ return new (PointOfint())(this[__screenX], this[__screenY]);
}
get [dartx.radiusX]() {
return this[__radiusX];
@@ -68547,11 +68705,11 @@ dart_library.library('dart_sdk', null, /* Imports */[
}
forElement(e, opts) {
let useCapture = opts && 'useCapture' in opts ? opts.useCapture : false;
- return new (_ElementEventStreamImplOfEvent())(e, this[_eventType], useCapture);
+ return new (_ElementEventStreamImplOfBeforeUnloadEvent())(e, this[_eventType], useCapture);
}
[_forElementList](e, opts) {
let useCapture = opts && 'useCapture' in opts ? opts.useCapture : false;
- return new (_ElementListEventStreamImplOfEvent())(e, this[_eventType], useCapture);
+ return new (_ElementListEventStreamImplOfBeforeUnloadEvent())(e, this[_eventType], useCapture);
}
};
html$._BeforeUnloadEventStreamProvider[dart.implements] = () => [EventStreamProviderOfBeforeUnloadEvent()];
@@ -69146,16 +69304,16 @@ dart_library.library('dart_sdk', null, /* Imports */[
return dart.notNull(another.x) >= dart.notNull(this[dartx.left]) && dart.notNull(another.x) <= dart.notNull(this[dartx.left]) + dart.notNull(this[dartx.width]) && dart.notNull(another.y) >= dart.notNull(this[dartx.top]) && dart.notNull(another.y) <= dart.notNull(this[dartx.top]) + dart.notNull(this[dartx.height]);
}
get [dartx.topLeft]() {
- return new (PointOfnum())(this[dartx.left], this[dartx.top]);
+ return new (PointOfdouble())(this[dartx.left], this[dartx.top]);
}
get [dartx.topRight]() {
- return new (PointOfnum())(dart.notNull(this[dartx.left]) + dart.notNull(this[dartx.width]), this[dartx.top]);
+ return new (PointOfdouble())(dart.notNull(this[dartx.left]) + dart.notNull(this[dartx.width]), this[dartx.top]);
}
get [dartx.bottomRight]() {
- return new (PointOfnum())(dart.notNull(this[dartx.left]) + dart.notNull(this[dartx.width]), dart.notNull(this[dartx.top]) + dart.notNull(this[dartx.height]));
+ return new (PointOfdouble())(dart.notNull(this[dartx.left]) + dart.notNull(this[dartx.width]), dart.notNull(this[dartx.top]) + dart.notNull(this[dartx.height]));
}
get [dartx.bottomLeft]() {
- return new (PointOfnum())(this[dartx.left], dart.notNull(this[dartx.top]) + dart.notNull(this[dartx.height]));
+ return new (PointOfdouble())(this[dartx.left], dart.notNull(this[dartx.top]) + dart.notNull(this[dartx.height]));
}
static _() {
dart.throw(new core.UnsupportedError("Not supported"));
@@ -71286,6 +71444,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
html$.EventStreamProvider$ = dart.generic(T => {
let _EventStreamOfT = () => (_EventStreamOfT = dart.constFn(html$._EventStream$(T)))();
let _ElementEventStreamImplOfT = () => (_ElementEventStreamImplOfT = dart.constFn(html$._ElementEventStreamImpl$(T)))();
+ let _ElementListEventStreamImplOfT = () => (_ElementListEventStreamImplOfT = dart.constFn(html$._ElementListEventStreamImpl$(T)))();
class EventStreamProvider extends core.Object {
new(eventType) {
this[_eventType] = eventType;
@@ -71300,7 +71459,7 @@ dart_library.library('dart_sdk', null, /* Imports */[
}
[_forElementList](e, opts) {
let useCapture = opts && 'useCapture' in opts ? opts.useCapture : false;
- return new (_ElementListEventStreamImplOfEvent())(e, this[_eventType], useCapture);
+ return new (_ElementListEventStreamImplOfT())(e, this[_eventType], useCapture);
}
getEventType(target) {
return this[_eventType];
@@ -73012,13 +73171,14 @@ dart_library.library('dart_sdk', null, /* Imports */[
html$.ReadyState.COMPLETE = "complete";
const _list$ = Symbol('_list');
html$._WrappedList$ = dart.generic(E => {
+ let _WrappedIteratorOfE = () => (_WrappedIteratorOfE = dart.constFn(html$._WrappedIterator$(E)))();
let IterableOfE = () => (IterableOfE = dart.constFn(core.Iterable$(E)))();
class _WrappedList extends collection.ListBase$(E) {
new(list) {
this[_list$] = list;
}
get iterator() {
- return new (_WrappedIteratorOfNode())(this[_list$][dartx.iterator]);
+ return new (_WrappedIteratorOfE())(this[_list$][dartx.iterator]);
}
get length() {
return this[_list$][dartx.length];

Powered by Google App Engine
This is Rietveld 408576698