[ddc] Updating tearoffs to be evaluated on access.
Tearoffs are now represented as a closure that resolves an underlying bound context and property on access. `_boundMethod` and RTI getters must also be evaluated late.
Additionally, we now both canonicalize static methods and tag them with their types at class-declaration time (though lazily) - so that late resolved closures have access to their types.
Some tests have been updated to expect simpler errors. DDC traditionally emits slightly different errors that might aid in debugging.
Change-Id: I1f762b8df45e0766d16dbc8688073768c8bfd233
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/401321
Reviewed-by: Nicholas Shahan <nshahan@google.com>
Commit-Queue: Mark Zhou <markzipan@google.com>
diff --git a/pkg/dev_compiler/lib/src/kernel/compiler_new.dart b/pkg/dev_compiler/lib/src/kernel/compiler_new.dart
index e7d3106..8b7838a 100644
--- a/pkg/dev_compiler/lib/src/kernel/compiler_new.dart
+++ b/pkg/dev_compiler/lib/src/kernel/compiler_new.dart
@@ -1236,12 +1236,32 @@
var jsCtors = _defineConstructors(c, className);
var jsProperties = _emitClassProperties(c);
+ var jsStaticMethodTypeTags = <js_ast.Statement>[];
+ for (var member in c.procedures) {
+ // TODO(#57049): We tag all static members because we don't know if
+ // they've been changed after a hot reload. This won't be necessary if we
+ // can tag them during the delta diff phase.
+ if (member.isStatic && _reifyTearoff(member) && !member.isExternal) {
+ var propertyAccessor = _emitStaticTarget(member);
+ var result = js.call(
+ '#.#', [propertyAccessor.receiver, propertyAccessor.selector]);
+ // We only need to tag static functions that are torn off at
+ // compile-time. We attach these at late so tearoffs have access to
+ // their types.
+ var reifiedType = member.function
+ .computeThisFunctionType(member.enclosingLibrary.nonNullable);
+ jsStaticMethodTypeTags.add(
+ _emitFunctionTagged(result, reifiedType, asLazy: true)
+ .toStatement());
+ }
+ }
_emitSuperHelperSymbols(body);
// Emit the class, e.g. `core.Object = class Object { ... }`
_defineClass(c, className, jsProperties, body);
body.addAll(jsCtors);
+ body.addAll(jsStaticMethodTypeTags);
// Emit things that come after the ES6 `class ... { ... }`.
@@ -2473,7 +2493,6 @@
} else {
method.sourceInformation = _nodeEnd(member.fileEndOffset);
}
-
return method;
}
@@ -3454,10 +3473,23 @@
.where((p) =>
!p.isExternal && !p.isAbstract && !_isStaticInteropTearOff(p))
.toList();
- _moduleItems.addAll(procedures
- .where((p) => !p.isAccessor)
- .map(_emitLibraryFunction)
- .toList());
+ for (var p in procedures) {
+ if (!p.isAccessor) {
+ _moduleItems.add(_emitLibraryFunction(p));
+ }
+ // TODO(#57049): We tag all static members because we don't know if
+ // they've been changed after a hot reload. This won't be necessary if we
+ // can tag them during the delta diff phase.
+ if (p.isStatic && _reifyTearoff(p) && !p.isExternal) {
+ var nameExpr = _emitTopLevelName(p);
+ _moduleItems.add(_emitFunctionTagged(
+ nameExpr,
+ p.function
+ .computeThisFunctionType(p.enclosingLibrary.nonNullable),
+ asLazy: true)
+ .toStatement());
+ }
+ }
var accessors =
procedures.where((p) => p.isAccessor).map(_emitLibraryAccessor);
libraryProperties.addAll(accessors);
@@ -3638,13 +3670,15 @@
return candidateName;
}
- js_ast.Expression _emitFunctionTagged(
- js_ast.Expression fn, FunctionType type) {
+ js_ast.Expression _emitFunctionTagged(js_ast.Expression fn, FunctionType type,
+ {bool asLazy = false}) {
var typeRep = _emitType(
// Avoid tagging a closure as Function? or Function*
type.withDeclaredNullability(Nullability.nonNullable));
if (type.typeParameters.isEmpty) {
- return _runtimeCall('fn(#, #)', [fn, typeRep]);
+ return asLazy
+ ? _runtimeCall('lazyFn(#, () => #)', [fn, typeRep])
+ : _runtimeCall('fn(#, #)', [fn, typeRep]);
} else {
var typeParameterDefaults = [
for (var parameter in type.typeParameters)
@@ -3652,8 +3686,11 @@
];
var defaultInstantiatedBounds =
_emitConstList(const DynamicType(), typeParameterDefaults);
- return _runtimeCall(
- 'gFn(#, #, #)', [fn, typeRep, defaultInstantiatedBounds]);
+ return asLazy
+ ? _runtimeCall('lazyGFn(#, () => #, () => #)',
+ [fn, typeRep, defaultInstantiatedBounds])
+ : _runtimeCall(
+ 'gFn(#, #, #)', [fn, typeRep, defaultInstantiatedBounds]);
}
}
@@ -5422,7 +5459,7 @@
}
var jsMemberName = _emitMemberName(memberName, member: member);
if (_reifyTearoff(member)) {
- return _runtimeCall('bind(#, #)', [jsReceiver, jsMemberName]);
+ return _runtimeCall('tearoff(#, #)', [jsReceiver, jsMemberName]);
}
var jsPropertyAccess = js_ast.PropertyAccess(jsReceiver, jsMemberName);
return isJsMember(member)
@@ -5612,15 +5649,12 @@
_emitStaticGet(node.target);
js_ast.Expression _emitStaticGet(Member target) {
- var result = _emitStaticTarget(target);
+ var propertyAccessor = _emitStaticTarget(target);
+ var context = propertyAccessor.receiver;
+ var property = propertyAccessor.selector;
+ var result = js.call('#.#', [context, property]);
if (_reifyTearoff(target)) {
- // TODO(jmesserly): we could tag static/top-level function types once
- // in the module initialization, rather than at the point where they
- // escape.
- return _emitFunctionTagged(
- result,
- target.function!
- .computeThisFunctionType(target.enclosingLibrary.nonNullable));
+ return _runtimeCall('staticTearoff(#, #)', [context, property]);
}
return result;
}
@@ -6721,7 +6755,7 @@
}
/// Emits the target of a [StaticInvocation], [StaticGet], or [StaticSet].
- js_ast.Expression _emitStaticTarget(Member target) {
+ js_ast.PropertyAccess _emitStaticTarget(Member target) {
var c = target.enclosingClass;
if (c != null) {
// A static native element should just forward directly to the JS type's
@@ -6731,9 +6765,12 @@
if (isExternal && (target as Procedure).isStatic) {
var nativeName = _extensionTypes.getNativePeers(c);
if (nativeName.isNotEmpty) {
- var memberName = _annotationName(target, isJSName) ??
- _emitStaticMemberName(target.name.text, target);
- return _runtimeCall('global.#.#', [nativeName[0], memberName]);
+ var annotationName = _annotationName(target, isJSName);
+ var memberName = annotationName == null
+ ? _emitStaticMemberName(target.name.text, target)
+ : js.string(annotationName);
+ return js_ast.PropertyAccess(
+ _runtimeCall('global.#', [nativeName[0]]), memberName);
}
}
return js_ast.PropertyAccess(_emitStaticClassName(c, isExternal),
diff --git a/pkg/dev_compiler/lib/src/kernel/expression_compiler.dart b/pkg/dev_compiler/lib/src/kernel/expression_compiler.dart
index 7a9a216..c368ebd 100644
--- a/pkg/dev_compiler/lib/src/kernel/expression_compiler.dart
+++ b/pkg/dev_compiler/lib/src/kernel/expression_compiler.dart
@@ -233,9 +233,9 @@
var args = localJsScope.join(',\n ');
jsExpression = jsExpression.split('\n').join('\n ');
- var callExpression = '\n ($jsExpression('
- '\n $args'
- '\n ))';
+ // We check for '_boundMethod' in case tearoffs are returned.
+ var callExpression = '((() => {var output = $jsExpression($args); '
+ 'return output?._boundMethod || output;})())';
_log('Compiled expression \n$expression to $callExpression');
return callExpression;
diff --git a/pkg/dev_compiler/test/expression_compiler/runtime_debugger_api_test.dart b/pkg/dev_compiler/test/expression_compiler/runtime_debugger_api_test.dart
index a05d6d5..b69ea9a 100644
--- a/pkg/dev_compiler/test/expression_compiler/runtime_debugger_api_test.dart
+++ b/pkg/dev_compiler/test/expression_compiler/runtime_debugger_api_test.dart
@@ -697,11 +697,13 @@
test('getFunctionName (static method)', () async {
var getFunctionName =
setup.emitLibraryBundle ? 'getFunctionName' : 'getFunctionMetadata';
+ var expectedName =
+ setup.emitLibraryBundle ? 'BaseClass.staticMethod' : 'staticMethod';
await driver.checkRuntimeInFrame(
breakpointId: 'BP',
expression: 'dart.$getFunctionName(staticMethod)',
- expectedResult: 'staticMethod');
+ expectedResult: expectedName);
});
test('getFunctionName (global method)', () async {
diff --git a/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/debugger.dart b/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/debugger.dart
index 9129258..70a8706 100644
--- a/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/debugger.dart
+++ b/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/debugger.dart
@@ -270,15 +270,21 @@
/// returns `C.functionName`.
/// Otherwise, returns function name.
String getFunctionMetadata(@notNull Function function) {
- var name = _get<String>(function, 'name');
+ var boundName = _get<String?>(function, '_boundName');
+ var name = boundName ?? _get<String>(function, 'name');
var boundObject = _get<Object?>(function, '_boundObject');
if (boundObject != null) {
- var cls = _get<Object>(boundObject, 'constructor');
- var className = _dartClassName(cls);
-
- var boundMethod = _get<Object>(function, '_boundMethod');
- name = className + '.' + _get<String>(boundMethod, 'name');
+ if (_hasConstructor(boundObject)) {
+ // Bound objects for global methods are libraries, which don't have a
+ // constructor.
+ var constructor = _get<Object>(boundObject, 'constructor');
+ if (JS<bool>('', '# == null', constructor)) return name;
+ if (_isDartClassObject(boundObject)) {
+ var className = _dartClassName(boundObject);
+ name = className + '.' + name;
+ }
+ }
}
return name;
}
@@ -306,7 +312,9 @@
// When the object is actually represented by a JavaScript Array use
// the interceptor class that matches the reified type.
? JS_CLASS_REF(JSArray)
- : _get<Object?>(object, 'constructor');
+ : (_hasConstructor(object)
+ ? _get<Object>(object, 'constructor')
+ : object);
if (cls != null) {
libraryId = getLibraryUri(cls);
}
@@ -391,7 +399,8 @@
@notNull
List<String> getObjectFieldNames(@notNull Object object) {
var fieldNames = <String>[];
- var cls = _get<Object>(object, 'constructor');
+ var cls =
+ _hasConstructor(object) ? _get<Object>(object, 'constructor') : object;
_collectObjectFieldNames(fieldNames, getFields(cls));
return fieldNames..sort();
@@ -539,6 +548,10 @@
}
@notNull
+bool _hasConstructor(@notNull Object object) =>
+ _get(object, 'constructor') != null;
+
+@notNull
bool _isDartClassObject(@notNull Object object) =>
_get(object, rti.interfaceTypeRecipePropertyName) != null;
diff --git a/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart b/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart
index ceb1bcf..cf55281 100644
--- a/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart
+++ b/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart
@@ -48,6 +48,87 @@
}
}
+/// Encodes [property] as a valid JS member name.
+String stringNameForProperty(property) {
+ if (JS<bool>('', 'typeof # === "symbol"', property)) {
+ return _toSymbolName(property);
+ }
+ if (JS<bool>('', 'typeof # === "string"', property)) {
+ return '$property';
+ }
+ throw Exception('Unable to construct a valid JS string name for $property.');
+}
+
+/// Used for canonicalizing tearoffs via a two-way lookup of enclosing object
+/// and member name.
+final tearoffCache = JS<Object>('!', 'new WeakMap()');
+
+/// Constructs a static tearoff, on `context[property]`.
+///
+/// Static tearoffs are canonicalized at runtime via `tearoffCache`.
+staticTearoff(context, property) {
+ if (context == null) context = jsNull;
+ var propertyMap = _lookupNonTerminal(tearoffCache, context);
+ var canonicalizedTearoff = JS<Object?>('', '#.get(#)', propertyMap, property);
+ if (canonicalizedTearoff != null) return canonicalizedTearoff;
+ var tear = tearoff(context, property);
+ JS('', '#.set(#, #)', propertyMap, property, tear);
+ return tear;
+}
+
+/// Constructs a new tearoff, on `context[property]`. Tearoffs are represented
+/// as a closure that resolves its underlying member late.
+///
+/// Note: We do not canonicalize instance tearoffs to be consistent with
+/// Dart2JS, but we should update this if the spec changes. See #3612.
+tearoff(context, property) {
+ if (context == null) context = jsNull;
+ var tear = JS('', '(...args) => #[#](...args)', context, property);
+ var rtiName = JS_GET_NAME(JsGetName.SIGNATURE_NAME);
+ // Type-resolving members on tearoffs must be resolved late. Static tearoffs
+ // are tagged with their RTIs ahead of time. Runtime/instance tearoffs must
+ // access them through `getMethodType` and `getMethodDefaultTypeArgs`.
+ defineAccessor(
+ tear,
+ rtiName,
+ get: () {
+ var existingRti = JS<Object?>('', '#[#][#]', context, property, rtiName);
+ return existingRti ?? getMethodType(context, property);
+ },
+ configurable: true,
+ enumerable: false,
+ );
+ defineAccessor(
+ tear,
+ '_defaultTypeArgs',
+ get: () {
+ var existingDefaultTypeArgs = JS<Object?>(
+ '',
+ '#[#][#]',
+ context,
+ property,
+ '_defaultTypeArgs',
+ );
+ return existingDefaultTypeArgs ??
+ getMethodDefaultTypeArgs(context, property);
+ },
+ configurable: true,
+ enumerable: false,
+ );
+ defineAccessor(
+ tear,
+ '_boundMethod',
+ get: () {
+ return JS<Object?>('', '#[#]', context, property);
+ },
+ configurable: true,
+ enumerable: false,
+ );
+ JS('', '#._boundObject = #', tear, context);
+ JS('', '#._boundName = #', tear, stringNameForProperty(property));
+ return tear;
+}
+
/// Given an object and a method name, tear off the method.
/// Sets the runtime type of the torn off method appropriately,
/// and also binds the object.
@@ -62,6 +143,7 @@
var f = JS('', '#.bind(#)', method, obj);
// TODO(jmesserly): canonicalize tearoffs.
JS('', '#._boundObject = #', f, obj);
+ JS('', '#._boundName = #', f, stringNameForProperty(name));
JS('', '#._boundMethod = #', f, method);
var methodType = getMethodType(obj, name);
// Native JavaScript methods do not have Dart signatures attached that need
@@ -85,8 +167,8 @@
/// canonical member [name].
///
/// [name] is typically `"call"` but it could be the [extensionSymbol] for
-/// `call`, if we define it on a native type, and [obj] is known statially to be
-/// a native type/interface with `call`.
+/// `call`, if we define it on a native type, and [obj] is known statically to
+/// be a native type/interface with `call`.
bindCall(obj, name) {
if (obj == null) return null;
var ftype = getMethodType(obj, name);
@@ -151,7 +233,7 @@
if (hasField(typeSigHolder, f) || hasGetter(typeSigHolder, f))
return JS('', '#[#]', obj, f);
- if (hasMethod(typeSigHolder, f)) return bind(obj, f, null);
+ if (hasMethod(typeSigHolder, f)) return tearoff(obj, f);
// Handle record types by trying to access [f] via convenience getters.
if (_jsInstanceOf(obj, RecordImpl) && f is String) {
@@ -551,7 +633,7 @@
null,
args,
named,
- JS('', '#.name', f),
+ JS('', '#._boundName || #.name', f, f),
);
dgcall(f, typeArgs, args, [named]) => _checkAndCall(
@@ -561,7 +643,7 @@
typeArgs,
args,
named,
- JS('', "#.name || 'call'", f),
+ JS('', "#._boundName || #.name || 'call'", f, f),
);
/// Helper for REPL dynamic invocation variants that make a best effort to
@@ -922,7 +1004,7 @@
JS<bool>('!', '#[#] !== void 0', obj, extensionSymbol('toString'))) {
// The bind helper can handle finding the toString method for null or Dart
// Objects.
- return bind(obj, extensionSymbol('toString'), null);
+ return tearoff(obj, extensionSymbol('toString'));
}
// Otherwise bind the native JavaScript toString method.
// This differs from dart2js to provide a more useful toString at development
@@ -930,7 +1012,7 @@
// If obj does not have a native toString method this will throw but that
// matches the behavior of dart2js and it would be misleading to make this
// work at development time but allow it to fail in production.
- return bind(obj, 'toString', null);
+ return tearoff(obj, 'toString');
}
/// Converts to a non-null [String], equivalent to
@@ -999,7 +1081,7 @@
JS<bool>('!', '#[#] !== void 0', obj, extensionSymbol('noSuchMethod'))) {
// The bind helper can handle finding the toString method for null or Dart
// Objects.
- return bind(obj, extensionSymbol('noSuchMethod'), null);
+ return tearoff(obj, extensionSymbol('noSuchMethod'));
}
// Otherwise, manually pass the Dart Core Object noSuchMethod to the bind
// helper.
diff --git a/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/rtti.dart b/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/rtti.dart
index e6a7491..1e93794 100644
--- a/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/rtti.dart
+++ b/sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/rtti.dart
@@ -53,8 +53,6 @@
}
/// Tag a generic [closure] with a [type] and the [defaultTypeArgs] values.
-///
-/// Only called from generated code when running with the new type system.
gFn(Object closure, Object type, JSArray<Object> defaultTypeArgs) {
JS('', '#[#] = #', closure, JS_GET_NAME(JsGetName.SIGNATURE_NAME), type);
JS('', '#._defaultTypeArgs = #', closure, defaultTypeArgs);
@@ -72,10 +70,54 @@
lazyFn(closure, Object Function() computeType) {
defineAccessor(
closure,
- _runtimeType,
- get: () => defineValue(closure, _runtimeType, computeType()),
- set: (value) => defineValue(closure, _runtimeType, value),
+ JS_GET_NAME(JsGetName.SIGNATURE_NAME),
+ get:
+ () => defineValue(
+ closure,
+ JS_GET_NAME(JsGetName.SIGNATURE_NAME),
+ computeType(),
+ ),
+ set:
+ (value) =>
+ defineValue(closure, JS_GET_NAME(JsGetName.SIGNATURE_NAME), value),
configurable: true,
+ enumerable: false,
+ );
+ return closure;
+}
+
+/// Tag a generic [closure] with a getter that uses [computeType] and
+/// [computeDefaultTypeArgs] to lazily return its runtime type and default type
+/// arguments, respectively,
+lazyGFn(
+ Object closure,
+ Object Function() computeType,
+ Object Function() computeDefaultTypeArgs,
+) {
+ defineAccessor(
+ closure,
+ JS_GET_NAME(JsGetName.SIGNATURE_NAME),
+ get:
+ () => defineValue(
+ closure,
+ JS_GET_NAME(JsGetName.SIGNATURE_NAME),
+ computeType(),
+ ),
+ set:
+ (value) =>
+ defineValue(closure, JS_GET_NAME(JsGetName.SIGNATURE_NAME), value),
+ configurable: true,
+ enumerable: false,
+ );
+ defineAccessor(
+ closure,
+ '_defaultTypeArgs',
+ get:
+ () =>
+ defineValue(closure, '_defaultTypeArgs', computeDefaultTypeArgs()),
+ set: (value) => defineValue(closure, '_defaultTypeArgs', value),
+ configurable: true,
+ enumerable: false,
);
return closure;
}
diff --git a/tests/dartdevc/debugger/debugger_ddc_test_golden.txt b/tests/dartdevc/debugger/debugger_ddc_test_golden.txt
new file mode 100644
index 0000000..c41db6e
--- /dev/null
+++ b/tests/dartdevc/debugger/debugger_ddc_test_golden.txt
@@ -0,0 +1,7648 @@
+Test: List<String> formatting header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "List<String> length 3"
+]
+-----------------------------------
+Test: List<String> formatting body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "0: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "foo"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "1: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "bar"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "2: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "baz"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: List<Object> instance header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "List<Object> length 3"
+]
+-----------------------------------
+Test: List<Object> instance body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "0: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "42"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "1: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "bar"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "2: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "true"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: List<Object> definition formatting header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "List"
+]
+-----------------------------------
+Test: List<Object> definition formatting body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "[[Instance Methods]]"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "+: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "add: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "addAll: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "any: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "asMap: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "cast: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "checkGrowable: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "checkMutable: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "clear: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "contains: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "elementAt: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "every: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "expand: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "fillRange: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "firstWhere: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "fold: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "followedBy: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "forEach: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "getRange: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "indexOf: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "indexWhere: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "insert: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "insertAll: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "join: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "lastIndexOf: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "lastIndexWhere: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "lastWhere: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "map: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "reduce: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "remove: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "removeAt: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "removeLast: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "removeRange: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "removeWhere: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "replaceRange: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "retainWhere: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "setAll: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "setRange: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "shuffle: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "singleWhere: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "skip: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "skipWhile: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "sort: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "sublist: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "take: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "takeWhile: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "toList: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "toSet: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "where: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "whereType: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "_get: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "_removeWhere: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "_set: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "_setLengthUnsafe: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[base class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: List<int> large instance header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "List<int> length 200"
+]
+-----------------------------------
+Test: List<int> large instance body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": ""
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": ""
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: List<int> large definition formatting header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "List"
+]
+-----------------------------------
+Test: List<int> large definition formatting body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "[[Instance Methods]]"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "+: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "add: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "addAll: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "any: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "asMap: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "cast: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "checkGrowable: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "checkMutable: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "clear: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "contains: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "elementAt: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "every: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "expand: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "fillRange: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "firstWhere: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "fold: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "followedBy: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "forEach: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "getRange: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "indexOf: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "indexWhere: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "insert: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "insertAll: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "join: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "lastIndexOf: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "lastIndexWhere: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "lastWhere: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "map: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "reduce: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "remove: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "removeAt: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "removeLast: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "removeRange: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "removeWhere: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "replaceRange: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "retainWhere: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "setAll: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "setRange: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "shuffle: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "singleWhere: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "skip: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "skipWhile: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "sort: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "sublist: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "take: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "takeWhile: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "toList: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "toSet: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "where: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "whereType: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "_get: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "_removeWhere: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "_set: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "_setLengthUnsafe: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[base class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: Iterable instance header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "MappedListIterable<String, String> length 3"
+]
+-----------------------------------
+Test: Iterable instance body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "0: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "foofoofoofoofoo"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "1: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "barbarbarbarbar"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "2: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "bazbazbazbazbaz"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: Iterable definition formatting header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "MappedListIterable"
+]
+-----------------------------------
+Test: Iterable definition formatting body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "[[Instance Methods]]"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "any: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "cast: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "contains: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "elementAt: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "every: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "expand: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "firstWhere: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "fold: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "followedBy: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "forEach: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "join: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "lastWhere: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "map: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "reduce: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "singleWhere: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "skip: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "skipWhile: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "take: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "takeWhile: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "toList: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "toSet: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "where: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "whereType: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[base class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: Set instance header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "LinkedSet<dynamic> length 3"
+]
+-----------------------------------
+Test: Set instance body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "0: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "foo"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "1: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "42"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "2: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "true"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: Set definition formatting header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "LinkedSet"
+]
+-----------------------------------
+Test: Set definition formatting body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "[[Instance Methods]]"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "add: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "contains: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "lookup: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "remove: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[base class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: Map<String, int> formatting header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "IdentityMap<String, int> length 3"
+]
+-----------------------------------
+Test: Map<String, int> formatting body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "0: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "1: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "2: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: Map<dynamic, dynamic> instance header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "LinkedMap<dynamic, dynamic> length 3"
+]
+-----------------------------------
+Test: Map<dynamic, dynamic> instance body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "0: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "1: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "2: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: Map<dynamic, dynamic> definition formatting header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "LinkedMap"
+]
+-----------------------------------
+Test: Map<dynamic, dynamic> definition formatting body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "[[Instance Methods]]"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "clear: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "remove: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "_get: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "_putIfAbsentKeyMap: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "_set: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[base class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: Function formatting header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "(int, int) => int"
+]
+-----------------------------------
+Test: Function formatting body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "signature: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "(int, int) => int"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "JavaScript Function: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: Function with function arguments formatting header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "(String, (Event) => bool) => Null"
+]
+-----------------------------------
+Test: Function with function arguments formatting body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "signature: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "(String, (Event) => bool) => Null"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "JavaScript Function: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: dart:html method
+Value:
+null
+-----------------------------------
+Test: Raw reference to dart constructor formatting header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "TestClass"
+]
+-----------------------------------
+Test: Raw reference to dart constructor formatting body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "[[Instance Methods]]"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "addOne: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "last: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "nameAndDate: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "returnObject: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[base class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: Object formatting header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "Instance of 'Object'"
+]
+-----------------------------------
+Test: Object formatting body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "runtimeType: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: Type TestClass formatting header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "TestClass"
+]
+-----------------------------------
+Test: Type TestClass formatting body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ }
+]
+-----------------------------------
+Test: Type HttpRequest formatting header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "HttpRequest"
+]
+-----------------------------------
+Test: Type HttpRequest formatting body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ }
+]
+-----------------------------------
+Test: Test library formatting header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "debugger_test"
+]
+-----------------------------------
+Test: Test library formatting body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "TestClass: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "TestGenericClass: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "FormattedObject: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "PackageJSClass: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "FormattedJSObject|constructor#_: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "FormattedJSObject|constructor#_#_#tearOff: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "Prototype|constructor#_: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "Prototype|constructor#_#_#tearOff: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "FooBar|constructor#_: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "FooBar|constructor#_#_#tearOff: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "unsafeCast: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "replacer: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "format: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "extractNestedFormattedObjects: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "getCurrentLibrary: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "main: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "link: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: StackTrace formatting header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "StackTrace"
+]
+-----------------------------------
+Test: StackTrace formatting body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;background-color: thistle;color: rgb(196, 26, 22);"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "Error"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "<DART_SDK>"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "<FILE>"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "<FILE>"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "<FILE>"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "<DART_SDK>"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "<DART_SDK>"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "<DART_SDK>"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "<DART_SDK>"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "<DART_SDK>"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "<DART_SDK>"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "<DART_SDK>"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "<DART_SDK>"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "<DART_SDK>"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "<DART_SDK>"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "<DART_SDK>"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "<DART_SDK>"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "<DART_SDK>"
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: TestClass instance header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "Instance of 'TestClass'"
+]
+-----------------------------------
+Test: TestClass instance body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "date: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "17"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "name: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "test class"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "runtimeType: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "someInt: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "42"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "someObject: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "someString: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "Hello world"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: TestClass definition formatting header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "TestClass"
+]
+-----------------------------------
+Test: TestClass definition formatting body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "[[Instance Methods]]"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "addOne: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "last: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "nameAndDate: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "returnObject: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[base class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: HttpRequest instance header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "[object XMLHttpRequest]"
+]
+-----------------------------------
+Test: HttpRequest instance body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "on: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "onAbort: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "onError: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "onLoad: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "onLoadEnd: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "onLoadStart: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "onProgress: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "onReadyStateChange: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "onTimeout: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "readyState: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "0"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "response: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ ""
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "responseHeaders: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "responseText: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ ""
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "responseType: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ ""
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "responseUrl: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ ""
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "responseXml: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "runtimeType: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "status: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "0"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "statusText: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ ""
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "timeout: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "0"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "upload: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "withCredentials: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "false"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "_get_response: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ ""
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: HttpRequest definition formatting header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "HttpRequest"
+]
+-----------------------------------
+Test: HttpRequest definition formatting body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "[[Instance Methods]]"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "abort: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "getAllResponseHeaders: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "getResponseHeader: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "open: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "overrideMimeType: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "send: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "setRequestHeader: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[base class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: TestGenericClass instance header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "Instance of 'TestGenericClass<int, List<dynamic>>'"
+]
+-----------------------------------
+Test: TestGenericClass instance body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "x: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ "42"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "runtimeType: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: TestGenericClass definition formatting header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "TestGenericClass"
+]
+-----------------------------------
+Test: TestGenericClass definition formatting body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "[[Instance Methods]]"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "noSuchMethod: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "toString: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "_equals: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[base class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: TestGenericClassJSInterop instance header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "Instance of 'TestGenericClass<PackageJSClass<String>, int>'"
+]
+-----------------------------------
+Test: TestGenericClassJSInterop instance body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "x: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "runtimeType: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
+Test: TestGenericClassJSInterop definition formatting header
+Value:
+[
+ "span",
+ {
+ "style": "background-color: #d9edf7;color: black"
+ },
+ "TestGenericClass"
+]
+-----------------------------------
+Test: TestGenericClassJSInterop definition formatting body
+Value:
+[
+ "ol",
+ {
+ "style": "list-style-type: none;padding-left: 0px;margin-top: 0px;margin-bottom: 0px;margin-left: 12px;"
+ },
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {},
+ [
+ "span",
+ {
+ "style": ""
+ },
+ "[[Instance Methods]]"
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "noSuchMethod: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "toString: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "_equals: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ],
+ [
+ "li",
+ {
+ "style": "padding-left: 13px;"
+ },
+ [
+ "span",
+ {
+ "style": "background-color: thistle; color: rgb(136, 19, 145); margin-right: -13px"
+ },
+ "[[base class]]: "
+ ],
+ [
+ "span",
+ {
+ "style": "margin-left: 13px"
+ },
+ [
+ "object",
+ {
+ "object": "<OBJECT>",
+ "config": {}
+ }
+ ]
+ ]
+ ]
+]
+-----------------------------------
diff --git a/tests/dartdevc/debugger/debugger_test.dart b/tests/dartdevc/debugger/debugger_test.dart
index 5f6f47e..7a945a6 100644
--- a/tests/dartdevc/debugger/debugger_test.dart
+++ b/tests/dartdevc/debugger/debugger_test.dart
@@ -168,9 +168,10 @@
// Cache blocker is a workaround for:
// https://code.google.com/p/dart/issues/detail?id=11834
var cacheBlocker = new DateTime.now().millisecondsSinceEpoch;
+ var embedder_suffix = dartDevEmbedder != null ? '_ddc' : '';
var goldenUrl =
'/root_dart/tests/dartdevc/debugger/'
- 'debugger_test_golden.txt?cacheBlock=$cacheBlocker';
+ 'debugger${embedder_suffix}_test_golden.txt?cacheBlock=$cacheBlocker';
String? golden;
try {
diff --git a/tests/dartdevc/no_such_method_errors_test.dart b/tests/dartdevc/no_such_method_errors_test.dart
index 90f8135..d62cf70 100644
--- a/tests/dartdevc/no_such_method_errors_test.dart
+++ b/tests/dartdevc/no_such_method_errors_test.dart
@@ -263,8 +263,7 @@
dynamic tearoff = A().arity1;
Expect.throws<NoSuchMethodError>(
() => tearoff(),
- (error) =>
- error.toString().contains("NoSuchMethodError: 'bound arity1'"),
+ (error) => error.toString().contains("NoSuchMethodError: 'arity1'"),
);
});
test('class instance generic method', () {
@@ -279,9 +278,8 @@
dynamic tearoff = A().genericArity2;
Expect.throws<NoSuchMethodError>(
() => tearoff(10),
- (error) => error.toString().contains(
- "NoSuchMethodError: 'bound genericArity2'",
- ),
+ (error) =>
+ error.toString().contains("NoSuchMethodError: 'genericArity2'"),
);
});
test('class instance generic method tearoff instantiated', () {
diff --git a/tests/hot_reload/tear_off_add_arguments/main.0.dart b/tests/hot_reload/tear_off_add_arguments/main.0.dart
index 6299256..113ae4c 100644
--- a/tests/hot_reload/tear_off_add_arguments/main.0.dart
+++ b/tests/hot_reload/tear_off_add_arguments/main.0.dart
@@ -27,8 +27,5 @@
Future<void> main() async {
helper();
await hotReload();
- Expect.throws<NoSuchMethodError>(
- helper,
- (err) => '$err'.contains("Class 'C' has no instance method "
- "'foo' with matching arguments."));
+ Expect.throws<NoSuchMethodError>(helper);
}
diff --git a/tests/hot_reload/tear_off_add_arguments/main.1.dart b/tests/hot_reload/tear_off_add_arguments/main.1.dart
index 2029fc8..d30e47e 100644
--- a/tests/hot_reload/tear_off_add_arguments/main.1.dart
+++ b/tests/hot_reload/tear_off_add_arguments/main.1.dart
@@ -26,11 +26,9 @@
Future<void> main() async {
helper();
await hotReload();
- Expect.throws<NoSuchMethodError>(
- helper,
- (err) => '$err'.contains("Class 'C' has no instance method "
- "'foo' with matching arguments."));
+ Expect.throws<NoSuchMethodError>(helper);
}
+
/** DIFF **/
/*
@@ -15,13 +15,12 @@
@@ -50,4 +48,9 @@
}
Future<void> main() async {
+@@ -29,3 +28,4 @@
+ await hotReload();
+ Expect.throws<NoSuchMethodError>(helper);
+ }
++
*/
diff --git a/tests/hot_reload/tear_off_add_arguments2/main.0.dart b/tests/hot_reload/tear_off_add_arguments2/main.0.dart
index 8c81487..3852d01 100644
--- a/tests/hot_reload/tear_off_add_arguments2/main.0.dart
+++ b/tests/hot_reload/tear_off_add_arguments2/main.0.dart
@@ -26,8 +26,5 @@
Future<void> main() async {
helper();
await hotReload();
- Expect.throws<NoSuchMethodError>(
- helper,
- (err) => '$err'.contains("Closure call with mismatched arguments: "
- "function 'C.foo'"));
+ Expect.throws<NoSuchMethodError>(helper);
}
diff --git a/tests/hot_reload/tear_off_add_arguments2/main.1.dart b/tests/hot_reload/tear_off_add_arguments2/main.1.dart
index 3e38aff..be7ebc2 100644
--- a/tests/hot_reload/tear_off_add_arguments2/main.1.dart
+++ b/tests/hot_reload/tear_off_add_arguments2/main.1.dart
@@ -26,11 +26,9 @@
Future<void> main() async {
helper();
await hotReload();
- Expect.throws<NoSuchMethodError>(
- helper,
- (err) => '$err'.contains("Closure call with mismatched arguments: "
- "function 'C.foo'"));
+ Expect.throws<NoSuchMethodError>(helper);
}
+
/** DIFF **/
/*
@@ -15,12 +15,12 @@
@@ -49,4 +47,9 @@
}
Future<void> main() async {
+@@ -28,3 +28,4 @@
+ await hotReload();
+ Expect.throws<NoSuchMethodError>(helper);
+ }
++
*/
diff --git a/tests/hot_reload/tear_off_add_arguments3/main.0.dart b/tests/hot_reload/tear_off_add_arguments3/main.0.dart
new file mode 100644
index 0000000..5a983a9
--- /dev/null
+++ b/tests/hot_reload/tear_off_add_arguments3/main.0.dart
@@ -0,0 +1,18 @@
+// Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+void foo(int a) => a + 1;
+
+Future<void> main() async {
+ void Function() bar() {
+ return () => foo(3);
+ }
+
+ final f = bar();
+ await hotReload();
+ Expect.throws<NoSuchMethodError>(f);
+}
diff --git a/tests/hot_reload/tear_off_add_arguments3/main.1.dart b/tests/hot_reload/tear_off_add_arguments3/main.1.dart
new file mode 100644
index 0000000..a96dee6
--- /dev/null
+++ b/tests/hot_reload/tear_off_add_arguments3/main.1.dart
@@ -0,0 +1,40 @@
+// Copyright (c) 2025, the Dart project authors. Please see the AUTHORS file
+// for details. All rights reserved. Use of this source code is governed by a
+// BSD-style license that can be found in the LICENSE file.
+
+import 'package:expect/expect.dart';
+import 'package:reload_test/reload_test_utils.dart';
+
+void foo(int a, int b) => a + b;
+
+Future<void> main() async {
+ void Function() bar() {
+ return () => foo(3, 4);
+ }
+
+ final f = bar();
+ await hotReload();
+ Expect.throws<NoSuchMethodError>(f);
+}
+
+/** DIFF **/
+/*
+@@ -5,14 +5,15 @@
+ import 'package:expect/expect.dart';
+ import 'package:reload_test/reload_test_utils.dart';
+
+-void foo(int a) => a + 1;
++void foo(int a, int b) => a + b;
+
+ Future<void> main() async {
+ void Function() bar() {
+- return () => foo(3);
++ return () => foo(3, 4);
+ }
+
+ final f = bar();
+ await hotReload();
+ Expect.throws<NoSuchMethodError>(f);
+ }
++
+*/
diff --git a/tests/hot_reload/tear_off_instance_equality/main.0.dart b/tests/hot_reload/tear_off_instance_equality/main.0.dart
index 034947b..a6e2619 100644
--- a/tests/hot_reload/tear_off_instance_equality/main.0.dart
+++ b/tests/hot_reload/tear_off_instance_equality/main.0.dart
@@ -25,5 +25,7 @@
Expect.equals('new', f1());
Expect.equals('new', f2());
Expect.equals(f1, f2);
+ // We test that instance tearoffs are not identical to be consistent wih the
+ // VM. This behavior is not guaranteed by the spec.
Expect.notIdentical(f1, f2);
}
diff --git a/tests/hot_reload/tear_off_instance_equality/main.1.dart b/tests/hot_reload/tear_off_instance_equality/main.1.dart
index 21f260d..e600299 100644
--- a/tests/hot_reload/tear_off_instance_equality/main.1.dart
+++ b/tests/hot_reload/tear_off_instance_equality/main.1.dart
@@ -24,6 +24,8 @@
Expect.equals('new', f1());
Expect.equals('new', f2());
Expect.equals(f1, f2);
+ // We test that instance tearoffs are not identical to be consistent wih the
+ // VM. This behavior is not guaranteed by the spec.
Expect.notIdentical(f1, f2);
}
/** DIFF **/