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

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

Issue 2797443007: fix #29182, generate top level const fields lazily (Closed)
Patch Set: fix Created 3 years, 8 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 define(['dart_sdk'], function(dart_sdk) { 1 define(['dart_sdk'], function(dart_sdk) {
2 'use strict'; 2 'use strict';
3 const core = dart_sdk.core; 3 const core = dart_sdk.core;
4 const html = dart_sdk.html; 4 const html = dart_sdk.html;
5 const math = dart_sdk.math; 5 const math = dart_sdk.math;
6 const dart = dart_sdk.dart; 6 const dart = dart_sdk.dart;
7 const dartx = dart_sdk.dartx; 7 const dartx = dart_sdk.dartx;
8 const sunflower = Object.create(null); 8 const sunflower = Object.create(null);
9 const circle = Object.create(null); 9 const circle = Object.create(null);
10 const painter = Object.create(null); 10 const painter = Object.create(null);
11 let StringToElement = () => (StringToElement = dart.constFn(dart.definiteFunct ionType(html.Element, [core.String])))(); 11 let StringToElement = () => (StringToElement = dart.constFn(dart.definiteFunct ionType(html.Element, [core.String])))();
12 let EventTovoid = () => (EventTovoid = dart.constFn(dart.definiteFunctionType( dart.void, [html.Event])))(); 12 let EventTovoid = () => (EventTovoid = dart.constFn(dart.definiteFunctionType( dart.void, [html.Event])))();
13 let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.definiteFunctionType(da rt.void, [])))(); 13 let VoidTovoid = () => (VoidTovoid = dart.constFn(dart.definiteFunctionType(da rt.void, [])))();
14 sunflower.SEED_RADIUS = 2; 14 dart.defineLazy(sunflower, {
15 sunflower.SCALE_FACTOR = 4; 15 get SEED_RADIUS() {
16 sunflower.MAX_D = 300; 16 return 2;
17 sunflower.centerX = sunflower.MAX_D / 2; 17 },
18 sunflower.centerY = sunflower.centerX; 18 get SCALE_FACTOR() {
19 return 4;
20 },
21 get MAX_D() {
22 return 300;
23 },
24 get centerX() {
25 return sunflower.MAX_D / 2;
26 },
27 get centerY() {
28 return sunflower.centerX;
29 }
30 });
19 sunflower.querySelector = function(selector) { 31 sunflower.querySelector = function(selector) {
20 return html.document.querySelector(selector); 32 return html.document.querySelector(selector);
21 }; 33 };
22 dart.fn(sunflower.querySelector, StringToElement()); 34 dart.fn(sunflower.querySelector, StringToElement());
23 dart.defineLazy(sunflower, { 35 dart.defineLazy(sunflower, {
24 get canvas() { 36 get canvas() {
25 return html.CanvasElement.as(sunflower.querySelector("#canvas")); 37 return html.CanvasElement.as(sunflower.querySelector("#canvas"));
26 } 38 },
27 });
28 dart.defineLazy(sunflower, {
29 get context() { 39 get context() {
30 return html.CanvasRenderingContext2D.as(sunflower.canvas[dartx.getContext] ('2d')); 40 return html.CanvasRenderingContext2D.as(sunflower.canvas[dartx.getContext] ('2d'));
31 } 41 },
32 });
33 dart.defineLazy(sunflower, {
34 get slider() { 42 get slider() {
35 return html.InputElement.as(sunflower.querySelector("#slider")); 43 return html.InputElement.as(sunflower.querySelector("#slider"));
36 } 44 },
37 });
38 dart.defineLazy(sunflower, {
39 get notes() { 45 get notes() {
40 return sunflower.querySelector("#notes"); 46 return sunflower.querySelector("#notes");
41 } 47 },
42 });
43 dart.defineLazy(sunflower, {
44 get PHI() { 48 get PHI() {
45 return (dart.notNull(math.sqrt(5)) + 1) / 2; 49 return (dart.notNull(math.sqrt(5)) + 1) / 2;
46 } 50 },
51 get seeds() {
52 return 0;
53 },
54 set seeds(_) {}
47 }); 55 });
48 sunflower.seeds = 0;
49 sunflower.main = function() { 56 sunflower.main = function() {
50 sunflower.slider[dartx.addEventListener]('change', dart.fn(e => sunflower.dr aw(), EventTovoid())); 57 sunflower.slider[dartx.addEventListener]('change', dart.fn(e => sunflower.dr aw(), EventTovoid()));
51 sunflower.draw(); 58 sunflower.draw();
52 }; 59 };
53 dart.fn(sunflower.main, VoidTovoid()); 60 dart.fn(sunflower.main, VoidTovoid());
54 sunflower.draw = function() { 61 sunflower.draw = function() {
55 sunflower.seeds = core.int.parse(sunflower.slider.value); 62 sunflower.seeds = core.int.parse(sunflower.slider.value);
56 sunflower.context.clearRect(0, 0, sunflower.MAX_D, sunflower.MAX_D); 63 sunflower.context.clearRect(0, 0, sunflower.MAX_D, sunflower.MAX_D);
57 for (let i = 0; i < dart.notNull(sunflower.seeds); i++) { 64 for (let i = 0; i < dart.notNull(sunflower.seeds); i++) {
58 let theta = i * painter.TAU / dart.notNull(sunflower.PHI); 65 let theta = i * painter.TAU / dart.notNull(sunflower.PHI);
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 fields: () => ({color: core.String}), 133 fields: () => ({color: core.String}),
127 methods: () => ({draw: dart.definiteFunctionType(dart.void, [html.CanvasRend eringContext2D])}) 134 methods: () => ({draw: dart.definiteFunctionType(dart.void, [html.CanvasRend eringContext2D])})
128 }); 135 });
129 sunflower.SunflowerSeed = class SunflowerSeed extends dart.mixin(circle.Circle , painter.CirclePainter) { 136 sunflower.SunflowerSeed = class SunflowerSeed extends dart.mixin(circle.Circle , painter.CirclePainter) {
130 new(x, y, radius, color) { 137 new(x, y, radius, color) {
131 if (color === void 0) color = null; 138 if (color === void 0) color = null;
132 super.new(x, y, radius); 139 super.new(x, y, radius);
133 if (color != null) this.color = color; 140 if (color != null) this.color = color;
134 } 141 }
135 }; 142 };
136 painter.ORANGE = "orange"; 143 dart.defineLazy(painter, {
137 painter.RED = "red"; 144 get ORANGE() {
138 painter.BLUE = "blue"; 145 return "orange";
139 painter.TAU = math.PI * 2; 146 },
147 get RED() {
148 return "red";
149 },
150 get BLUE() {
151 return "blue";
152 },
153 get TAU() {
154 return math.PI * 2;
155 }
156 });
140 painter.querySelector = function(selector) { 157 painter.querySelector = function(selector) {
141 return html.document.querySelector(selector); 158 return html.document.querySelector(selector);
142 }; 159 };
143 dart.fn(painter.querySelector, StringToElement()); 160 dart.fn(painter.querySelector, StringToElement());
144 dart.defineLazy(painter, { 161 dart.defineLazy(painter, {
145 get canvas() { 162 get canvas() {
146 return html.CanvasElement.as(painter.querySelector("#canvas")); 163 return html.CanvasElement.as(painter.querySelector("#canvas"));
147 } 164 },
148 });
149 dart.defineLazy(painter, {
150 get context() { 165 get context() {
151 return html.CanvasRenderingContext2D.as(painter.canvas[dartx.getContext](' 2d')); 166 return html.CanvasRenderingContext2D.as(painter.canvas[dartx.getContext](' 2d'));
152 } 167 }
153 }); 168 });
154 dart.trackLibraries("sunflower", {"sunflower.dart": sunflower, "circle.dart": circle, "painter.dart": painter}, null); 169 dart.trackLibraries("sunflower", {"sunflower.dart": sunflower, "circle.dart": circle, "painter.dart": painter}, null);
155 // Exports: 170 // Exports:
156 return { 171 return {
157 sunflower: sunflower, 172 sunflower: sunflower,
158 circle: circle, 173 circle: circle,
159 painter: painter 174 painter: painter
160 }; 175 };
161 }); 176 });
162 177
163 //# sourceMappingURL=sunflower.js.map 178 //# sourceMappingURL=sunflower.js.map
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698