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

Side by Side Diff: tests/stub-generator/src/MintMakerPromiseWithStubsTest-generatedTest.dart

Issue 8384012: Make some ErrorCode-s compile-time errors and some just type warnings (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Use single NO_SUCH_TYPE (but separate for type warning and compile-time error), tweak tests Created 9 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 // IsolateStubs=MintMakerPromiseWithStubsTest.dart:Mint,Purse 5 // IsolateStubs=MintMakerPromiseWithStubsTest.dart:Mint,Purse
6 6
7 #import("../../isolate/src/TestFramework.dart"); 7 #import("../../isolate/src/TestFramework.dart");
8 8
9 /* class = Mint (tests/stub-generator/src/MintMakerPromiseWithStubsTest.dart/Min tMakerPromiseWithStubsTest.dart: 9) */
zundel 2011/11/01 20:03:03 revert before committing if you have changes in yo
10
11 interface Mint$Proxy {
12 Purse$Proxy createPurse(int balance);
13 }
14
15 class Mint$ProxyImpl extends ProxyImpl implements Mint$Proxy {
16 Mint$ProxyImpl(Promise<SendPort> port) : super.forReply(port) { }
17 Mint$ProxyImpl.forIsolate(Proxy isolate) : super.forReply(isolate.call([null]) ) { }
18 factory Mint$ProxyImpl.createIsolate() {
19 Proxy isolate = new Proxy.forIsolate(new Mint$Dispatcher$Isolate());
20 return new Mint$ProxyImpl.forIsolate(isolate);
21 }
22 factory Mint$ProxyImpl.localProxy(Mint obj) {
23 return new Mint$ProxyImpl(new Promise<SendPort>.fromValue(Dispatcher.serve(n ew Mint$Dispatcher(obj))));
24 }
25
26 Purse$Proxy createPurse(int balance) {
27 return new Purse$ProxyImpl(this.call(["createPurse", balance]));
28 }
29 }
30
31 class Mint$Dispatcher extends Dispatcher<Mint> {
32 Mint$Dispatcher(Mint thing) : super(thing) { }
33
34 void process(var message, void reply(var response)) {
35 String command = message[0];
36 if (command == "Mint") {
37 } else if (command == "createPurse") {
38 int balance = message[1];
39 Purse createPurse = target.createPurse(balance);
40 SendPort port = Dispatcher.serve(new Purse$Dispatcher(createPurse));
41 reply(port);
42 } else {
43 // TODO(kasperl,benl): Somehow throw an exception instead.
44 reply("Exception: command '" + command + "' not understood by Mint.");
45 }
46 }
47 }
48
49 class Mint$Dispatcher$Isolate extends Isolate {
50 Mint$Dispatcher$Isolate() : super() { }
51
52 void main() {
53 this.port.receive(void _(var message, SendPort replyTo) {
54 Mint thing = new Mint();
55 SendPort port = Dispatcher.serve(new Mint$Dispatcher(thing));
56 Proxy proxy = new Proxy.forPort(replyTo);
57 proxy.send([port]);
58 });
59 }
60 }
61
62 /* class = Purse (tests/stub-generator/src/MintMakerPromiseWithStubsTest.dart/Mi ntMakerPromiseWithStubsTest.dart: 17) */
63
64 interface Purse$Proxy {
65 Promise<int> queryBalance();
66
67 Purse$Proxy sproutPurse();
68
69 Promise<int> deposit(int amount, Purse$Proxy source);
70 }
71
72 class Purse$ProxyImpl extends ProxyImpl implements Purse$Proxy {
73 Purse$ProxyImpl(Promise<SendPort> port) : super.forReply(port) { }
74 Purse$ProxyImpl.forIsolate(Proxy isolate) : super.forReply(isolate.call([null] )) { }
75 factory Purse$ProxyImpl.createIsolate() {
76 Proxy isolate = new Proxy.forIsolate(new Purse$Dispatcher$Isolate());
77 return new Purse$ProxyImpl.forIsolate(isolate);
78 }
79 factory Purse$ProxyImpl.localProxy(Purse obj) {
80 return new Purse$ProxyImpl(new Promise<SendPort>.fromValue(Dispatcher.serve( new Purse$Dispatcher(obj))));
81 }
82
83 Promise<int> queryBalance() {
84 return this.call(["queryBalance"]);
85 }
86
87 Purse$Proxy sproutPurse() {
88 return new Purse$ProxyImpl(this.call(["sproutPurse"]));
89 }
90
91 Promise<int> deposit(int amount, Purse$Proxy source) {
92 return this.call(["deposit", amount, source]);
93 }
94 }
95
96 class Purse$Dispatcher extends Dispatcher<Purse> {
97 Purse$Dispatcher(Purse thing) : super(thing) { }
98
99 void process(var message, void reply(var response)) {
100 String command = message[0];
101 if (command == "Purse") {
102 } else if (command == "queryBalance") {
103 int queryBalance = target.queryBalance();
104 reply(queryBalance);
105 } else if (command == "sproutPurse") {
106 Purse sproutPurse = target.sproutPurse();
107 SendPort port = Dispatcher.serve(new Purse$Dispatcher(sproutPurse));
108 reply(port);
109 } else if (command == "deposit") {
110 int amount = message[1];
111 List<Promise<SendPort>> promises = new List<Promise<SendPort>>();
112 promises.add(new PromiseProxy<SendPort>(new Promise<SendPort>.fromValue(me ssage[2])));
113 Promise done = new Promise();
114 done.waitFor(promises, 1);
115 done.addCompleteHandler((_) {
116 Purse$Proxy source = new Purse$ProxyImpl(promises[0]);
117 int deposit = target.deposit(amount, source);
118 reply(deposit);
119 });
120 } else {
121 // TODO(kasperl,benl): Somehow throw an exception instead.
122 reply("Exception: command '" + command + "' not understood by Purse.");
123 }
124 }
125 }
126
127 class Purse$Dispatcher$Isolate extends Isolate {
128 Purse$Dispatcher$Isolate() : super() { }
129
130 void main() {
131 this.port.receive(void _(var message, SendPort replyTo) {
132 Purse thing = new Purse();
133 SendPort port = Dispatcher.serve(new Purse$Dispatcher(thing));
134 Proxy proxy = new Proxy.forPort(replyTo);
135 proxy.send([port]);
136 });
137 }
138 }
139 interface Mint factory MintImpl { 9 interface Mint factory MintImpl {
140 10
141 Mint(); 11 Mint();
142 12
143 Purse createPurse(int balance); 13 Purse createPurse(int balance);
144 14
145 } 15 }
146 16
147 interface Purse factory PurseImpl { 17 interface Purse factory PurseImpl {
148 18
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
231 }); 101 });
232 }); 102 });
233 expect.succeeded(); 103 expect.succeeded();
234 } 104 }
235 105
236 } 106 }
237 107
238 main() { 108 main() {
239 runTests([MintMakerPromiseWithStubsTest.testMain]); 109 runTests([MintMakerPromiseWithStubsTest.testMain]);
240 } 110 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698