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

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

Issue 1965213003: simplify constructors, fixes #564 (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 4 years, 7 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/closure.js ('k') | test/codegen/expect/covariance.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 dart_library.library('constructors', null, /* Imports */[ 1 dart_library.library('constructors', null, /* Imports */[
2 'dart_sdk' 2 'dart_sdk'
3 ], function(exports, dart_sdk) { 3 ], function(exports, dart_sdk) {
4 'use strict'; 4 'use strict';
5 const core = dart_sdk.core; 5 const core = dart_sdk.core;
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 constructors = Object.create(null); 8 const constructors = Object.create(null);
9 constructors.A = class A extends core.Object {}; 9 constructors.A = class A extends core.Object {};
10 constructors.B = class B extends core.Object { 10 constructors.B = class B extends core.Object {
11 B() { 11 new() {
12 } 12 }
13 }; 13 };
14 dart.setSignature(constructors.B, { 14 dart.setSignature(constructors.B, {
15 constructors: () => ({B: [constructors.B, []]}) 15 constructors: () => ({new: [constructors.B, []]})
16 }); 16 });
17 constructors.C = class C extends core.Object { 17 constructors.C = class C extends core.Object {
18 named() { 18 named() {
19 } 19 }
20 }; 20 };
21 dart.defineNamedConstructor(constructors.C, 'named'); 21 dart.defineNamedConstructor(constructors.C, 'named');
22 dart.setSignature(constructors.C, { 22 dart.setSignature(constructors.C, {
23 constructors: () => ({named: [constructors.C, []]}) 23 constructors: () => ({named: [constructors.C, []]})
24 }); 24 });
25 constructors.C2 = class C2 extends constructors.C { 25 constructors.C2 = class C2 extends constructors.C {
26 named() { 26 named() {
27 super.named(); 27 super.named();
28 } 28 }
29 }; 29 };
30 dart.defineNamedConstructor(constructors.C2, 'named'); 30 dart.defineNamedConstructor(constructors.C2, 'named');
31 dart.setSignature(constructors.C2, { 31 dart.setSignature(constructors.C2, {
32 constructors: () => ({named: [constructors.C2, []]}) 32 constructors: () => ({named: [constructors.C2, []]})
33 }); 33 });
34 constructors.D = class D extends core.Object { 34 constructors.D = class D extends core.Object {
35 D() { 35 new() {
36 } 36 }
37 named() { 37 named() {
38 } 38 }
39 }; 39 };
40 dart.defineNamedConstructor(constructors.D, 'named'); 40 dart.defineNamedConstructor(constructors.D, 'named');
41 dart.setSignature(constructors.D, { 41 dart.setSignature(constructors.D, {
42 constructors: () => ({ 42 constructors: () => ({
43 D: [constructors.D, []], 43 new: [constructors.D, []],
44 named: [constructors.D, []] 44 named: [constructors.D, []]
45 }) 45 })
46 }); 46 });
47 constructors.E = class E extends core.Object { 47 constructors.E = class E extends core.Object {
48 E(name) { 48 new(name) {
49 this.name = name; 49 this.name = name;
50 } 50 }
51 }; 51 };
52 dart.setSignature(constructors.E, { 52 dart.setSignature(constructors.E, {
53 constructors: () => ({E: [constructors.E, [core.String]]}) 53 constructors: () => ({new: [constructors.E, [core.String]]})
54 }); 54 });
55 constructors.F = class F extends constructors.E { 55 constructors.F = class F extends constructors.E {
56 F(name) { 56 new(name) {
57 super.E(name); 57 super.new(name);
58 } 58 }
59 }; 59 };
60 dart.setSignature(constructors.F, { 60 dart.setSignature(constructors.F, {
61 constructors: () => ({F: [constructors.F, [core.String]]}) 61 constructors: () => ({new: [constructors.F, [core.String]]})
62 }); 62 });
63 constructors.G = class G extends core.Object { 63 constructors.G = class G extends core.Object {
64 G(p1) { 64 new(p1) {
65 if (p1 === void 0) p1 = null; 65 if (p1 === void 0) p1 = null;
66 } 66 }
67 }; 67 };
68 dart.setSignature(constructors.G, { 68 dart.setSignature(constructors.G, {
69 constructors: () => ({G: [constructors.G, [], [core.String]]}) 69 constructors: () => ({new: [constructors.G, [], [core.String]]})
70 }); 70 });
71 constructors.H = class H extends core.Object { 71 constructors.H = class H extends core.Object {
72 H(opts) { 72 new(opts) {
73 let p1 = opts && 'p1' in opts ? opts.p1 : null; 73 let p1 = opts && 'p1' in opts ? opts.p1 : null;
74 } 74 }
75 }; 75 };
76 dart.setSignature(constructors.H, { 76 dart.setSignature(constructors.H, {
77 constructors: () => ({H: [constructors.H, [], {p1: core.String}]}) 77 constructors: () => ({new: [constructors.H, [], {p1: core.String}]})
78 }); 78 });
79 constructors.I = class I extends core.Object { 79 constructors.I = class I extends core.Object {
80 I() { 80 new() {
81 this.name = 'default'; 81 this.name = 'default';
82 } 82 }
83 named(name) { 83 named(name) {
84 this.name = name; 84 this.name = name;
85 } 85 }
86 }; 86 };
87 dart.defineNamedConstructor(constructors.I, 'named'); 87 dart.defineNamedConstructor(constructors.I, 'named');
88 dart.setSignature(constructors.I, { 88 dart.setSignature(constructors.I, {
89 constructors: () => ({ 89 constructors: () => ({
90 I: [constructors.I, []], 90 new: [constructors.I, []],
91 named: [constructors.I, [core.String]] 91 named: [constructors.I, [core.String]]
92 }) 92 })
93 }); 93 });
94 constructors.J = class J extends core.Object { 94 constructors.J = class J extends core.Object {
95 J() { 95 new() {
96 this.initialized = true; 96 this.initialized = true;
97 this.nonInitialized = null; 97 this.nonInitialized = null;
98 } 98 }
99 }; 99 };
100 dart.setSignature(constructors.J, { 100 dart.setSignature(constructors.J, {
101 constructors: () => ({J: [constructors.J, []]}) 101 constructors: () => ({new: [constructors.J, []]})
102 }); 102 });
103 constructors.K = class K extends core.Object { 103 constructors.K = class K extends core.Object {
104 K() { 104 new() {
105 this.s = 'a'; 105 this.s = 'a';
106 } 106 }
107 withS(s) { 107 withS(s) {
108 this.s = s; 108 this.s = s;
109 } 109 }
110 }; 110 };
111 dart.defineNamedConstructor(constructors.K, 'withS'); 111 dart.defineNamedConstructor(constructors.K, 'withS');
112 dart.setSignature(constructors.K, { 112 dart.setSignature(constructors.K, {
113 constructors: () => ({ 113 constructors: () => ({
114 K: [constructors.K, []], 114 new: [constructors.K, []],
115 withS: [constructors.K, [core.String]] 115 withS: [constructors.K, [core.String]]
116 }) 116 })
117 }); 117 });
118 constructors.L = class L extends core.Object { 118 constructors.L = class L extends core.Object {
119 L(foo) { 119 new(foo) {
120 this.foo = foo; 120 this.foo = foo;
121 } 121 }
122 }; 122 };
123 dart.setSignature(constructors.L, { 123 dart.setSignature(constructors.L, {
124 constructors: () => ({L: [constructors.L, [dart.dynamic]]}) 124 constructors: () => ({new: [constructors.L, [dart.dynamic]]})
125 }); 125 });
126 constructors.M = class M extends constructors.L { 126 constructors.M = class M extends constructors.L {
127 named(x) { 127 named(x) {
128 super.L(dart.notNull(x) + 42); 128 super.new(dart.notNull(x) + 42);
129 } 129 }
130 }; 130 };
131 dart.defineNamedConstructor(constructors.M, 'named'); 131 dart.defineNamedConstructor(constructors.M, 'named');
132 dart.setSignature(constructors.M, { 132 dart.setSignature(constructors.M, {
133 constructors: () => ({named: [constructors.M, [core.int]]}) 133 constructors: () => ({named: [constructors.M, [core.int]]})
134 }); 134 });
135 constructors.N = class N extends constructors.M { 135 constructors.N = class N extends constructors.M {
136 named(y) { 136 named(y) {
137 super.named(dart.notNull(y) + 100); 137 super.named(dart.notNull(y) + 100);
138 } 138 }
139 }; 139 };
140 dart.defineNamedConstructor(constructors.N, 'named'); 140 dart.defineNamedConstructor(constructors.N, 'named');
141 dart.setSignature(constructors.N, { 141 dart.setSignature(constructors.N, {
142 constructors: () => ({named: [constructors.N, [core.int]]}) 142 constructors: () => ({named: [constructors.N, [core.int]]})
143 }); 143 });
144 constructors.P = class P extends constructors.N { 144 constructors.P = class P extends constructors.N {
145 P(z) { 145 new(z) {
146 super.named(dart.notNull(z) + 9000); 146 super.named(dart.notNull(z) + 9000);
147 } 147 }
148 foo(x) { 148 foo(x) {
149 this.P(dart.notNull(x) + 42); 149 P.prototype.new.call(this, dart.notNull(x) + 42);
150 } 150 }
151 bar() { 151 bar() {
152 this.foo(1); 152 P.prototype.foo.call(this, 1);
153 } 153 }
154 }; 154 };
155 dart.defineNamedConstructor(constructors.P, 'foo'); 155 dart.defineNamedConstructor(constructors.P, 'foo');
156 dart.defineNamedConstructor(constructors.P, 'bar'); 156 dart.defineNamedConstructor(constructors.P, 'bar');
157 dart.setSignature(constructors.P, { 157 dart.setSignature(constructors.P, {
158 constructors: () => ({ 158 constructors: () => ({
159 P: [constructors.P, [core.int]], 159 new: [constructors.P, [core.int]],
160 foo: [constructors.P, [core.int]], 160 foo: [constructors.P, [core.int]],
161 bar: [constructors.P, []] 161 bar: [constructors.P, []]
162 }) 162 })
163 }); 163 });
164 constructors.Q$ = dart.generic(T => { 164 constructors.Q$ = dart.generic(T => {
165 class Q extends core.Object { 165 class Q extends core.Object {
166 Q(y) { 166 new(y) {
167 this.x = dart.as(y, T); 167 this.x = dart.as(y, T);
168 } 168 }
169 static foo() { 169 static foo() {
170 return new constructors.Q("hello"); 170 return new constructors.Q("hello");
171 } 171 }
172 bar() { 172 bar() {
173 let q = constructors.Q.foo(); 173 let q = constructors.Q.foo();
174 return dart.as(q.x, core.String); 174 return dart.as(q.x, core.String);
175 } 175 }
176 bar2() { 176 bar2() {
177 let q = new constructors.Q("world"); 177 let q = new constructors.Q("world");
178 return dart.as(q.x, core.String); 178 return dart.as(q.x, core.String);
179 } 179 }
180 static baz() { 180 static baz() {
181 let q = new (constructors.Q$(core.int))(42); 181 let q = new (constructors.Q$(core.int))(42);
182 return dart.notNull(q.bar()) + dart.notNull(q.bar2()); 182 return dart.notNull(q.bar()) + dart.notNull(q.bar2());
183 } 183 }
184 } 184 }
185 dart.setSignature(Q, { 185 dart.setSignature(Q, {
186 constructors: () => ({Q: [constructors.Q$(T), [dart.dynamic]]}), 186 constructors: () => ({new: [constructors.Q$(T), [dart.dynamic]]}),
187 methods: () => ({ 187 methods: () => ({
188 bar: [core.String, []], 188 bar: [core.String, []],
189 bar2: [core.String, []] 189 bar2: [core.String, []]
190 }), 190 }),
191 statics: () => ({ 191 statics: () => ({
192 foo: [constructors.Q, []], 192 foo: [constructors.Q, []],
193 baz: [core.String, []] 193 baz: [core.String, []]
194 }), 194 }),
195 names: ['foo', 'baz'] 195 names: ['foo', 'baz']
196 }); 196 });
197 return Q; 197 return Q;
198 }); 198 });
199 constructors.Q = constructors.Q$(); 199 constructors.Q = constructors.Q$();
200 // Exports: 200 // Exports:
201 exports.constructors = constructors; 201 exports.constructors = constructors;
202 }); 202 });
OLDNEW
« no previous file with comments | « test/codegen/expect/closure.js ('k') | test/codegen/expect/covariance.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698