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

Side by Side Diff: pkg/dev_compiler/test/codegen_expected/closure.js

Issue 2667343005: Infer Null for return type of functions with empty returns. (Closed)
Patch Set: Address comments, fix 28630, ddc expectations Created 3 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 export const closure = Object.create(null); 1 export const closure = Object.create(null);
2 import { core, js, dart, dartx } from 'dart_sdk'; 2 import { core, js, dart, dartx } from 'dart_sdk';
3 let dynamic__Toint = () => (dynamic__Toint = dart.constFn(dart.functionType(core .int, [dart.dynamic], [dart.dynamic])))(); 3 let dynamic__Toint = () => (dynamic__Toint = dart.constFn(dart.functionType(core .int, [dart.dynamic], [dart.dynamic])))();
4 let dynamic__Todynamic = () => (dynamic__Todynamic = dart.constFn(dart.functionT ype(dart.dynamic, [dart.dynamic], {y: core.String, z: dart.dynamic})))(); 4 let dynamic__Todynamic = () => (dynamic__Todynamic = dart.constFn(dart.functionT ype(dart.dynamic, [dart.dynamic], {y: core.String, z: dart.dynamic})))();
5 let StringToList = () => (StringToList = dart.constFn(dart.functionType(core.Lis t, [core.String])))(); 5 let StringToList = () => (StringToList = dart.constFn(dart.functionType(core.Lis t, [core.String])))();
6 let ListOfint = () => (ListOfint = dart.constFn(core.List$(core.int)))(); 6 let ListOfint = () => (ListOfint = dart.constFn(core.List$(core.int)))();
7 let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.functionType( dart.dynamic, [dart.dynamic])))(); 7 let dynamicTodynamic = () => (dynamicTodynamic = dart.constFn(dart.functionType( dart.dynamic, [dart.dynamic])))();
8 let FnToListOfint = () => (FnToListOfint = dart.constFn(dart.functionType(ListOf int(), [dynamicTodynamic()])))(); 8 let FnToListOfint = () => (FnToListOfint = dart.constFn(dart.functionType(ListOf int(), [dynamicTodynamic()])))();
9 let MapOfMap$Map = () => (MapOfMap$Map = dart.constFn(core.Map$(core.Map, core.M ap)))(); 9 let MapOfMap$Map = () => (MapOfMap$Map = dart.constFn(core.Map$(core.Map, core.M ap)))();
10 let Foo = () => (Foo = dart.constFn(closure.Foo$()))(); 10 let Foo = () => (Foo = dart.constFn(closure.Foo$()))();
11 let ListOfTAndTToListOfT = () => (ListOfTAndTToListOfT = dart.constFn(dart.defin iteFunctionType(T => [core.List$(T), [core.List$(T), T]])))(); 11 let ListOfTAndTToListOfT = () => (ListOfTAndTToListOfT = dart.constFn(dart.defin iteFunctionType(T => [core.List$(T), [core.List$(T), T]])))();
12 let dynamicTovoid = () => (dynamicTovoid = dart.constFn(dart.definiteFunctionTyp e(dart.void, [dart.dynamic])))(); 12 let dynamicTovoid = () => (dynamicTovoid = dart.constFn(dart.definiteFunctionTyp e(dart.void, [dart.dynamic])))();
13 let VoidTodynamic = () => (VoidTodynamic = dart.constFn(dart.definiteFunctionTyp e(dart.dynamic, [])))(); 13 let VoidToNull = () => (VoidToNull = dart.constFn(dart.definiteFunctionType(core .Null, [])))();
14 closure.generic_function = function(T) { 14 closure.generic_function = function(T) {
15 return (items: core.List<T>, seed: T): core.List<T> => { 15 return (items: core.List<T>, seed: T): core.List<T> => {
16 let strings = items[dartx.map](core.String)(dart.fn((i: T): string => dart.s tr`${i}`, dart.definiteFunctionType(core.String, [T])))[dartx.toList](); 16 let strings = items[dartx.map](core.String)(dart.fn((i: T): string => dart.s tr`${i}`, dart.definiteFunctionType(core.String, [T])))[dartx.toList]();
17 return items; 17 return items;
18 }; 18 };
19 }; 19 };
20 dart.fn(closure.generic_function, ListOfTAndTToListOfT()); 20 dart.fn(closure.generic_function, ListOfTAndTToListOfT());
21 closure.Callback = dart.typedef('Callback', () => dart.functionType(dart.void, [ ], {i: core.int})); 21 closure.Callback = dart.typedef('Callback', () => dart.functionType(dart.void, [ ], {i: core.int}));
22 closure.Foo$ = dart.generic(T => { 22 closure.Foo$ = dart.generic(T => {
23 let FooOfT = () => (FooOfT = dart.constFn(closure.Foo$(T)))(); 23 let FooOfT = () => (FooOfT = dart.constFn(closure.Foo$(T)))();
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 }; 112 };
113 dart.addSimpleTypeTests(closure.Baz); 113 dart.addSimpleTypeTests(closure.Baz);
114 dart.setSignature(closure.Baz, { 114 dart.setSignature(closure.Baz, {
115 constructors: () => ({new: dart.definiteFunctionType(closure.Baz, [core.int])} ) 115 constructors: () => ({new: dart.definiteFunctionType(closure.Baz, [core.int])} )
116 }); 116 });
117 closure.main = function(args): void { 117 closure.main = function(args): void {
118 }; 118 };
119 dart.fn(closure.main, dynamicTovoid()); 119 dart.fn(closure.main, dynamicTovoid());
120 dart.defineLazy(closure, { 120 dart.defineLazy(closure, {
121 get closure() { 121 get closure() {
122 return dart.fn(() => { 122 return dart.fn((): core.Null => {
123 return; 123 return;
124 }, VoidTodynamic()); 124 }, VoidToNull());
125 }, 125 },
126 set closure(_) {} 126 set closure(_) {}
127 }); 127 });
128 /** @final {string} */ 128 /** @final {string} */
129 closure.some_top_level_constant = "abc"; 129 closure.some_top_level_constant = "abc";
130 /** @final {string} */ 130 /** @final {string} */
131 closure.some_top_level_final = "abc"; 131 closure.some_top_level_final = "abc";
132 /** @type {string} */ 132 /** @type {string} */
133 closure.some_top_level_var = "abc"; 133 closure.some_top_level_var = "abc";
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698