[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 **/