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

Side by Side Diff: tests/compiler/dart2js/sourcemaps/sourcemap_helper.dart

Issue 1235563003: Add interfaces for a new compiler API. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 5 years, 5 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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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 library sourcemap.helper; 5 library sourcemap.helper;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'package:compiler/compiler_new.dart';
8 import 'package:compiler/src/apiimpl.dart' as api; 9 import 'package:compiler/src/apiimpl.dart' as api;
9 import 'package:compiler/src/dart2jslib.dart' show NullSink; 10 import 'package:compiler/src/null_compiler_output.dart' show NullSink;
10 import "package:compiler/src/elements/elements.dart"; 11 import "package:compiler/src/elements/elements.dart";
11 import 'package:compiler/src/filenames.dart'; 12 import 'package:compiler/src/filenames.dart';
12 import 'package:compiler/src/io/source_file.dart'; 13 import 'package:compiler/src/io/source_file.dart';
13 import 'package:compiler/src/io/source_information.dart'; 14 import 'package:compiler/src/io/source_information.dart';
14 import 'package:compiler/src/js/js.dart' as js; 15 import 'package:compiler/src/js/js.dart' as js;
15 import 'package:compiler/src/js/js_debug.dart'; 16 import 'package:compiler/src/js/js_debug.dart';
16 import 'package:compiler/src/js/js_source_mapping.dart'; 17 import 'package:compiler/src/js/js_source_mapping.dart';
17 import 'package:compiler/src/js_backend/js_backend.dart'; 18 import 'package:compiler/src/js_backend/js_backend.dart';
18 import 'package:compiler/src/source_file_provider.dart'; 19 import 'package:compiler/src/source_file_provider.dart';
19 import '../memory_compiler.dart'; 20 import '../memory_compiler.dart';
20 import '../output_collector.dart'; 21 import '../output_collector.dart';
21 22
22 class OutputProvider { 23 class OutputProvider implements CompilerOutput {
23 BufferedEventSink jsMapOutput; 24 BufferedEventSink jsMapOutput;
24 25
25 EventSink<String> call(String name, String extension) { 26 @override
27 EventSink<String> createEventSink(String name, String extension) {
26 if (extension == 'js.map') { 28 if (extension == 'js.map') {
27 return jsMapOutput = new BufferedEventSink(); 29 return jsMapOutput = new BufferedEventSink();
28 } 30 }
29 return new NullSink('$name.$extension'); 31 return new NullSink('$name.$extension');
30 } 32 }
31 } 33 }
32 34
33 class CloningOutputProvider extends OutputProvider { 35 class CloningOutputProvider extends OutputProvider {
34 RandomAccessFileOutputProvider outputProvider; 36 RandomAccessFileOutputProvider outputProvider;
35 37
36 CloningOutputProvider(Uri jsUri, Uri jsMapUri) 38 CloningOutputProvider(Uri jsUri, Uri jsMapUri)
37 : outputProvider = new RandomAccessFileOutputProvider(jsUri, jsMapUri); 39 : outputProvider = new RandomAccessFileOutputProvider(jsUri, jsMapUri);
38 40
39 EventSink<String> call(String name, String extension) { 41 @override
42 EventSink<String> createEventSink(String name, String extension) {
40 EventSink<String> output = outputProvider(name, extension); 43 EventSink<String> output = outputProvider(name, extension);
41 if (extension == 'js.map') { 44 if (extension == 'js.map') {
42 output = new CloningEventSink( 45 output = new CloningEventSink(
43 [output, jsMapOutput = new BufferedEventSink()]); 46 [output, jsMapOutput = new BufferedEventSink()]);
44 } 47 }
45 return output; 48 return output;
46 } 49 }
47 } 50 }
48 51
49 abstract class SourceFileManager { 52 abstract class SourceFileManager {
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 this.jsCode, 325 this.jsCode,
323 this.sourceLocation, 326 this.sourceLocation,
324 this.dartCode, 327 this.dartCode,
325 {this.isMissing: false}); 328 {this.isMissing: false});
326 329
327 String toString() { 330 String toString() {
328 return 'CodePoint[kind=$kind,js=$jsCode,dart=$dartCode,' 331 return 'CodePoint[kind=$kind,js=$jsCode,dart=$dartCode,'
329 'location=$sourceLocation]'; 332 'location=$sourceLocation]';
330 } 333 }
331 } 334 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698