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

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

Issue 1016003003: sort classes in dependency order, or load lazily if needed, fixes #78 (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 9 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
« no previous file with comments | « test/codegen/expect/server_mode/html_input.html ('k') | test/codegen/sunflower.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 var sunflower; 1 var sunflower;
2 (function(exports) { 2 (function(exports) {
3 'use strict'; 3 'use strict';
4 let ORANGE = "orange"; 4 let ORANGE = "orange";
5 let SEED_RADIUS = 2; 5 let SEED_RADIUS = 2;
6 let SCALE_FACTOR = 4; 6 let SCALE_FACTOR = 4;
7 let TAU = dart.notNull(math.PI) * 2; 7 let TAU = dart.notNull(math.PI) * 2;
8 let MAX_D = 300; 8 let MAX_D = 300;
9 let centerX = dart.notNull(MAX_D) / 2; 9 let centerX = dart.notNull(MAX_D) / 2;
10 let centerY = centerX; 10 let centerY = centerX;
11 // Function querySelector: (String) → Element 11 // Function querySelector: (String) → Element
12 function querySelector(selector) { 12 function querySelector(selector) {
13 return dom.document.querySelector(selector); 13 return dom.document.querySelector(selector);
14 } 14 }
15 exports.seeds = 0; 15 exports.seeds = 0;
16 dart.defineLazyProperties(exports, { 16 dart.defineLazyProperties(exports, {
17 get slider() { 17 get slider() {
18 return dart.as(querySelector("#slider"), dom.InputElement); 18 return dart.as(querySelector("#slider"), dom.InputElement);
19 }, 19 },
20 get notes() { 20 get notes() {
21 return querySelector("#notes"); 21 return querySelector("#notes");
22 }, 22 },
23 get PHI() { 23 get PHI() {
24 return (dart.notNull(math.sqrt(5)) + 1) / 2; 24 return (dart.notNull(math.sqrt(5)) + 1) / 2;
25 }, 25 },
26 get context() { 26 get context() {
27 return dart.as(dart.as(querySelector("#canvas"), dom.CanvasElement).getCon text('2d'), dom.CanvasRenderingContext2D); 27 return dart.as(dart.as(querySelector("#canvas"), dom.CanvasElement).getCon text('2d'), dom.CanvasRenderingContext2D);
28 } 28 }
29 }); 29 });
30 // Function main: () → void
31 function main() {
32 exports.slider.addEventListener('change', (e) => draw());
33 draw();
34 }
35 // Function draw: () → void
36 function draw() {
37 exports.seeds = core.int.parse(exports.slider.value);
38 exports.context.clearRect(0, 0, MAX_D, MAX_D);
39 for (let i = 0; dart.notNull(i) < dart.notNull(exports.seeds); i = dart.notN ull(i) + 1) {
40 let theta = dart.notNull(i) * dart.notNull(TAU) / dart.notNull(exports.PHI );
41 let r = dart.notNull(math.sqrt(i)) * dart.notNull(SCALE_FACTOR);
42 let x = dart.notNull(centerX) + dart.notNull(r) * dart.notNull(math.cos(th eta));
43 let y = dart.notNull(centerY) - dart.notNull(r) * dart.notNull(math.sin(th eta));
44 new SunflowerSeed(x, y, SEED_RADIUS).draw();
45 }
46 exports.notes.textContent = `${exports.seeds} seeds`;
47 }
30 class Circle extends core.Object { 48 class Circle extends core.Object {
31 Circle(x, y, radius) { 49 Circle(x, y, radius) {
32 this.x = x; 50 this.x = x;
33 this.y = y; 51 this.y = y;
34 this.radius = radius; 52 this.radius = radius;
35 } 53 }
36 } 54 }
37 class CirclePainter extends core.Object { 55 class CirclePainter extends core.Object {
38 CirclePainter() { 56 CirclePainter() {
39 this.color = ORANGE; 57 this.color = ORANGE;
(...skipping 11 matching lines...) Expand all
51 } 69 }
52 class SunflowerSeed extends dart.mixin(Circle, CirclePainter) { 70 class SunflowerSeed extends dart.mixin(Circle, CirclePainter) {
53 SunflowerSeed(x, y, radius, color) { 71 SunflowerSeed(x, y, radius, color) {
54 if (color === void 0) 72 if (color === void 0)
55 color = null; 73 color = null;
56 super.Circle(x, y, radius); 74 super.Circle(x, y, radius);
57 if (color !== null) 75 if (color !== null)
58 this.color = color; 76 this.color = color;
59 } 77 }
60 } 78 }
61 // Function main: () → void
62 function main() {
63 exports.slider.addEventListener('change', (e) => draw());
64 draw();
65 }
66 // Function draw: () → void
67 function draw() {
68 exports.seeds = core.int.parse(exports.slider.value);
69 exports.context.clearRect(0, 0, MAX_D, MAX_D);
70 for (let i = 0; dart.notNull(i) < dart.notNull(exports.seeds); i = dart.notN ull(i) + 1) {
71 let theta = dart.notNull(i) * dart.notNull(TAU) / dart.notNull(exports.PHI );
72 let r = dart.notNull(math.sqrt(i)) * dart.notNull(SCALE_FACTOR);
73 let x = dart.notNull(centerX) + dart.notNull(r) * dart.notNull(math.cos(th eta));
74 let y = dart.notNull(centerY) - dart.notNull(r) * dart.notNull(math.sin(th eta));
75 new SunflowerSeed(x, y, SEED_RADIUS).draw();
76 }
77 exports.notes.textContent = `${exports.seeds} seeds`;
78 }
79 // Exports: 79 // Exports:
80 exports.ORANGE = ORANGE; 80 exports.ORANGE = ORANGE;
81 exports.SEED_RADIUS = SEED_RADIUS; 81 exports.SEED_RADIUS = SEED_RADIUS;
82 exports.SCALE_FACTOR = SCALE_FACTOR; 82 exports.SCALE_FACTOR = SCALE_FACTOR;
83 exports.TAU = TAU; 83 exports.TAU = TAU;
84 exports.MAX_D = MAX_D; 84 exports.MAX_D = MAX_D;
85 exports.centerX = centerX; 85 exports.centerX = centerX;
86 exports.centerY = centerY; 86 exports.centerY = centerY;
87 exports.querySelector = querySelector; 87 exports.querySelector = querySelector;
88 exports.main = main;
89 exports.draw = draw;
90 exports.SunflowerSeed = SunflowerSeed;
88 exports.Circle = Circle; 91 exports.Circle = Circle;
89 exports.CirclePainter = CirclePainter; 92 exports.CirclePainter = CirclePainter;
90 exports.SunflowerSeed = SunflowerSeed;
91 exports.main = main;
92 exports.draw = draw;
93 })(sunflower || (sunflower = {})); 93 })(sunflower || (sunflower = {}));
OLDNEW
« no previous file with comments | « test/codegen/expect/server_mode/html_input.html ('k') | test/codegen/sunflower.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698