Chromium Code Reviews| Index: sdk/lib/js/dart2js/js_dart2js.dart |
| diff --git a/sdk/lib/js/dart2js/js_dart2js.dart b/sdk/lib/js/dart2js/js_dart2js.dart |
| index 849de82658db6c3982128d4d6d593c3fc165b4fb..044da6a5cff1cc64ed2da4745d9c25681fe0cfca 100644 |
| --- a/sdk/lib/js/dart2js/js_dart2js.dart |
| +++ b/sdk/lib/js/dart2js/js_dart2js.dart |
| @@ -92,21 +92,28 @@ import 'dart:collection' show HashMap, ListMixin; |
| import 'dart:indexed_db' show KeyRange; |
| import 'dart:typed_data' show TypedData; |
| -import 'dart:_foreign_helper' show JS, DART_CLOSURE_TO_JS; |
| -import 'dart:_interceptors' show JavaScriptObject, UnknownJavaScriptObject; |
| -import 'dart:_js_helper' show Primitives, convertDartClosureToJS, |
| - getIsolateAffinityTag; |
| +import 'dart:_foreign_helper' show JS, JS_CONST, DART_CLOSURE_TO_JS; |
| +import 'dart:_interceptors' |
| + show JavaScriptObject, UnknownJavaScriptObject, DART_CLOSURE_PROPERTY_NAME; |
| +import 'dart:_js_helper' |
| + show Primitives, convertDartClosureToJS, getIsolateAffinityTag; |
| + |
| +export 'dart:_interceptors' show Interceptor, JavaScriptObject, JSArray; |
| final JsObject context = _wrapToDart(JS('', 'self')); |
| _convertDartFunction(Function f, {bool captureThis: false}) { |
| - return JS('', |
| - 'function(_call, f, captureThis) {' |
| + return JS( |
| + '', |
| + 'function(_call, f, captureThis) {' |
| 'return function() {' |
| - 'return _call(f, captureThis, this, ' |
| - 'Array.prototype.slice.apply(arguments));' |
| + 'return _call(f, captureThis, this, ' |
| + 'Array.prototype.slice.apply(arguments));' |
| '}' |
| - '}(#, #, #)', DART_CLOSURE_TO_JS(_callDartFunction), f, captureThis); |
| + '}(#, #, #)', |
| + DART_CLOSURE_TO_JS(_callDartFunction), |
| + f, |
| + captureThis); |
| } |
| _callDartFunction(callback, bool captureThis, self, List arguments) { |
| @@ -212,8 +219,7 @@ class JsObject { |
| */ |
| factory JsObject.fromBrowserObject(object) { |
| if (object is num || object is String || object is bool || object == null) { |
| - throw new ArgumentError( |
| - "object cannot be a num, string, bool, or null"); |
| + throw new ArgumentError("object cannot be a num, string, bool, or null"); |
| } |
| return _wrapToDart(_convertToJS(object)); |
| } |
| @@ -267,7 +273,7 @@ class JsObject { |
| * |
| * The type of [property] must be either [String] or [num]. |
| */ |
| - dynamic operator[](property) { |
| + dynamic operator [](property) { |
| if (property is! String && property is! num) { |
| throw new ArgumentError("property is not a String or num"); |
| } |
| @@ -280,7 +286,7 @@ class JsObject { |
| * |
| * The type of [property] must be either [String] or [num]. |
| */ |
| - operator[]=(property, value) { |
| + operator []=(property, value) { |
| if (property is! String && property is! num) { |
| throw new ArgumentError("property is not a String or num"); |
| } |
| @@ -289,8 +295,8 @@ class JsObject { |
| int get hashCode => 0; |
| - bool operator==(other) => other is JsObject && |
| - JS('bool', '# === #', _jsObject, other._jsObject); |
| + bool operator ==(other) => |
| + other is JsObject && JS('bool', '# === #', _jsObject, other._jsObject); |
| /** |
| * Returns `true` if the JavaScript object contains the specified property |
| @@ -332,7 +338,7 @@ class JsObject { |
| String toString() { |
| try { |
| return JS('String', 'String(#)', _jsObject); |
| - } catch(e) { |
| + } catch (e) { |
| return super.toString(); |
| } |
| } |
| @@ -347,7 +353,11 @@ class JsObject { |
| if (method is! String && method is! num) { |
| throw new ArgumentError("method is not a String or num"); |
| } |
| - return _convertToDart(JS('', '#[#].apply(#, #)', _jsObject, method, |
| + return _convertToDart(JS( |
| + '', |
| + '#[#].apply(#, #)', |
| + _jsObject, |
| + method, |
| _jsObject, |
| args == null ? null : new List.from(args.map(_convertToJS)))); |
| } |
| @@ -357,7 +367,6 @@ class JsObject { |
| * Proxies a JavaScript Function object. |
| */ |
| class JsFunction extends JsObject { |
| - |
| /** |
| * Returns a [JsFunction] that captures its 'this' binding and calls [f] |
| * with the value of this passed as the first argument. |
| @@ -373,17 +382,18 @@ class JsFunction extends JsObject { |
| * Invokes the JavaScript function with arguments [args]. If [thisArg] is |
| * supplied it is the value of `this` for the invocation. |
| */ |
| - dynamic apply(List args, { thisArg }) => |
| - _convertToDart(JS('', '#.apply(#, #)', _jsObject, |
| - _convertToJS(thisArg), |
| - args == null ? null : new List.from(args.map(_convertToJS)))); |
| + dynamic apply(List args, {thisArg}) => _convertToDart(JS( |
| + '', |
| + '#.apply(#, #)', |
| + _jsObject, |
| + _convertToJS(thisArg), |
| + args == null ? null : new List.from(args.map(_convertToJS)))); |
| } |
| /** |
| * A [List] that proxies a JavaScript array. |
| */ |
| class JsArray<E> extends JsObject with ListMixin<E> { |
| - |
| /** |
| * Creates a new JavaScript array. |
| */ |
| @@ -449,8 +459,9 @@ class JsArray<E> extends JsObject with ListMixin<E> { |
| throw new StateError('Bad JsArray length'); |
| } |
| - void set length(int length) { super['length'] = length; } |
| - |
| + void set length(int length) { |
| + super['length'] = length; |
| + } |
| // Methods overriden for better performance |
| @@ -503,12 +514,11 @@ class JsArray<E> extends JsObject with ListMixin<E> { |
| // property added to a Dart object referencing its JS-side DartObject proxy |
| final String _DART_OBJECT_PROPERTY_NAME = |
| getIsolateAffinityTag(r'_$dart_dartObject'); |
| -final String _DART_CLOSURE_PROPERTY_NAME = |
| - getIsolateAffinityTag(r'_$dart_dartClosure'); |
| // property added to a JS object referencing its Dart-side JsObject proxy |
| const _JS_OBJECT_PROPERTY_NAME = r'_$dart_jsObject'; |
| const _JS_FUNCTION_PROPERTY_NAME = r'$dart_jsFunction'; |
| +const _JS_FUNCTION_PROPERTY_NAME_CAPTURE_THIS = r'_$dart_jsFunctionCaptureThis'; |
| bool _defineProperty(o, String name, value) { |
| if (_isExtensible(o) && |
| @@ -554,8 +564,13 @@ dynamic _convertToJS(dynamic o) { |
| if (o is JsObject) { |
| return o._jsObject; |
| } |
| - if (o is Blob || o is Event || o is KeyRange || o is ImageData || o is Node || |
| - o is TypedData || o is Window) { |
| + if (o is Blob || |
| + o is Event || |
| + o is KeyRange || |
| + o is ImageData || |
| + o is Node || |
| + o is TypedData || |
| + o is Window) { |
| return o; |
| } |
| if (o is DateTime) { |
| @@ -565,13 +580,13 @@ dynamic _convertToJS(dynamic o) { |
| return _getJsProxy(o, _JS_FUNCTION_PROPERTY_NAME, (o) { |
| var jsFunction = _convertDartFunction(o); |
| // set a property on the JS closure referencing the Dart closure |
| - _defineProperty(jsFunction, _DART_CLOSURE_PROPERTY_NAME, o); |
| + _defineProperty(jsFunction, DART_CLOSURE_PROPERTY_NAME, o); |
| return jsFunction; |
| }); |
| } |
| var ctor = _dartProxyCtor; |
| - return _getJsProxy(o, _JS_OBJECT_PROPERTY_NAME, |
| - (o) => JS('', 'new #(#)', ctor, o)); |
| + return _getJsProxy( |
| + o, _JS_OBJECT_PROPERTY_NAME, (o) => JS('', 'new #(#)', ctor, o)); |
| } |
| Object _getJsProxy(o, String propertyName, createProxy(o)) { |
| @@ -591,9 +606,14 @@ Object _convertToDart(o) { |
| JS('bool', 'typeof # == "number"', o) || |
| JS('bool', 'typeof # == "boolean"', o)) { |
| return o; |
| - } else if (_isLocalObject(o) |
| - && (o is Blob || o is Event || o is KeyRange || o is ImageData |
| - || o is Node || o is TypedData || o is Window)) { |
| + } else if (_isLocalObject(o) && |
| + (o is Blob || |
| + o is Event || |
| + o is KeyRange || |
| + o is ImageData || |
| + o is Node || |
| + o is TypedData || |
| + o is Window)) { |
| // long line: dart2js doesn't allow string concatenation in the JS() form |
| return JS('Blob|Event|KeyRange|ImageData|Node|TypedData|Window', '#', o); |
| } else if (JS('bool', '# instanceof Date', o)) { |
| @@ -608,15 +628,15 @@ Object _convertToDart(o) { |
| JsObject _wrapToDart(o) { |
| if (JS('bool', 'typeof # == "function"', o)) { |
| - return _getDartProxy(o, _DART_CLOSURE_PROPERTY_NAME, |
| - (o) => new JsFunction._fromJs(o)); |
| + return _getDartProxy( |
| + o, DART_CLOSURE_PROPERTY_NAME, (o) => new JsFunction._fromJs(o)); |
| } |
| if (JS('bool', '# instanceof Array', o)) { |
| - return _getDartProxy(o, _DART_OBJECT_PROPERTY_NAME, |
| - (o) => new JsArray._fromJs(o)); |
| + return _getDartProxy( |
| + o, _DART_OBJECT_PROPERTY_NAME, (o) => new JsArray._fromJs(o)); |
| } |
| - return _getDartProxy(o, _DART_OBJECT_PROPERTY_NAME, |
| - (o) => new JsObject._fromJs(o)); |
| + return _getDartProxy( |
| + o, _DART_OBJECT_PROPERTY_NAME, (o) => new JsObject._fromJs(o)); |
| } |
| Object _getDartProxy(o, String propertyName, createProxy(o)) { |
| @@ -634,3 +654,2736 @@ Object _getDartProxy(o, String propertyName, createProxy(o)) { |
| } |
| return dartProxy; |
| } |
| + |
| +// Start of methods for new style Dart-JS interop. |
| + |
| +class _JavaScriptFunctionHack implements Function { |
| + call( |
| + [a = JsNative.UNDEFINED, |
| + b = JsNative.UNDEFINED, |
| + c = JsNative.UNDEFINED, |
| + d = JsNative.UNDEFINED, |
| + e = JsNative.UNDEFINED, |
| + f = JsNative.UNDEFINED, |
| + g = JsNative.UNDEFINED, |
| + h = JsNative.UNDEFINED, |
| + i = JsNative.UNDEFINED, |
| + j = JsNative.UNDEFINED]) { |
| + // Exceedingly slow default implementation. |
| + return JS('', '#.apply(null, #)', this, |
| + _stripUndefinedArgs([a, b, c, d, e, f, g, h, i, j])); |
| + } |
| +} |
| + |
| +void _copyOwnProperties(src, dest) { |
| + JS( |
| + '', |
| + r"""(function(src, dest) { |
| + var properties = Object.getOwnPropertyNames(src); |
| + for (var i = 0, len = properties.length; i < len; i++) { |
| + var name = properties[i]; |
| + dest[name] = src[name]; |
| + } |
| +})(#, #)""", |
| + src, |
| + dest); |
| +} |
| + |
| +// TODO(jacobr): remove this method. So far it appears that specifying the list |
| +// of registered types in Dart2Js has significant negative code size |
| +// implications so it is better to specify usage purely based on which |
| +// libraries are imported. Remove after Dartium is modified to function without |
| +// requiring this method. |
| +void registerJsInterfaces([List<Type> types]) { |
| + // No need to actually register in Dart2JS. |
| + var fnHackProto = JS('', '#.__proto__', new _JavaScriptFunctionHack()); |
| + var fnProto = JS('', 'Function.prototype'); |
| + _copyOwnProperties(fnHackProto, fnProto); |
| + // Add optimized call methods for small numbers of arguments. |
| + if (JS('bool', r'#.hasOwnProperty("call$0") ', fnHackProto)) { |
| + JS('', r'#.call$0 = function() { return this(); }', fnProto); |
| + JS('', r'#.call$1 = function(a) { return this(a); }', fnProto); |
| + JS('', r'#.call$2 = function(a, b) { return this(a, b); }', fnProto); |
| + JS('', r'#.call$3 = function(a, b, c) { return this(a, b, c); }', fnProto); |
| + JS('', r'#.call$4 = function(a, b, c, d) { return this(a, b, c, d); }', |
| + fnProto); |
| + } else { |
| + if (!JS('bool', r'#.hasOwnProperty("$0") ', fnHackProto)) { |
| + throw 'Internal error. Unexpected minified output'; |
| + } |
| + JS('', r'#.$0 = function() { return this(); }', fnProto); |
| + JS('', r'#.$1 = function(a) { return this(a); }', fnProto); |
| + JS('', r'#.$2 = function(a, b) { return this(a, b); }', fnProto); |
| + JS('', r'#.$3 = function(a, b, c) { return this(a, b, c); }', fnProto); |
| + JS('', r'#.$4 = function(a, b, c, d) { return this(a, b, c, d); }', |
| + fnProto); |
| + } |
| +} |
| + |
| +_convertDartFunctionFast(Function f, {bool captureThis: false}) { |
| + var existing = JsNative.getProperty(f, _JS_FUNCTION_PROPERTY_NAME); |
| + if (existing != null) return existing; |
| + var ret = JS( |
| + '', |
| + 'function(_call, f) {' |
| + 'return function() {' |
| + 'return _call(f, Array.prototype.slice.apply(arguments));' |
| + '}' |
| + '}(#, #)', |
| + DART_CLOSURE_TO_JS(_callDartFunctionFast), |
| + f); |
| + JsNative.setProperty(ret, DART_CLOSURE_PROPERTY_NAME, f); |
| + JsNative.setProperty(f, _JS_FUNCTION_PROPERTY_NAME, ret); |
| + return ret; |
| +} |
| + |
| +_convertDartFunctionFastCaptureThis(Function f) { |
| + var existing = |
| + JsNative.getProperty(f, _JS_FUNCTION_PROPERTY_NAME_CAPTURE_THIS); |
| + if (existing != null) return existing; |
| + var ret = JS( |
| + '', |
| + 'function(_call, f) {' |
| + 'return function() {' |
| + 'return _call(f, this, ' |
| + 'Array.prototype.slice.apply(arguments));' |
| + '}' |
| + '}(#, #)', |
| + DART_CLOSURE_TO_JS(_callDartFunctionFastCaptureThis), |
| + f); |
| + JsNative.setProperty(ret, DART_CLOSURE_PROPERTY_NAME, f); |
| + JsNative.setProperty(f, _JS_FUNCTION_PROPERTY_NAME_CAPTURE_THIS, ret); |
| + return ret; |
| +} |
| + |
| +_callDartFunctionFast(callback, List arguments) { |
| + return Function.apply(callback, arguments); |
| +} |
| + |
| +_callDartFunctionFastCaptureThis(callback, self, List arguments) { |
| + return _convertToJS(Function.apply(callback, [self]..addAll(arguments))); |
| +} |
| + |
| +Function allowInterop(Function f) { |
| + if (JS('bool', 'typeof(#) == "function"', f)) { |
| + // Already supports interop, just use the existing function. |
| + return f; |
| + } else { |
| + return _convertDartFunctionFast(f); |
| + } |
| +} |
| + |
| +Function allowInteropCaptureThis(Function f) { |
| + if (JS('bool', 'typeof(#) == "function"', f)) { |
| + // Behavior when the function is already a JS function is unspecified. |
| + throw new ArgumentError( |
| + "Function is already a JS function so cannot capture this."); |
| + return f; |
| + } else { |
| + return _convertDartFunctionFastCaptureThis(f); |
| + } |
| +} |
| + |
| +/// Use this context object. |
| +/// In a web browser it will be identical to dart:html window. |
| +final nativeContext = JS('JavaScriptObject', 'self'); |
| + |
| +/// Zero overhead, unchecked low level JavaScript interop API. |
| +/// This API is unweildy to use and should generally only be used by internal |
| +/// tools. It is easy to write fragile code with this API that accidentally |
| +/// depends on Dart2Js implementation details. Passing JsObject instances to |
| +/// this API has unspecified behavior. You should use either the old JsObject |
| +/// interop APIs or this API in your application not both. |
| +class JsNative { |
| + /// WARNING: behavior for UNDEFINED is undefined for the following cases: |
| + /// Only use this when immediately passing the value to JavaScript. Otherwise |
| + /// you will hit plenty of cases where behavior differs in Dart2Js and Dartium |
| + /// as it is impossible to fully model a second value that behaves like null |
| + /// in a pure Dart VM. |
| + static const UNDEFINED = const JS_CONST('void 0'); |
| + static identical(a, b) => JS('bool', '#===#', a, b); |
|
alexandre.ardhuin
2015/09/03 20:14:11
return a bool
Jacob
2015/10/01 00:47:33
Done.
|
| + |
| + // Helpers for significantly more efficient JavaScript object literal |
| + // creation that jsify. |
| + static newLiteral() => JS('JavaScriptObject', '{}'); |
| + static newArray() => JS('JsArray', '[]'); |
| + static hasOwnProperty(object, name) => |
|
alexandre.ardhuin
2015/09/03 20:14:11
return a bool
Jacob
2015/10/01 00:47:33
Done.
|
| + JS('', '#.hasOwnProperty(#)', object, name); |
|
alexandre.ardhuin
2015/09/03 20:14:11
JS('bool', .... ) ?
Jacob
2015/10/01 00:47:33
Done.
|
| + static hasProperty(object, name) => JS('', '# in #', object, name); |
|
alexandre.ardhuin
2015/09/03 20:14:11
return a bool and JS('bool',...) ?
Jacob
2015/10/01 00:47:33
Done.
|
| + static getProperty(object, name) => JS('', '#[#]', object, name); |
| + static setProperty(object, name, value) => |
| + JS('', '#[#] = #', object, name, value); |
| + |
| + // Do not modify these definitions manually. They were generated by a script. |
| + static newLiteral1(String n0, v0) => JS('JavaScriptObject', '{#:#}', n0, v0); |
| + static newLiteral2(String n0, v0, String n1, v1) => |
| + JS('JavaScriptObject', '{#:#, #:#}', n0, v0, n1, v1); |
| + static newLiteral3(String n0, v0, String n1, v1, String n2, v2) => |
| + JS('JavaScriptObject', '{#:#, #:#, #:#}', n0, v0, n1, v1, n2, v2); |
| + static newLiteral4( |
| + String n0, v0, String n1, v1, String n2, v2, String n3, v3) => |
| + JS('JavaScriptObject', '{#:#, #:#, #:#, #:#}', n0, v0, n1, v1, n2, v2, n3, |
| + v3); |
| + static newLiteral5(String n0, v0, String n1, v1, String n2, v2, String n3, v3, |
| + String n4, v4) => |
| + JS('JavaScriptObject', '{#:#, #:#, #:#, #:#, #:#}', n0, v0, n1, v1, n2, |
| + v2, n3, v3, n4, v4); |
| + static newLiteral6(String n0, v0, String n1, v1, String n2, v2, String n3, v3, |
| + String n4, v4, String n5, v5) => |
| + JS('JavaScriptObject', '{#:#, #:#, #:#, #:#, #:#, #:#}', n0, v0, n1, v1, |
| + n2, v2, n3, v3, n4, v4, n5, v5); |
| + static newLiteral7(String n0, v0, String n1, v1, String n2, v2, String n3, v3, |
| + String n4, v4, String n5, v5, String n6, v6) => |
| + JS('JavaScriptObject', '{#:#, #:#, #:#, #:#, #:#, #:#, #:#}', n0, v0, n1, |
| + v1, n2, v2, n3, v3, n4, v4, n5, v5, n6, v6); |
| + static newLiteral8(String n0, v0, String n1, v1, String n2, v2, String n3, v3, |
| + String n4, v4, String n5, v5, String n6, v6, String n7, v7) => |
| + JS('JavaScriptObject', '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', n0, v0, |
| + n1, v1, n2, v2, n3, v3, n4, v4, n5, v5, n6, v6, n7, v7); |
| + static newLiteral9( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8); |
| + static newLiteral10( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9); |
| + static newLiteral11( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10); |
| + static newLiteral12( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10, |
| + String n11, |
| + v11) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10, |
| + n11, |
| + v11); |
| + static newLiteral13( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10, |
| + String n11, |
| + v11, |
| + String n12, |
| + v12) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10, |
| + n11, |
| + v11, |
| + n12, |
| + v12); |
| + static newLiteral14( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10, |
| + String n11, |
| + v11, |
| + String n12, |
| + v12, |
| + String n13, |
| + v13) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10, |
| + n11, |
| + v11, |
| + n12, |
| + v12, |
| + n13, |
| + v13); |
| + static newLiteral15( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10, |
| + String n11, |
| + v11, |
| + String n12, |
| + v12, |
| + String n13, |
| + v13, |
| + String n14, |
| + v14) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10, |
| + n11, |
| + v11, |
| + n12, |
| + v12, |
| + n13, |
| + v13, |
| + n14, |
| + v14); |
| + static newLiteral16( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10, |
| + String n11, |
| + v11, |
| + String n12, |
| + v12, |
| + String n13, |
| + v13, |
| + String n14, |
| + v14, |
| + String n15, |
| + v15) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10, |
| + n11, |
| + v11, |
| + n12, |
| + v12, |
| + n13, |
| + v13, |
| + n14, |
| + v14, |
| + n15, |
| + v15); |
| + static newLiteral17( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10, |
| + String n11, |
| + v11, |
| + String n12, |
| + v12, |
| + String n13, |
| + v13, |
| + String n14, |
| + v14, |
| + String n15, |
| + v15, |
| + String n16, |
| + v16) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10, |
| + n11, |
| + v11, |
| + n12, |
| + v12, |
| + n13, |
| + v13, |
| + n14, |
| + v14, |
| + n15, |
| + v15, |
| + n16, |
| + v16); |
| + static newLiteral18( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10, |
| + String n11, |
| + v11, |
| + String n12, |
| + v12, |
| + String n13, |
| + v13, |
| + String n14, |
| + v14, |
| + String n15, |
| + v15, |
| + String n16, |
| + v16, |
| + String n17, |
| + v17) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10, |
| + n11, |
| + v11, |
| + n12, |
| + v12, |
| + n13, |
| + v13, |
| + n14, |
| + v14, |
| + n15, |
| + v15, |
| + n16, |
| + v16, |
| + n17, |
| + v17); |
| + static newLiteral19( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10, |
| + String n11, |
| + v11, |
| + String n12, |
| + v12, |
| + String n13, |
| + v13, |
| + String n14, |
| + v14, |
| + String n15, |
| + v15, |
| + String n16, |
| + v16, |
| + String n17, |
| + v17, |
| + String n18, |
| + v18) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10, |
| + n11, |
| + v11, |
| + n12, |
| + v12, |
| + n13, |
| + v13, |
| + n14, |
| + v14, |
| + n15, |
| + v15, |
| + n16, |
| + v16, |
| + n17, |
| + v17, |
| + n18, |
| + v18); |
| + static newLiteral20( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10, |
| + String n11, |
| + v11, |
| + String n12, |
| + v12, |
| + String n13, |
| + v13, |
| + String n14, |
| + v14, |
| + String n15, |
| + v15, |
| + String n16, |
| + v16, |
| + String n17, |
| + v17, |
| + String n18, |
| + v18, |
| + String n19, |
| + v19) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10, |
| + n11, |
| + v11, |
| + n12, |
| + v12, |
| + n13, |
| + v13, |
| + n14, |
| + v14, |
| + n15, |
| + v15, |
| + n16, |
| + v16, |
| + n17, |
| + v17, |
| + n18, |
| + v18, |
| + n19, |
| + v19); |
| + static newLiteral21( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10, |
| + String n11, |
| + v11, |
| + String n12, |
| + v12, |
| + String n13, |
| + v13, |
| + String n14, |
| + v14, |
| + String n15, |
| + v15, |
| + String n16, |
| + v16, |
| + String n17, |
| + v17, |
| + String n18, |
| + v18, |
| + String n19, |
| + v19, |
| + String n20, |
| + v20) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10, |
| + n11, |
| + v11, |
| + n12, |
| + v12, |
| + n13, |
| + v13, |
| + n14, |
| + v14, |
| + n15, |
| + v15, |
| + n16, |
| + v16, |
| + n17, |
| + v17, |
| + n18, |
| + v18, |
| + n19, |
| + v19, |
| + n20, |
| + v20); |
| + static newLiteral22( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10, |
| + String n11, |
| + v11, |
| + String n12, |
| + v12, |
| + String n13, |
| + v13, |
| + String n14, |
| + v14, |
| + String n15, |
| + v15, |
| + String n16, |
| + v16, |
| + String n17, |
| + v17, |
| + String n18, |
| + v18, |
| + String n19, |
| + v19, |
| + String n20, |
| + v20, |
| + String n21, |
| + v21) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10, |
| + n11, |
| + v11, |
| + n12, |
| + v12, |
| + n13, |
| + v13, |
| + n14, |
| + v14, |
| + n15, |
| + v15, |
| + n16, |
| + v16, |
| + n17, |
| + v17, |
| + n18, |
| + v18, |
| + n19, |
| + v19, |
| + n20, |
| + v20, |
| + n21, |
| + v21); |
| + static newLiteral23( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10, |
| + String n11, |
| + v11, |
| + String n12, |
| + v12, |
| + String n13, |
| + v13, |
| + String n14, |
| + v14, |
| + String n15, |
| + v15, |
| + String n16, |
| + v16, |
| + String n17, |
| + v17, |
| + String n18, |
| + v18, |
| + String n19, |
| + v19, |
| + String n20, |
| + v20, |
| + String n21, |
| + v21, |
| + String n22, |
| + v22) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10, |
| + n11, |
| + v11, |
| + n12, |
| + v12, |
| + n13, |
| + v13, |
| + n14, |
| + v14, |
| + n15, |
| + v15, |
| + n16, |
| + v16, |
| + n17, |
| + v17, |
| + n18, |
| + v18, |
| + n19, |
| + v19, |
| + n20, |
| + v20, |
| + n21, |
| + v21, |
| + n22, |
| + v22); |
| + static newLiteral24( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10, |
| + String n11, |
| + v11, |
| + String n12, |
| + v12, |
| + String n13, |
| + v13, |
| + String n14, |
| + v14, |
| + String n15, |
| + v15, |
| + String n16, |
| + v16, |
| + String n17, |
| + v17, |
| + String n18, |
| + v18, |
| + String n19, |
| + v19, |
| + String n20, |
| + v20, |
| + String n21, |
| + v21, |
| + String n22, |
| + v22, |
| + String n23, |
| + v23) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10, |
| + n11, |
| + v11, |
| + n12, |
| + v12, |
| + n13, |
| + v13, |
| + n14, |
| + v14, |
| + n15, |
| + v15, |
| + n16, |
| + v16, |
| + n17, |
| + v17, |
| + n18, |
| + v18, |
| + n19, |
| + v19, |
| + n20, |
| + v20, |
| + n21, |
| + v21, |
| + n22, |
| + v22, |
| + n23, |
| + v23); |
| + static newLiteral25( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10, |
| + String n11, |
| + v11, |
| + String n12, |
| + v12, |
| + String n13, |
| + v13, |
| + String n14, |
| + v14, |
| + String n15, |
| + v15, |
| + String n16, |
| + v16, |
| + String n17, |
| + v17, |
| + String n18, |
| + v18, |
| + String n19, |
| + v19, |
| + String n20, |
| + v20, |
| + String n21, |
| + v21, |
| + String n22, |
| + v22, |
| + String n23, |
| + v23, |
| + String n24, |
| + v24) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10, |
| + n11, |
| + v11, |
| + n12, |
| + v12, |
| + n13, |
| + v13, |
| + n14, |
| + v14, |
| + n15, |
| + v15, |
| + n16, |
| + v16, |
| + n17, |
| + v17, |
| + n18, |
| + v18, |
| + n19, |
| + v19, |
| + n20, |
| + v20, |
| + n21, |
| + v21, |
| + n22, |
| + v22, |
| + n23, |
| + v23, |
| + n24, |
| + v24); |
| + static newLiteral26( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10, |
| + String n11, |
| + v11, |
| + String n12, |
| + v12, |
| + String n13, |
| + v13, |
| + String n14, |
| + v14, |
| + String n15, |
| + v15, |
| + String n16, |
| + v16, |
| + String n17, |
| + v17, |
| + String n18, |
| + v18, |
| + String n19, |
| + v19, |
| + String n20, |
| + v20, |
| + String n21, |
| + v21, |
| + String n22, |
| + v22, |
| + String n23, |
| + v23, |
| + String n24, |
| + v24, |
| + String n25, |
| + v25) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10, |
| + n11, |
| + v11, |
| + n12, |
| + v12, |
| + n13, |
| + v13, |
| + n14, |
| + v14, |
| + n15, |
| + v15, |
| + n16, |
| + v16, |
| + n17, |
| + v17, |
| + n18, |
| + v18, |
| + n19, |
| + v19, |
| + n20, |
| + v20, |
| + n21, |
| + v21, |
| + n22, |
| + v22, |
| + n23, |
| + v23, |
| + n24, |
| + v24, |
| + n25, |
| + v25); |
| + static newLiteral27( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10, |
| + String n11, |
| + v11, |
| + String n12, |
| + v12, |
| + String n13, |
| + v13, |
| + String n14, |
| + v14, |
| + String n15, |
| + v15, |
| + String n16, |
| + v16, |
| + String n17, |
| + v17, |
| + String n18, |
| + v18, |
| + String n19, |
| + v19, |
| + String n20, |
| + v20, |
| + String n21, |
| + v21, |
| + String n22, |
| + v22, |
| + String n23, |
| + v23, |
| + String n24, |
| + v24, |
| + String n25, |
| + v25, |
| + String n26, |
| + v26) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10, |
| + n11, |
| + v11, |
| + n12, |
| + v12, |
| + n13, |
| + v13, |
| + n14, |
| + v14, |
| + n15, |
| + v15, |
| + n16, |
| + v16, |
| + n17, |
| + v17, |
| + n18, |
| + v18, |
| + n19, |
| + v19, |
| + n20, |
| + v20, |
| + n21, |
| + v21, |
| + n22, |
| + v22, |
| + n23, |
| + v23, |
| + n24, |
| + v24, |
| + n25, |
| + v25, |
| + n26, |
| + v26); |
| + static newLiteral28( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10, |
| + String n11, |
| + v11, |
| + String n12, |
| + v12, |
| + String n13, |
| + v13, |
| + String n14, |
| + v14, |
| + String n15, |
| + v15, |
| + String n16, |
| + v16, |
| + String n17, |
| + v17, |
| + String n18, |
| + v18, |
| + String n19, |
| + v19, |
| + String n20, |
| + v20, |
| + String n21, |
| + v21, |
| + String n22, |
| + v22, |
| + String n23, |
| + v23, |
| + String n24, |
| + v24, |
| + String n25, |
| + v25, |
| + String n26, |
| + v26, |
| + String n27, |
| + v27) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10, |
| + n11, |
| + v11, |
| + n12, |
| + v12, |
| + n13, |
| + v13, |
| + n14, |
| + v14, |
| + n15, |
| + v15, |
| + n16, |
| + v16, |
| + n17, |
| + v17, |
| + n18, |
| + v18, |
| + n19, |
| + v19, |
| + n20, |
| + v20, |
| + n21, |
| + v21, |
| + n22, |
| + v22, |
| + n23, |
| + v23, |
| + n24, |
| + v24, |
| + n25, |
| + v25, |
| + n26, |
| + v26, |
| + n27, |
| + v27); |
| + static newLiteral29( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10, |
| + String n11, |
| + v11, |
| + String n12, |
| + v12, |
| + String n13, |
| + v13, |
| + String n14, |
| + v14, |
| + String n15, |
| + v15, |
| + String n16, |
| + v16, |
| + String n17, |
| + v17, |
| + String n18, |
| + v18, |
| + String n19, |
| + v19, |
| + String n20, |
| + v20, |
| + String n21, |
| + v21, |
| + String n22, |
| + v22, |
| + String n23, |
| + v23, |
| + String n24, |
| + v24, |
| + String n25, |
| + v25, |
| + String n26, |
| + v26, |
| + String n27, |
| + v27, |
| + String n28, |
| + v28) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10, |
| + n11, |
| + v11, |
| + n12, |
| + v12, |
| + n13, |
| + v13, |
| + n14, |
| + v14, |
| + n15, |
| + v15, |
| + n16, |
| + v16, |
| + n17, |
| + v17, |
| + n18, |
| + v18, |
| + n19, |
| + v19, |
| + n20, |
| + v20, |
| + n21, |
| + v21, |
| + n22, |
| + v22, |
| + n23, |
| + v23, |
| + n24, |
| + v24, |
| + n25, |
| + v25, |
| + n26, |
| + v26, |
| + n27, |
| + v27, |
| + n28, |
| + v28); |
| + static newLiteral30( |
| + String n0, |
| + v0, |
| + String n1, |
| + v1, |
| + String n2, |
| + v2, |
| + String n3, |
| + v3, |
| + String n4, |
| + v4, |
| + String n5, |
| + v5, |
| + String n6, |
| + v6, |
| + String n7, |
| + v7, |
| + String n8, |
| + v8, |
| + String n9, |
| + v9, |
| + String n10, |
| + v10, |
| + String n11, |
| + v11, |
| + String n12, |
| + v12, |
| + String n13, |
| + v13, |
| + String n14, |
| + v14, |
| + String n15, |
| + v15, |
| + String n16, |
| + v16, |
| + String n17, |
| + v17, |
| + String n18, |
| + v18, |
| + String n19, |
| + v19, |
| + String n20, |
| + v20, |
| + String n21, |
| + v21, |
| + String n22, |
| + v22, |
| + String n23, |
| + v23, |
| + String n24, |
| + v24, |
| + String n25, |
| + v25, |
| + String n26, |
| + v26, |
| + String n27, |
| + v27, |
| + String n28, |
| + v28, |
| + String n29, |
| + v29) => |
| + JS( |
| + 'JavaScriptObject', |
| + '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}', |
| + n0, |
| + v0, |
| + n1, |
| + v1, |
| + n2, |
| + v2, |
| + n3, |
| + v3, |
| + n4, |
| + v4, |
| + n5, |
| + v5, |
| + n6, |
| + v6, |
| + n7, |
| + v7, |
| + n8, |
| + v8, |
| + n9, |
| + v9, |
| + n10, |
| + v10, |
| + n11, |
| + v11, |
| + n12, |
| + v12, |
| + n13, |
| + v13, |
| + n14, |
| + v14, |
| + n15, |
| + v15, |
| + n16, |
| + v16, |
| + n17, |
| + v17, |
| + n18, |
| + v18, |
| + n19, |
| + v19, |
| + n20, |
| + v20, |
| + n21, |
| + v21, |
| + n22, |
| + v22, |
| + n23, |
| + v23, |
| + n24, |
| + v24, |
| + n25, |
| + v25, |
| + n26, |
| + v26, |
| + n27, |
| + v27, |
| + n28, |
| + v28, |
| + n29, |
| + v29); |
| + |
| + static callFunction0(fn) => JS('', '#()', fn); |
| + static callFunction1(fn, a) => JS('', '#(#)', fn, a); |
| + static callFunction2(fn, a, b) => JS('', '#(#, #)', fn, a, b); |
| + static callFunction3(fn, a, b, c) => JS('', '#(#, #, #)', fn, a, b, c); |
| + static callFunction4(fn, a, b, c, d) => |
| + JS('', '#(#, #, #, #)', fn, a, b, c, d); |
| + static callFunction5(fn, a, b, c, d, e) => |
| + JS('', '#(#, #, #, #, #)', fn, a, b, c, d, e); |
| + static callFunction6(fn, a, b, c, d, e, f) => |
| + JS('', '#(#, #, #, #, #, #)', fn, a, b, c, d, e, f); |
| + static callFunction7(fn, a, b, c, d, e, f, g) => |
| + JS('', '#(#, #, #, #, #, #, #)', fn, a, b, c, d, e, f, g); |
| + static callFunction8(fn, a, b, c, d, e, f, g, h) => |
| + JS('', '#(#, #, #, #, #, #, #, #)', fn, a, b, c, d, e, f, g, h); |
| + static callFunction9(fn, a, b, c, d, e, f, g, h, i) => |
| + JS('', '#(#, #, #, #, #, #, #, #, #)', fn, a, b, c, d, e, f, g, h, i); |
| + |
| + static callConstructor0(fn) => JS('', 'new #()', fn); |
| + static callConstructor1(fn, a) => JS('', 'new #(#)', fn, a); |
| + static callConstructor2(fn, a, b) => JS('', 'new #(#, #)', fn, a, b); |
| + static callConstructor3(fn, a, b, c) => JS('', 'new #(#, #, #)', fn, a, b, c); |
| + static callConstructor4(fn, a, b, c, d) => |
| + JS('', 'new #(#, #, #, #)', fn, a, b, c, d); |
| + static callConstructor5(fn, a, b, c, d, e) => |
| + JS('', 'new #(#, #, #, #, #)', fn, a, b, c, d, e); |
| + static callConstructor6(fn, a, b, c, d, e, f) => |
| + JS('', 'new #(#, #, #, #, #, #)', fn, a, b, c, d, e, f); |
| + static callConstructor7(fn, a, b, c, d, e, f, g) => |
| + JS('', 'new #(#, #, #, #, #, #, #)', fn, a, b, c, d, e, f, g); |
| + static callConstructor8(fn, a, b, c, d, e, f, g, h) => |
| + JS('', 'new #(#, #, #, #, #, #, #, #)', fn, a, b, c, d, e, f, g, h); |
| + static callConstructor9(fn, a, b, c, d, e, f, g, h, i) => |
| + JS('', 'new #(#, #, #, #, #, #, #, #, #)', fn, a, b, c, d, e, f, g, h, i); |
| + |
| + static callMethod0(o, method) => JS('', '#.#()', o, method); |
| + static callMethod1(o, method, a) => JS('', '#.#(#)', o, method, a); |
| + static callMethod2(o, method, a, b) => JS('', '#.#(#, #)', o, method, a, b); |
| + static callMethod3(o, method, a, b, c) => |
| + JS('', '#.#(#, #, #)', o, method, a, b, c); |
| + static callMethod4(o, method, a, b, c, d) => |
| + JS('', '#.#(#, #, #, #)', o, method, a, b, c, d); |
| + static callMethod5(o, method, a, b, c, d, e) => |
| + JS('', '#.#(#, #, #, #, #)', o, method, a, b, c, d, e); |
| + static callMethod6(o, method, a, b, c, d, e, f) => |
| + JS('', '#.#(#, #, #, #, #, #)', o, method, a, b, c, d, e, f); |
| + static callMethod7(o, method, a, b, c, d, e, f, g) => |
| + JS('', '#.#(#, #, #, #, #, #, #)', o, method, a, b, c, d, e, f, g); |
| + static callMethod8(o, method, a, b, c, d, e, f, g, h) => |
| + JS('', '#.#(#, #, #, #, #, #, #, #)', o, method, a, b, c, d, e, f, g, h); |
| + static callMethod9(o, method, a, b, c, d, e, f, g, h, i) => JS('', |
| + '#.#(#, #, #, #, #, #, #, #, #)', o, method, a, b, c, d, e, f, g, h, i); |
| + |
| + // TODO(jacobr): should these helpers be moved somewhere else? |
| + // Unless we add a compiler feature, they could really be in user code. |
| + // These helpers all assume that optional arguments are specified by |
| + // JsNative.UNDEFINED. |
| + |
| + static callFunction1Opt1(fn, a) { |
| + if (identical(a, UNDEFINED)) return callFunction0(fn); |
| + return callFunction1(fn, a); |
| + } |
| + |
| + static callFunction2Opt1(fn, a, b) { |
| + if (identical(b, UNDEFINED)) return callFunction1(fn, a); |
| + return callFunction2(fn, a, b); |
| + } |
| + |
| + static callFunction2Opt2(fn, a, b) { |
| + if (identical(a, UNDEFINED)) return callFunction0(fn); |
| + return callFunction2Opt1(fn, a, b); |
| + } |
| + |
| + static callFunction3Opt1(fn, a, b, c) { |
| + if (identical(c, UNDEFINED)) return callFunction2(fn, a, b); |
| + return callFunction3(fn, a, b, c); |
| + } |
| + |
| + static callFunction3Opt2(fn, a, b, c) { |
| + if (identical(b, UNDEFINED)) return callFunction1(fn, a); |
| + return callFunction3Opt1(fn, a, b, c); |
| + } |
| + |
| + static callFunction3Opt3(fn, a, b, c) { |
| + if (identical(a, UNDEFINED)) return callFunction0(fn); |
| + return callFunction3Opt2(fn, a, b, c); |
| + } |
| + |
| + static callFunction4Opt1(fn, a, b, c, d) { |
| + if (identical(d, UNDEFINED)) return callFunction3(fn, a, b, c); |
| + return callFunction4(fn, a, b, c, d); |
| + } |
| + |
| + static callFunction4Opt2(fn, a, b, c, d) { |
| + if (identical(c, UNDEFINED)) return callFunction2(fn, a, b); |
| + return callFunction4Opt1(fn, a, b, c, d); |
| + } |
| + |
| + static callFunction4Opt3(fn, a, b, c, d) { |
| + if (identical(b, UNDEFINED)) return callFunction1(fn, a); |
| + return callFunction4Opt2(fn, a, b, c, d); |
| + } |
| + |
| + static callFunction4Opt4(fn, a, b, c, d) { |
| + if (identical(a, UNDEFINED)) return callFunction0(fn); |
| + return callFunction4Opt3(fn, a, b, c, d); |
| + } |
| + |
| + static callFunction5Opt1(fn, a, b, c, d, e) { |
| + if (identical(e, UNDEFINED)) return callFunction4(fn, a, b, c, d); |
| + return callFunction5(fn, a, b, c, d, e); |
| + } |
| + |
| + static callFunction5Opt2(fn, a, b, c, d, e) { |
| + if (identical(d, UNDEFINED)) return callFunction3(fn, a, b, c); |
| + return callFunction5Opt1(fn, a, b, c, d, e); |
| + } |
| + |
| + static callFunction5Opt3(fn, a, b, c, d, e) { |
| + if (identical(c, UNDEFINED)) return callFunction2(fn, a, b); |
| + return callFunction5Opt2(fn, a, b, c, d, e); |
| + } |
| + |
| + static callFunction5Opt4(fn, a, b, c, d, e) { |
| + if (identical(b, UNDEFINED)) return callFunction1(fn, a); |
| + return callFunction5Opt3(fn, a, b, c, d, e); |
| + } |
| + |
| + static callFunction5Opt5(fn, a, b, c, d, e) { |
| + if (identical(a, UNDEFINED)) return callFunction0(fn); |
| + return callFunction5Opt4(fn, a, b, c, d, e); |
| + } |
| + |
| + static callFunction6Opt1(fn, a, b, c, d, e, f) { |
| + if (identical(f, UNDEFINED)) return callFunction5(fn, a, b, c, d, e); |
| + return callFunction6(fn, a, b, c, d, e, f); |
| + } |
| + |
| + static callFunction6Opt2(fn, a, b, c, d, e, f) { |
| + if (identical(e, UNDEFINED)) return callFunction4(fn, a, b, c, d); |
| + return callFunction6Opt1(fn, a, b, c, d, e, f); |
| + } |
| + |
| + static callFunction6Opt3(fn, a, b, c, d, e, f) { |
| + if (identical(d, UNDEFINED)) return callFunction3(fn, a, b, c); |
| + return callFunction6Opt2(fn, a, b, c, d, e, f); |
| + } |
| + |
| + static callFunction6Opt4(fn, a, b, c, d, e, f) { |
| + if (identical(c, UNDEFINED)) return callFunction2(fn, a, b); |
| + return callFunction6Opt3(fn, a, b, c, d, e, f); |
| + } |
| + |
| + static callFunction6Opt5(fn, a, b, c, d, e, f) { |
| + if (identical(b, UNDEFINED)) return callFunction1(fn, a); |
| + return callFunction6Opt4(fn, a, b, c, d, e, f); |
| + } |
| + |
| + static callFunction6Opt6(fn, a, b, c, d, e, f) { |
| + if (identical(a, UNDEFINED)) return callFunction0(fn); |
| + return callFunction6Opt5(fn, a, b, c, d, e, f); |
| + } |
| + |
| + static callFunction7Opt1(fn, a, b, c, d, e, f, g) { |
| + if (identical(g, UNDEFINED)) return callFunction6(fn, a, b, c, d, e, f); |
| + return callFunction7(fn, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callFunction7Opt2(fn, a, b, c, d, e, f, g) { |
| + if (identical(f, UNDEFINED)) return callFunction5(fn, a, b, c, d, e); |
| + return callFunction7Opt1(fn, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callFunction7Opt3(fn, a, b, c, d, e, f, g) { |
| + if (identical(e, UNDEFINED)) return callFunction4(fn, a, b, c, d); |
| + return callFunction7Opt2(fn, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callFunction7Opt4(fn, a, b, c, d, e, f, g) { |
| + if (identical(d, UNDEFINED)) return callFunction3(fn, a, b, c); |
| + return callFunction7Opt3(fn, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callFunction7Opt5(fn, a, b, c, d, e, f, g) { |
| + if (identical(c, UNDEFINED)) return callFunction2(fn, a, b); |
| + return callFunction7Opt4(fn, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callFunction7Opt6(fn, a, b, c, d, e, f, g) { |
| + if (identical(b, UNDEFINED)) return callFunction1(fn, a); |
| + return callFunction7Opt5(fn, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callFunction7Opt7(fn, a, b, c, d, e, f, g) { |
| + if (identical(a, UNDEFINED)) return callFunction0(fn); |
| + return callFunction7Opt6(fn, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callFunction8Opt1(fn, a, b, c, d, e, f, g, h) { |
| + if (identical(h, UNDEFINED)) return callFunction7(fn, a, b, c, d, e, f, g); |
| + return callFunction8(fn, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callFunction8Opt2(fn, a, b, c, d, e, f, g, h) { |
| + if (identical(g, UNDEFINED)) return callFunction6(fn, a, b, c, d, e, f); |
| + return callFunction8Opt1(fn, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callFunction8Opt3(fn, a, b, c, d, e, f, g, h) { |
| + if (identical(f, UNDEFINED)) return callFunction5(fn, a, b, c, d, e); |
| + return callFunction8Opt2(fn, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callFunction8Opt4(fn, a, b, c, d, e, f, g, h) { |
| + if (identical(e, UNDEFINED)) return callFunction4(fn, a, b, c, d); |
| + return callFunction8Opt3(fn, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callFunction8Opt5(fn, a, b, c, d, e, f, g, h) { |
| + if (identical(d, UNDEFINED)) return callFunction3(fn, a, b, c); |
| + return callFunction8Opt4(fn, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callFunction8Opt6(fn, a, b, c, d, e, f, g, h) { |
| + if (identical(c, UNDEFINED)) return callFunction2(fn, a, b); |
| + return callFunction8Opt5(fn, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callFunction8Opt7(fn, a, b, c, d, e, f, g, h) { |
| + if (identical(b, UNDEFINED)) return callFunction1(fn, a); |
| + return callFunction8Opt6(fn, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callFunction8Opt8(fn, a, b, c, d, e, f, g, h) { |
| + if (identical(a, UNDEFINED)) return callFunction0(fn); |
| + return callFunction8Opt7(fn, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callFunction9Opt1(fn, a, b, c, d, e, f, g, h, i) { |
| + if (identical(i, UNDEFINED)) return callFunction8( |
| + fn, a, b, c, d, e, f, g, h); |
| + return callFunction9(fn, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callFunction9Opt2(fn, a, b, c, d, e, f, g, h, i) { |
| + if (identical(h, UNDEFINED)) return callFunction7(fn, a, b, c, d, e, f, g); |
| + return callFunction9Opt1(fn, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callFunction9Opt3(fn, a, b, c, d, e, f, g, h, i) { |
| + if (identical(g, UNDEFINED)) return callFunction6(fn, a, b, c, d, e, f); |
| + return callFunction9Opt2(fn, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callFunction9Opt4(fn, a, b, c, d, e, f, g, h, i) { |
| + if (identical(f, UNDEFINED)) return callFunction5(fn, a, b, c, d, e); |
| + return callFunction9Opt3(fn, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callFunction9Opt5(fn, a, b, c, d, e, f, g, h, i) { |
| + if (identical(e, UNDEFINED)) return callFunction4(fn, a, b, c, d); |
| + return callFunction9Opt4(fn, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callFunction9Opt6(fn, a, b, c, d, e, f, g, h, i) { |
| + if (identical(d, UNDEFINED)) return callFunction3(fn, a, b, c); |
| + return callFunction9Opt5(fn, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callFunction9Opt7(fn, a, b, c, d, e, f, g, h, i) { |
| + if (identical(c, UNDEFINED)) return callFunction2(fn, a, b); |
| + return callFunction9Opt6(fn, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callFunction9Opt8(fn, a, b, c, d, e, f, g, h, i) { |
| + if (identical(b, UNDEFINED)) return callFunction1(fn, a); |
| + return callFunction9Opt7(fn, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callFunction9Opt9(fn, a, b, c, d, e, f, g, h, i) { |
| + if (identical(a, UNDEFINED)) return callFunction0(fn); |
| + return callFunction9Opt8(fn, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callConstructor1Opt1(fn, a) { |
| + if (identical(a, UNDEFINED)) return callConstructor0(fn); |
| + return callConstructor1(fn, a); |
| + } |
| + |
| + static callConstructor2Opt1(fn, a, b) { |
| + if (identical(b, UNDEFINED)) return callConstructor1(fn, a); |
| + return callConstructor2(fn, a, b); |
| + } |
| + |
| + static callConstructor2Opt2(fn, a, b) { |
| + if (identical(a, UNDEFINED)) return callConstructor0(fn); |
| + return callConstructor2Opt1(fn, a, b); |
| + } |
| + |
| + static callConstructor3Opt1(fn, a, b, c) { |
| + if (identical(c, UNDEFINED)) return callConstructor2(fn, a, b); |
| + return callConstructor3(fn, a, b, c); |
| + } |
| + |
| + static callConstructor3Opt2(fn, a, b, c) { |
| + if (identical(b, UNDEFINED)) return callConstructor1(fn, a); |
| + return callConstructor3Opt1(fn, a, b, c); |
| + } |
| + |
| + static callConstructor3Opt3(fn, a, b, c) { |
| + if (identical(a, UNDEFINED)) return callConstructor0(fn); |
| + return callConstructor3Opt2(fn, a, b, c); |
| + } |
| + |
| + static callConstructor4Opt1(fn, a, b, c, d) { |
| + if (identical(d, UNDEFINED)) return callConstructor3(fn, a, b, c); |
| + return callConstructor4(fn, a, b, c, d); |
| + } |
| + |
| + static callConstructor4Opt2(fn, a, b, c, d) { |
| + if (identical(c, UNDEFINED)) return callConstructor2(fn, a, b); |
| + return callConstructor4Opt1(fn, a, b, c, d); |
| + } |
| + |
| + static callConstructor4Opt3(fn, a, b, c, d) { |
| + if (identical(b, UNDEFINED)) return callConstructor1(fn, a); |
| + return callConstructor4Opt2(fn, a, b, c, d); |
| + } |
| + |
| + static callConstructor4Opt4(fn, a, b, c, d) { |
| + if (identical(a, UNDEFINED)) return callConstructor0(fn); |
| + return callConstructor4Opt3(fn, a, b, c, d); |
| + } |
| + |
| + static callConstructor5Opt1(fn, a, b, c, d, e) { |
| + if (identical(e, UNDEFINED)) return callConstructor4(fn, a, b, c, d); |
| + return callConstructor5(fn, a, b, c, d, e); |
| + } |
| + |
| + static callConstructor5Opt2(fn, a, b, c, d, e) { |
| + if (identical(d, UNDEFINED)) return callConstructor3(fn, a, b, c); |
| + return callConstructor5Opt1(fn, a, b, c, d, e); |
| + } |
| + |
| + static callConstructor5Opt3(fn, a, b, c, d, e) { |
| + if (identical(c, UNDEFINED)) return callConstructor2(fn, a, b); |
| + return callConstructor5Opt2(fn, a, b, c, d, e); |
| + } |
| + |
| + static callConstructor5Opt4(fn, a, b, c, d, e) { |
| + if (identical(b, UNDEFINED)) return callConstructor1(fn, a); |
| + return callConstructor5Opt3(fn, a, b, c, d, e); |
| + } |
| + |
| + static callConstructor5Opt5(fn, a, b, c, d, e) { |
| + if (identical(a, UNDEFINED)) return callConstructor0(fn); |
| + return callConstructor5Opt4(fn, a, b, c, d, e); |
| + } |
| + |
| + static callConstructor6Opt1(fn, a, b, c, d, e, f) { |
| + if (identical(f, UNDEFINED)) return callConstructor5(fn, a, b, c, d, e); |
| + return callConstructor6(fn, a, b, c, d, e, f); |
| + } |
| + |
| + static callConstructor6Opt2(fn, a, b, c, d, e, f) { |
| + if (identical(e, UNDEFINED)) return callConstructor4(fn, a, b, c, d); |
| + return callConstructor6Opt1(fn, a, b, c, d, e, f); |
| + } |
| + |
| + static callConstructor6Opt3(fn, a, b, c, d, e, f) { |
| + if (identical(d, UNDEFINED)) return callConstructor3(fn, a, b, c); |
| + return callConstructor6Opt2(fn, a, b, c, d, e, f); |
| + } |
| + |
| + static callConstructor6Opt4(fn, a, b, c, d, e, f) { |
| + if (identical(c, UNDEFINED)) return callConstructor2(fn, a, b); |
| + return callConstructor6Opt3(fn, a, b, c, d, e, f); |
| + } |
| + |
| + static callConstructor6Opt5(fn, a, b, c, d, e, f) { |
| + if (identical(b, UNDEFINED)) return callConstructor1(fn, a); |
| + return callConstructor6Opt4(fn, a, b, c, d, e, f); |
| + } |
| + |
| + static callConstructor6Opt6(fn, a, b, c, d, e, f) { |
| + if (identical(a, UNDEFINED)) return callConstructor0(fn); |
| + return callConstructor6Opt5(fn, a, b, c, d, e, f); |
| + } |
| + |
| + static callConstructor7Opt1(fn, a, b, c, d, e, f, g) { |
| + if (identical(g, UNDEFINED)) return callConstructor6(fn, a, b, c, d, e, f); |
| + return callConstructor7(fn, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callConstructor7Opt2(fn, a, b, c, d, e, f, g) { |
| + if (identical(f, UNDEFINED)) return callConstructor5(fn, a, b, c, d, e); |
| + return callConstructor7Opt1(fn, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callConstructor7Opt3(fn, a, b, c, d, e, f, g) { |
| + if (identical(e, UNDEFINED)) return callConstructor4(fn, a, b, c, d); |
| + return callConstructor7Opt2(fn, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callConstructor7Opt4(fn, a, b, c, d, e, f, g) { |
| + if (identical(d, UNDEFINED)) return callConstructor3(fn, a, b, c); |
| + return callConstructor7Opt3(fn, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callConstructor7Opt5(fn, a, b, c, d, e, f, g) { |
| + if (identical(c, UNDEFINED)) return callConstructor2(fn, a, b); |
| + return callConstructor7Opt4(fn, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callConstructor7Opt6(fn, a, b, c, d, e, f, g) { |
| + if (identical(b, UNDEFINED)) return callConstructor1(fn, a); |
| + return callConstructor7Opt5(fn, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callConstructor7Opt7(fn, a, b, c, d, e, f, g) { |
| + if (identical(a, UNDEFINED)) return callConstructor0(fn); |
| + return callConstructor7Opt6(fn, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callConstructor8Opt1(fn, a, b, c, d, e, f, g, h) { |
| + if (identical(h, UNDEFINED)) return callConstructor7( |
| + fn, a, b, c, d, e, f, g); |
| + return callConstructor8(fn, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callConstructor8Opt2(fn, a, b, c, d, e, f, g, h) { |
| + if (identical(g, UNDEFINED)) return callConstructor6(fn, a, b, c, d, e, f); |
| + return callConstructor8Opt1(fn, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callConstructor8Opt3(fn, a, b, c, d, e, f, g, h) { |
| + if (identical(f, UNDEFINED)) return callConstructor5(fn, a, b, c, d, e); |
| + return callConstructor8Opt2(fn, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callConstructor8Opt4(fn, a, b, c, d, e, f, g, h) { |
| + if (identical(e, UNDEFINED)) return callConstructor4(fn, a, b, c, d); |
| + return callConstructor8Opt3(fn, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callConstructor8Opt5(fn, a, b, c, d, e, f, g, h) { |
| + if (identical(d, UNDEFINED)) return callConstructor3(fn, a, b, c); |
| + return callConstructor8Opt4(fn, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callConstructor8Opt6(fn, a, b, c, d, e, f, g, h) { |
| + if (identical(c, UNDEFINED)) return callConstructor2(fn, a, b); |
| + return callConstructor8Opt5(fn, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callConstructor8Opt7(fn, a, b, c, d, e, f, g, h) { |
| + if (identical(b, UNDEFINED)) return callConstructor1(fn, a); |
| + return callConstructor8Opt6(fn, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callConstructor8Opt8(fn, a, b, c, d, e, f, g, h) { |
| + if (identical(a, UNDEFINED)) return callConstructor0(fn); |
| + return callConstructor8Opt7(fn, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callConstructor9Opt1(fn, a, b, c, d, e, f, g, h, i) { |
| + if (identical(i, UNDEFINED)) return callConstructor8( |
| + fn, a, b, c, d, e, f, g, h); |
| + return callConstructor9(fn, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callConstructor9Opt2(fn, a, b, c, d, e, f, g, h, i) { |
| + if (identical(h, UNDEFINED)) return callConstructor7( |
| + fn, a, b, c, d, e, f, g); |
| + return callConstructor9Opt1(fn, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callConstructor9Opt3(fn, a, b, c, d, e, f, g, h, i) { |
| + if (identical(g, UNDEFINED)) return callConstructor6(fn, a, b, c, d, e, f); |
| + return callConstructor9Opt2(fn, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callConstructor9Opt4(fn, a, b, c, d, e, f, g, h, i) { |
| + if (identical(f, UNDEFINED)) return callConstructor5(fn, a, b, c, d, e); |
| + return callConstructor9Opt3(fn, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callConstructor9Opt5(fn, a, b, c, d, e, f, g, h, i) { |
| + if (identical(e, UNDEFINED)) return callConstructor4(fn, a, b, c, d); |
| + return callConstructor9Opt4(fn, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callConstructor9Opt6(fn, a, b, c, d, e, f, g, h, i) { |
| + if (identical(d, UNDEFINED)) return callConstructor3(fn, a, b, c); |
| + return callConstructor9Opt5(fn, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callConstructor9Opt7(fn, a, b, c, d, e, f, g, h, i) { |
| + if (identical(c, UNDEFINED)) return callConstructor2(fn, a, b); |
| + return callConstructor9Opt6(fn, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callConstructor9Opt8(fn, a, b, c, d, e, f, g, h, i) { |
| + if (identical(b, UNDEFINED)) return callConstructor1(fn, a); |
| + return callConstructor9Opt7(fn, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callConstructor9Opt9(fn, a, b, c, d, e, f, g, h, i) { |
| + if (identical(a, UNDEFINED)) return callConstructor0(fn); |
| + return callConstructor9Opt8(fn, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callMethod1Opt1(o, method, a) { |
| + if (identical(a, UNDEFINED)) return callMethod0(o, method); |
| + return callMethod1(o, method, a); |
| + } |
| + |
| + static callMethod2Opt1(o, method, a, b) { |
| + if (identical(b, UNDEFINED)) return callMethod1(o, method, a); |
| + return callMethod2(o, method, a, b); |
| + } |
| + |
| + static callMethod2Opt2(o, method, a, b) { |
| + if (identical(a, UNDEFINED)) return callMethod0(o, method); |
| + return callMethod2Opt1(o, method, a, b); |
| + } |
| + |
| + static callMethod3Opt1(o, method, a, b, c) { |
| + if (identical(c, UNDEFINED)) return callMethod2(o, method, a, b); |
| + return callMethod3(o, method, a, b, c); |
| + } |
| + |
| + static callMethod3Opt2(o, method, a, b, c) { |
| + if (identical(b, UNDEFINED)) return callMethod1(o, method, a); |
| + return callMethod3Opt1(o, method, a, b, c); |
| + } |
| + |
| + static callMethod3Opt3(o, method, a, b, c) { |
| + if (identical(a, UNDEFINED)) return callMethod0(o, method); |
| + return callMethod3Opt2(o, method, a, b, c); |
| + } |
| + |
| + static callMethod4Opt1(o, method, a, b, c, d) { |
| + if (identical(d, UNDEFINED)) return callMethod3(o, method, a, b, c); |
| + return callMethod4(o, method, a, b, c, d); |
| + } |
| + |
| + static callMethod4Opt2(o, method, a, b, c, d) { |
| + if (identical(c, UNDEFINED)) return callMethod2(o, method, a, b); |
| + return callMethod4Opt1(o, method, a, b, c, d); |
| + } |
| + |
| + static callMethod4Opt3(o, method, a, b, c, d) { |
| + if (identical(b, UNDEFINED)) return callMethod1(o, method, a); |
| + return callMethod4Opt2(o, method, a, b, c, d); |
| + } |
| + |
| + static callMethod4Opt4(o, method, a, b, c, d) { |
| + if (identical(a, UNDEFINED)) return callMethod0(o, method); |
| + return callMethod4Opt3(o, method, a, b, c, d); |
| + } |
| + |
| + static callMethod5Opt1(o, method, a, b, c, d, e) { |
| + if (identical(e, UNDEFINED)) return callMethod4(o, method, a, b, c, d); |
| + return callMethod5(o, method, a, b, c, d, e); |
| + } |
| + |
| + static callMethod5Opt2(o, method, a, b, c, d, e) { |
| + if (identical(d, UNDEFINED)) return callMethod3(o, method, a, b, c); |
| + return callMethod5Opt1(o, method, a, b, c, d, e); |
| + } |
| + |
| + static callMethod5Opt3(o, method, a, b, c, d, e) { |
| + if (identical(c, UNDEFINED)) return callMethod2(o, method, a, b); |
| + return callMethod5Opt2(o, method, a, b, c, d, e); |
| + } |
| + |
| + static callMethod5Opt4(o, method, a, b, c, d, e) { |
| + if (identical(b, UNDEFINED)) return callMethod1(o, method, a); |
| + return callMethod5Opt3(o, method, a, b, c, d, e); |
| + } |
| + |
| + static callMethod5Opt5(o, method, a, b, c, d, e) { |
| + if (identical(a, UNDEFINED)) return callMethod0(o, method); |
| + return callMethod5Opt4(o, method, a, b, c, d, e); |
| + } |
| + |
| + static callMethod6Opt1(o, method, a, b, c, d, e, f) { |
| + if (identical(f, UNDEFINED)) return callMethod5(o, method, a, b, c, d, e); |
| + return callMethod6(o, method, a, b, c, d, e, f); |
| + } |
| + |
| + static callMethod6Opt2(o, method, a, b, c, d, e, f) { |
| + if (identical(e, UNDEFINED)) return callMethod4(o, method, a, b, c, d); |
| + return callMethod6Opt1(o, method, a, b, c, d, e, f); |
| + } |
| + |
| + static callMethod6Opt3(o, method, a, b, c, d, e, f) { |
| + if (identical(d, UNDEFINED)) return callMethod3(o, method, a, b, c); |
| + return callMethod6Opt2(o, method, a, b, c, d, e, f); |
| + } |
| + |
| + static callMethod6Opt4(o, method, a, b, c, d, e, f) { |
| + if (identical(c, UNDEFINED)) return callMethod2(o, method, a, b); |
| + return callMethod6Opt3(o, method, a, b, c, d, e, f); |
| + } |
| + |
| + static callMethod6Opt5(o, method, a, b, c, d, e, f) { |
| + if (identical(b, UNDEFINED)) return callMethod1(o, method, a); |
| + return callMethod6Opt4(o, method, a, b, c, d, e, f); |
| + } |
| + |
| + static callMethod6Opt6(o, method, a, b, c, d, e, f) { |
| + if (identical(a, UNDEFINED)) return callMethod0(o, method); |
| + return callMethod6Opt5(o, method, a, b, c, d, e, f); |
| + } |
| + |
| + static callMethod7Opt1(o, method, a, b, c, d, e, f, g) { |
| + if (identical(g, UNDEFINED)) return callMethod6( |
| + o, method, a, b, c, d, e, f); |
| + return callMethod7(o, method, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callMethod7Opt2(o, method, a, b, c, d, e, f, g) { |
| + if (identical(f, UNDEFINED)) return callMethod5(o, method, a, b, c, d, e); |
| + return callMethod7Opt1(o, method, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callMethod7Opt3(o, method, a, b, c, d, e, f, g) { |
| + if (identical(e, UNDEFINED)) return callMethod4(o, method, a, b, c, d); |
| + return callMethod7Opt2(o, method, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callMethod7Opt4(o, method, a, b, c, d, e, f, g) { |
| + if (identical(d, UNDEFINED)) return callMethod3(o, method, a, b, c); |
| + return callMethod7Opt3(o, method, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callMethod7Opt5(o, method, a, b, c, d, e, f, g) { |
| + if (identical(c, UNDEFINED)) return callMethod2(o, method, a, b); |
| + return callMethod7Opt4(o, method, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callMethod7Opt6(o, method, a, b, c, d, e, f, g) { |
| + if (identical(b, UNDEFINED)) return callMethod1(o, method, a); |
| + return callMethod7Opt5(o, method, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callMethod7Opt7(o, method, a, b, c, d, e, f, g) { |
| + if (identical(a, UNDEFINED)) return callMethod0(o, method); |
| + return callMethod7Opt6(o, method, a, b, c, d, e, f, g); |
| + } |
| + |
| + static callMethod8Opt1(o, method, a, b, c, d, e, f, g, h) { |
| + if (identical(h, UNDEFINED)) return callMethod7( |
| + o, method, a, b, c, d, e, f, g); |
| + return callMethod8(o, method, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callMethod8Opt2(o, method, a, b, c, d, e, f, g, h) { |
| + if (identical(g, UNDEFINED)) return callMethod6( |
| + o, method, a, b, c, d, e, f); |
| + return callMethod8Opt1(o, method, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callMethod8Opt3(o, method, a, b, c, d, e, f, g, h) { |
| + if (identical(f, UNDEFINED)) return callMethod5(o, method, a, b, c, d, e); |
| + return callMethod8Opt2(o, method, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callMethod8Opt4(o, method, a, b, c, d, e, f, g, h) { |
| + if (identical(e, UNDEFINED)) return callMethod4(o, method, a, b, c, d); |
| + return callMethod8Opt3(o, method, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callMethod8Opt5(o, method, a, b, c, d, e, f, g, h) { |
| + if (identical(d, UNDEFINED)) return callMethod3(o, method, a, b, c); |
| + return callMethod8Opt4(o, method, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callMethod8Opt6(o, method, a, b, c, d, e, f, g, h) { |
| + if (identical(c, UNDEFINED)) return callMethod2(o, method, a, b); |
| + return callMethod8Opt5(o, method, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callMethod8Opt7(o, method, a, b, c, d, e, f, g, h) { |
| + if (identical(b, UNDEFINED)) return callMethod1(o, method, a); |
| + return callMethod8Opt6(o, method, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callMethod8Opt8(o, method, a, b, c, d, e, f, g, h) { |
| + if (identical(a, UNDEFINED)) return callMethod0(o, method); |
| + return callMethod8Opt7(o, method, a, b, c, d, e, f, g, h); |
| + } |
| + |
| + static callMethod9Opt1(o, method, a, b, c, d, e, f, g, h, i) { |
| + if (identical(i, UNDEFINED)) return callMethod8( |
| + o, method, a, b, c, d, e, f, g, h); |
| + return callMethod9(o, method, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callMethod9Opt2(o, method, a, b, c, d, e, f, g, h, i) { |
| + if (identical(h, UNDEFINED)) return callMethod7( |
| + o, method, a, b, c, d, e, f, g); |
| + return callMethod9Opt1(o, method, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callMethod9Opt3(o, method, a, b, c, d, e, f, g, h, i) { |
| + if (identical(g, UNDEFINED)) return callMethod6( |
| + o, method, a, b, c, d, e, f); |
| + return callMethod9Opt2(o, method, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callMethod9Opt4(o, method, a, b, c, d, e, f, g, h, i) { |
| + if (identical(f, UNDEFINED)) return callMethod5(o, method, a, b, c, d, e); |
| + return callMethod9Opt3(o, method, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callMethod9Opt5(o, method, a, b, c, d, e, f, g, h, i) { |
| + if (identical(e, UNDEFINED)) return callMethod4(o, method, a, b, c, d); |
| + return callMethod9Opt4(o, method, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callMethod9Opt6(o, method, a, b, c, d, e, f, g, h, i) { |
| + if (identical(d, UNDEFINED)) return callMethod3(o, method, a, b, c); |
| + return callMethod9Opt5(o, method, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callMethod9Opt7(o, method, a, b, c, d, e, f, g, h, i) { |
| + if (identical(c, UNDEFINED)) return callMethod2(o, method, a, b); |
| + return callMethod9Opt6(o, method, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callMethod9Opt8(o, method, a, b, c, d, e, f, g, h, i) { |
| + if (identical(b, UNDEFINED)) return callMethod1(o, method, a); |
| + return callMethod9Opt7(o, method, a, b, c, d, e, f, g, h, i); |
| + } |
| + |
| + static callMethod9Opt9(o, method, a, b, c, d, e, f, g, h, i) { |
| + if (identical(a, UNDEFINED)) return callMethod0(o, method); |
| + return callMethod9Opt8(o, method, a, b, c, d, e, f, g, h, i); |
| + } |
| +} |