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

Side by Side Diff: pkg/kernel/test/closures/kernel_chain.dart

Issue 2665723002: Implement canonical name scheme in kernel. (Closed)
Patch Set: Address comments 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 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file
ahe 2017/02/02 16:24:01 FYI: I'll take care of unifying this with the copy
asgerf 2017/02/03 10:31:16 Thanks
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.md file. 3 // BSD-style license that can be found in the LICENSE.md file.
4 4
5 library test.kernel.closures.suite; 5 library test.kernel.closures.suite;
6 6
7 import 'dart:async' show Future; 7 import 'dart:async' show Future;
8 8
9 import 'dart:io' show Directory, File, IOSink; 9 import 'dart:io' show Directory, File, IOSink;
10 10
11 import 'dart:typed_data' show Uint8List; 11 import 'dart:typed_data' show Uint8List;
12 12
13 import 'package:kernel/kernel.dart' show Repository, loadProgramFromBinary; 13 import 'package:kernel/kernel.dart' show loadProgramFromBinary;
14 14
15 import 'package:kernel/text/ast_to_text.dart' show Printer; 15 import 'package:kernel/text/ast_to_text.dart' show Printer;
16 16
17 import 'package:testing/testing.dart' 17 import 'package:testing/testing.dart'
18 show ChainContext, Result, StdioProcess, Step; 18 show ChainContext, Result, StdioProcess, Step;
19 19
20 import 'package:kernel/ast.dart' show Library, Program; 20 import 'package:kernel/ast.dart' show Library, Program;
21 21
22 import 'package:kernel/verifier.dart' show verifyProgram; 22 import 'package:kernel/verifier.dart' show verifyProgram;
23 23
24 import 'package:kernel/binary/ast_to_binary.dart' show BinaryPrinter; 24 import 'package:kernel/binary/ast_to_binary.dart' show BinaryPrinter;
25 25
26 import 'package:kernel/binary/ast_from_binary.dart' show BinaryBuilder; 26 import 'package:kernel/binary/ast_from_binary.dart' show BinaryBuilder;
27 27
28 import 'package:kernel/binary/loader.dart' show BinaryLoader;
29
30 Future<bool> fileExists(Uri base, String path) async { 28 Future<bool> fileExists(Uri base, String path) async {
31 return await new File.fromUri(base.resolve(path)).exists(); 29 return await new File.fromUri(base.resolve(path)).exists();
32 } 30 }
33 31
34 class Print extends Step<Program, Program, ChainContext> { 32 class Print extends Step<Program, Program, ChainContext> {
35 const Print(); 33 const Print();
36 34
37 String get name => "print"; 35 String get name => "print";
38 36
39 Future<Result<Program>> run(Program program, _) async { 37 Future<Result<Program>> run(Program program, _) async {
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 144
147 class Copy extends Step<Program, Program, ChainContext> { 145 class Copy extends Step<Program, Program, ChainContext> {
148 const Copy(); 146 const Copy();
149 147
150 String get name => "copy program"; 148 String get name => "copy program";
151 149
152 Future<Result<Program>> run(Program program, _) async { 150 Future<Result<Program>> run(Program program, _) async {
153 BytesCollector sink = new BytesCollector(); 151 BytesCollector sink = new BytesCollector();
154 new BinaryPrinter(sink).writeProgramFile(program); 152 new BinaryPrinter(sink).writeProgramFile(program);
155 Uint8List bytes = sink.collect(); 153 Uint8List bytes = sink.collect();
156 BinaryLoader loader = new BinaryLoader(new Repository()); 154 var newProgram = new Program();
157 return pass(new BinaryBuilder(loader, bytes).readProgramFile()); 155 new BinaryBuilder(bytes).readMultiFile(newProgram);
156 return pass(newProgram);
158 } 157 }
159 } 158 }
160 159
161 class BytesCollector implements Sink<List<int>> { 160 class BytesCollector implements Sink<List<int>> {
162 final List<List<int>> lists = <List<int>>[]; 161 final List<List<int>> lists = <List<int>>[];
163 162
164 int length = 0; 163 int length = 0;
165 164
166 void add(List<int> data) { 165 void add(List<int> data) {
167 lists.add(data); 166 lists.add(data);
(...skipping 22 matching lines...) Expand all
190 189
191 Future openWrite(Uri uri, f(IOSink sink)) async { 190 Future openWrite(Uri uri, f(IOSink sink)) async {
192 IOSink sink = new File.fromUri(uri).openWrite(); 191 IOSink sink = new File.fromUri(uri).openWrite();
193 try { 192 try {
194 await f(sink); 193 await f(sink);
195 } finally { 194 } finally {
196 await sink.close(); 195 await sink.close();
197 } 196 }
198 print("Wrote $uri"); 197 print("Wrote $uri");
199 } 198 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698