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

Unified Diff: sdk/lib/js/dart2js/js_dart2js.dart

Issue 1318043005: Support user generated custom native JS classes. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: ready for review Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sdk/lib/_internal/js_runtime/lib/interceptors.dart ('k') | tests/html/html.status » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..fde4f629df171c167be0051e4f6e741b4ca927aa 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;
Jennifer Messerly 2015/09/02 22:29:12 now that these are public, how are they intended t
Jacob 2015/09/02 22:49:55 Having both Interceptor and JavaScriptObject be ex
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() {'
Jennifer Messerly 2015/09/02 22:29:12 style suggestion: add spaces inside the string lit
Jacob 2015/09/02 22:49:55 what about just using """ so that you can have bot
Jennifer Messerly 2015/09/02 22:54:56 ''' would work for me too
- '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,2734 @@ 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];
Jennifer Messerly 2015/09/02 22:29:12 fyi, this won't work with all props. you'd want Ob
Jacob 2015/09/02 22:49:55 yep. I only care about value properties. Got an id
+ }
+})(#, #)""",
+ 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, and verbose low level JavaScript interop API.
Jennifer Messerly 2015/09/02 22:29:12 should this say "not verbose" ?
Jacob 2015/09/02 22:49:55 this API is extremely verbose for the person using
+/// This API 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 {
Siggi Cherem (dart-lang) 2015/09/18 20:34:10 I couldn't find this class in the latest patchset,
Jacob 2015/10/01 00:47:33 It is gone. JsNative isn't needed now that extern
+ // WARNING: behavior for UNDEFINED is undefined for the following cases:
Jennifer Messerly 2015/09/02 22:29:12 did you mean for this to be a doc comment?
Jacob 2015/09/02 22:49:55 Done.
+ // 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);
+
+ // Helpers for significantly more efficient JavaScript object literal creation that jsify.
Jennifer Messerly 2015/09/02 22:29:12 long line
Jacob 2015/09/02 22:49:55 Done.
+ static newLiteral() => JS('JavaScriptObject', '{}');
+ static newArray() => JS('JsArray', '[]');
+ static hasOwnProperty(object, name) =>
+ JS('', '#.hasOwnProperty(#)', object, name);
+ static hasProperty(object, name) => JS('', '# in #', object, name);
+ 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);
Jennifer Messerly 2015/09/02 22:29:12 are these intended for end users? how many do we n
Jacob 2015/09/02 22:49:55 These are for code generators. In dart2js they are
+ 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',
+ '{#:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#, #:#}',
Jennifer Messerly 2015/09/02 22:29:12 long line
Jacob 2015/09/02 22:49:55 I see your long line comment and I don't care in t
Jennifer Messerly 2015/09/02 22:54:56 I did, but it was wontfix'd https://github.com/dar
+ 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 UNDEFINED.
Jennifer Messerly 2015/09/02 22:29:12 long line
Jacob 2015/09/02 22:49:55 Done.
+
+ 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);
+ }
+}
« no previous file with comments | « sdk/lib/_internal/js_runtime/lib/interceptors.dart ('k') | tests/html/html.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698