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

Side by Side Diff: test/codegen/expect/closure.js

Issue 1676463002: Type annotations instead of closure comments. (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 4 years, 10 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 unified diff | Download patch
OLDNEW
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;
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698