Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 dart_library.library('closure', null, /* Imports */[ | 1 const exports = {}; |
| 2 'dart/_runtime', | 2 import dart from "./dart/_runtime"; |
| 3 'dart/core', | 3 import core from "./dart/core"; |
| 4 'dart/js' | 4 import js from "./dart/js"; |
| 5 ], /* Lazy imports */[ | 5 let dartx = dart.dartx; |
| 6 ], function(exports, dart, core, js) { | 6 function generic_function<T>(items: core.List<T>, seed: T): core.List<T> { |
|
Jennifer Messerly
2016/02/09 16:41:58
As noted ... this will change, a bit. It'll look a
ochafik
2016/02/10 18:12:46
+1 for reifyGenericFuncTypeArgs
And maybe even a d
| |
| 7 'use strict'; | 7 let strings = items[dartx.map](dart.fn((i: T): string => `${i}`, core.String, [dart.dynamic]))[dartx.toList](); |
| 8 let dartx = dart.dartx; | 8 return items; |
| 9 /** @typedef {function({i: (?number|undefined)}=)} */ | 9 } |
| 10 const Callback = dart.typedef('Callback', () => dart.functionType(dart.void, [ ], {i: core.int})); | 10 dart.fn(generic_function, () => dart.definiteFunctionType(core.List, [core.List, dart.dynamic])); |
| 11 const Foo$ = dart.generic(function(T) { | 11 /** @typedef */ |
| 12 class Foo extends core.Object { | 12 const Callback = dart.typedef('Callback', () => dart.functionType(dart.void, [], {i: core.int})); |
| 13 /** | 13 const Foo$ = dart.generic(function(T) { |
| 14 * @param {?number} i | 14 class Foo<T> extends core.Object { |
|
Jennifer Messerly
2016/02/09 16:41:58
super awesome
ochafik
2016/02/10 18:12:45
Hehe, it's only locally awesome, doesn't break out
| |
| 15 * @param {?} v | 15 i: number; |
| 16 */ | 16 b: boolean; |
| 17 Foo(i, v) { | 17 s: string; |
| 18 this.i = i; | 18 v: T; |
| 19 this.v = v; | 19 static some_static_constant: string; |
| 20 this.b = null; | 20 static some_static_final: string; |
| 21 this.s = null; | 21 static some_static_var: string; |
| 22 } | 22 Foo(i: number, v: T) { |
| 23 /** @return {Foo} */ | 23 this.i = i; |
| 24 static build() { | 24 this.v = v; |
| 25 return new (Foo$(T))(1, null); | 25 this.b = null; |
| 26 } | 26 this.s = null; |
| 27 /** | |
| 28 * @param {?} a | |
| 29 * @param {?} b | |
| 30 */ | |
| 31 untyped_method(a, b) {} | |
| 32 /** @param {?} t */ | |
| 33 pass(t) { | |
| 34 dart.as(t, T); | |
| 35 return t; | |
| 36 } | |
| 37 /** | |
| 38 * @param {Foo} foo | |
| 39 * @param {core.List} list | |
| 40 * @param {?number} i | |
| 41 * @param {?number} n | |
| 42 * @param {?number} d | |
| 43 * @param {?boolean} b | |
| 44 * @param {string} s | |
| 45 * @param {Array<?>} a | |
| 46 * @param {Object<*, *>} o | |
| 47 * @param {Function} f | |
| 48 * @return {string} | |
| 49 */ | |
| 50 typed_method(foo, list, i, n, d, b, s, a, o, f) { | |
| 51 return ''; | |
| 52 } | |
| 53 /** | |
| 54 * @param {?} a | |
| 55 * @param {?=} b | |
| 56 * @param {?=} c | |
| 57 */ | |
| 58 optional_params(a, b, c) { | |
| 59 if (b === void 0) b = null; | |
| 60 if (c === void 0) c = null; | |
| 61 } | |
| 62 /** | |
| 63 * @param {?} a | |
| 64 * @param {{b: (?|undefined), c: (?|undefined)}=} opts | |
| 65 */ | |
| 66 static named_params(a, opts) { | |
| 67 let b = opts && 'b' in opts ? opts.b : null; | |
| 68 let c = opts && 'c' in opts ? opts.c : null; | |
| 69 } | |
| 70 nullary_method() {} | |
| 71 /** | |
| 72 * @param {function(?, ?=):?number} f | |
| 73 * @param {function(?, {y: (string|undefined), z: (?|undefined)}=):?} g | |
| 74 * @param {Callback} cb | |
| 75 */ | |
| 76 function_params(f, g, cb) { | |
| 77 dart.as(f, dart.functionType(core.int, [dart.dynamic], [dart.dynamic])); | |
| 78 dart.as(g, dart.functionType(dart.dynamic, [dart.dynamic], {y: core.Stri ng, z: dart.dynamic})); | |
| 79 cb({i: this.i}); | |
| 80 } | |
| 81 /** @return {string} */ | |
| 82 get prop() { | |
| 83 return null; | |
| 84 } | |
| 85 /** @param {string} value */ | |
| 86 set prop(value) {} | |
| 87 /** @return {string} */ | |
| 88 static get staticProp() { | |
| 89 return null; | |
| 90 } | |
| 91 /** @param {string} value */ | |
| 92 static set staticProp(value) {} | |
| 93 } | 27 } |
| 94 dart.setSignature(Foo, { | 28 static build() { |
| 95 constructors: () => ({ | 29 return new (Foo$(T))(1, null); |
| 96 Foo: [Foo$(T), [core.int, T]], | 30 } |
| 97 build: [Foo$(T), []] | 31 untyped_method(a, b) {} |
| 98 }), | 32 pass(t: T) { |
| 99 methods: () => ({ | 33 dart.as(t, T); |
| 100 untyped_method: [dart.dynamic, [dart.dynamic, dart.dynamic]], | 34 return t; |
| 101 pass: [T, [T]], | 35 } |
| 102 typed_method: [core.String, [Foo$(), core.List, core.int, core.num, core .double, core.bool, core.String, js.JsArray, js.JsObject, js.JsFunction]], | 36 typed_method(foo: Foo<any>, list: core.List<any>, i: number, n: number, d: n umber, b: boolean, s: string, a: any[], o: Object, f: Function) { |
| 103 optional_params: [dart.dynamic, [dart.dynamic], [dart.dynamic, dart.dyna mic]], | 37 return ''; |
| 104 nullary_method: [dart.dynamic, []], | 38 } |
| 105 function_params: [dart.dynamic, [dart.functionType(core.int, [dart.dynam ic], [dart.dynamic]), dart.functionType(dart.dynamic, [dart.dynamic], {y: core.S tring, z: dart.dynamic}), Callback]] | 39 optional_params(a, b, c) { |
| 106 }), | 40 if (b === void 0) b = null; |
| 107 statics: () => ({named_params: [dart.dynamic, [dart.dynamic], {b: dart.dyn amic, c: dart.dynamic}]}), | 41 if (c === void 0) c = null; |
| 108 names: ['named_params'] | 42 } |
| 109 }); | 43 static named_params(a, {b = null, c = null}: {b?: any, c?: any} = {}) {} |
| 110 /** @final {string} */ | 44 nullary_method() {} |
| 111 Foo.some_static_constant = "abc"; | 45 function_params(f: (x: any, y?: any) => number, g: (x: any, opts?: {y?: stri ng, z?: any}) => any, cb: Callback) { |
| 112 /** @final {string} */ | 46 dart.as(f, dart.functionType(core.int, [dart.dynamic], [dart.dynamic])); |
| 113 Foo.some_static_final = "abc"; | 47 dart.as(g, dart.functionType(dart.dynamic, [dart.dynamic], {y: core.String , z: dart.dynamic})); |
| 114 /** @type {string} */ | 48 cb({i: this.i}); |
| 115 Foo.some_static_var = "abc"; | 49 } |
| 116 return Foo; | 50 run(a: core.List<any>, b: string, c: (d: string) => core.List<any>, e: (f: ( g: any) => any) => core.List<number>, {h = null}: {h?: core.Map<core.Map<any, an y>, core.Map<any, any>>} = {}) { |
| 51 dart.as(c, dart.functionType(core.List, [core.String])); | |
| 52 dart.as(e, dart.functionType(core.List$(core.int), [dart.functionType(dart .dynamic, [dart.dynamic])])); | |
| 53 } | |
| 54 get prop() { | |
| 55 return null; | |
| 56 } | |
| 57 set prop(value: string) {} | |
| 58 static get staticProp() { | |
| 59 return null; | |
| 60 } | |
| 61 static set staticProp(value: string) {} | |
| 62 } | |
| 63 dart.setSignature(Foo, { | |
| 64 constructors: () => ({ | |
| 65 Foo: [Foo$(T), [core.int, T]], | |
| 66 build: [Foo$(T), []] | |
| 67 }), | |
| 68 methods: () => ({ | |
| 69 untyped_method: [dart.dynamic, [dart.dynamic, dart.dynamic]], | |
| 70 pass: [T, [T]], | |
| 71 typed_method: [core.String, [Foo$(), core.List, core.int, core.num, core.d ouble, core.bool, core.String, js.JsArray, js.JsObject, js.JsFunction]], | |
| 72 optional_params: [dart.dynamic, [dart.dynamic], [dart.dynamic, dart.dynami c]], | |
| 73 nullary_method: [dart.dynamic, []], | |
| 74 function_params: [dart.dynamic, [dart.functionType(core.int, [dart.dynamic ], [dart.dynamic]), dart.functionType(dart.dynamic, [dart.dynamic], {y: core.Str ing, z: dart.dynamic}), Callback]], | |
| 75 run: [dart.dynamic, [core.List, core.String, dart.functionType(core.List, [core.String]), dart.functionType(core.List$(core.int), [dart.functionType(dart. dynamic, [dart.dynamic])])], {h: core.Map$(core.Map, core.Map)}] | |
| 76 }), | |
| 77 statics: () => ({named_params: [dart.dynamic, [dart.dynamic], {b: dart.dynam ic, c: dart.dynamic}]}), | |
| 78 names: ['named_params'] | |
| 117 }); | 79 }); |
| 118 let Foo = Foo$(); | 80 /** @final {string} */ |
| 119 class Bar extends core.Object {} | 81 Foo.some_static_constant = "abc"; |
| 120 const Baz$super = dart.mixin(Foo$(core.int), Bar); | 82 /** @final {string} */ |
| 121 class Baz extends Baz$super { | 83 Foo.some_static_final = "abc"; |
| 122 /** @param {?number} i */ | 84 /** @type {string} */ |
| 123 Baz(i) { | 85 Foo.some_static_var = "abc"; |
| 124 super.Foo(i, 123); | 86 return Foo; |
| 125 } | 87 }); |
| 88 let Foo = Foo$(); | |
| 89 class Bar extends core.Object {} | |
| 90 const Baz$super = dart.mixin(Foo$(core.int), Bar); | |
| 91 class Baz extends Baz$super { | |
| 92 Baz(i: number) { | |
| 93 super.Foo(i, 123); | |
| 126 } | 94 } |
| 127 dart.setSignature(Baz, { | 95 } |
| 128 constructors: () => ({Baz: [Baz, [core.int]]}) | 96 dart.setSignature(Baz, { |
| 129 }); | 97 constructors: () => ({Baz: [Baz, [core.int]]}) |
| 130 /** @param {?} args */ | |
| 131 function main(args) { | |
| 132 } | |
| 133 dart.fn(main, dart.void, [dart.dynamic]); | |
| 134 /** @final {string} */ | |
| 135 const some_top_level_constant = "abc"; | |
| 136 /** @final {string} */ | |
| 137 exports.some_top_level_final = "abc"; | |
| 138 /** @type {string} */ | |
| 139 exports.some_top_level_var = "abc"; | |
| 140 // Exports: | |
| 141 exports.Callback = Callback; | |
| 142 exports.Foo$ = Foo$; | |
| 143 exports.Foo = Foo; | |
| 144 exports.Bar = Bar; | |
| 145 exports.Baz = Baz; | |
| 146 exports.main = main; | |
| 147 exports.some_top_level_constant = some_top_level_constant; | |
| 148 }); | 98 }); |
| 99 function main(args): void { | |
| 100 } | |
| 101 dart.fn(main, dart.void, [dart.dynamic]); | |
| 102 /** @final {string} */ | |
| 103 const some_top_level_constant: string = "abc"; | |
| 104 /** @final {string} */ | |
| 105 exports.some_top_level_final = "abc"; | |
| 106 /** @type {string} */ | |
| 107 exports.some_top_level_var = "abc"; | |
| 108 // Exports: | |
| 109 exports.generic_function = generic_function; | |
| 110 exports.Callback = Callback; | |
| 111 exports.Foo$ = Foo$; | |
| 112 exports.Foo = Foo; | |
| 113 exports.Bar = Bar; | |
| 114 exports.Baz = Baz; | |
| 115 exports.main = main; | |
| 116 exports.some_top_level_constant = some_top_level_constant; | |
| 117 export default exports; | |
| OLD | NEW |