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

Side by Side Diff: pkg/compiler/lib/src/js_emitter/lazy_emitter/emitter.dart

Issue 1383483006: Extract DiagnosticReporter implementation from Compiler. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Fixes after rebase. Created 5 years, 2 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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 dart2js.js_emitter.lazy_emitter; 5 library dart2js.js_emitter.lazy_emitter;
6 6
7 import 'package:js_runtime/shared/embedded_names.dart' show 7 import 'package:js_runtime/shared/embedded_names.dart' show
8 JsBuiltin, 8 JsBuiltin,
9 METADATA, 9 METADATA,
10 TYPES; 10 TYPES;
11 11
12 import '../program_builder/program_builder.dart' show ProgramBuilder; 12 import '../program_builder/program_builder.dart' show ProgramBuilder;
13 import '../model.dart'; 13 import '../model.dart';
14 import 'model_emitter.dart'; 14 import 'model_emitter.dart';
15 import '../../common.dart'; 15 import '../../common.dart';
16 import '../../elements/elements.dart' show FieldElement; 16 import '../../elements/elements.dart' show FieldElement;
17 import '../../js/js.dart' as js; 17 import '../../js/js.dart' as js;
18 18
19 import '../../js_backend/js_backend.dart' show 19 import '../../js_backend/js_backend.dart' show
20 JavaScriptBackend, 20 JavaScriptBackend,
21 Namer; 21 Namer;
22 22
23 import '../js_emitter.dart' show 23 import '../js_emitter.dart' show
24 NativeEmitter; 24 NativeEmitter;
25 25
26 import '../js_emitter.dart' as emitterTask show 26 import '../js_emitter.dart' as emitterTask show
27 Emitter; 27 Emitter;
28 28
29 import '../../diagnostics/diagnostic_listener.dart' show
30 DiagnosticReporter;
31
29 import '../../diagnostics/spannable.dart' show 32 import '../../diagnostics/spannable.dart' show
30 NO_LOCATION_SPANNABLE; 33 NO_LOCATION_SPANNABLE;
31 34
32 class Emitter implements emitterTask.Emitter { 35 class Emitter implements emitterTask.Emitter {
33 final Compiler _compiler; 36 final Compiler _compiler;
34 final Namer namer; 37 final Namer namer;
35 final ModelEmitter _emitter; 38 final ModelEmitter _emitter;
36 39
37 JavaScriptBackend get _backend => _compiler.backend; 40 JavaScriptBackend get _backend => _compiler.backend;
38 41
39 Emitter(Compiler compiler, Namer namer, NativeEmitter nativeEmitter) 42 Emitter(Compiler compiler, Namer namer, NativeEmitter nativeEmitter)
40 : this._compiler = compiler, 43 : this._compiler = compiler,
41 this.namer = namer, 44 this.namer = namer,
42 _emitter = new ModelEmitter(compiler, namer, nativeEmitter); 45 _emitter = new ModelEmitter(compiler, namer, nativeEmitter);
43 46
47 DiagnosticReporter get reporter => _compiler.reporter;
48
44 @override 49 @override
45 String get patchVersion => "lazy"; 50 String get patchVersion => "lazy";
46 51
47 @override 52 @override
48 int emitProgram(ProgramBuilder programBuilder) { 53 int emitProgram(ProgramBuilder programBuilder) {
49 Program program = programBuilder.buildProgram(); 54 Program program = programBuilder.buildProgram();
50 return _emitter.emitProgram(program); 55 return _emitter.emitProgram(program);
51 } 56 }
52 57
53 @override 58 @override
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after
174 case JsBuiltin.getMetadata: 179 case JsBuiltin.getMetadata:
175 return _emitter.templateForReadMetadata; 180 return _emitter.templateForReadMetadata;
176 181
177 case JsBuiltin.getType: 182 case JsBuiltin.getType:
178 return _emitter.templateForReadType; 183 return _emitter.templateForReadType;
179 184
180 case JsBuiltin.createDartClosureFromNameOfStaticFunction: 185 case JsBuiltin.createDartClosureFromNameOfStaticFunction:
181 throw new UnsupportedError('createDartClosureFromNameOfStaticFunction'); 186 throw new UnsupportedError('createDartClosureFromNameOfStaticFunction');
182 187
183 default: 188 default:
184 _compiler.internalError(NO_LOCATION_SPANNABLE, 189 reporter.internalError(NO_LOCATION_SPANNABLE,
185 "Unhandled Builtin: $builtin"); 190 "Unhandled Builtin: $builtin");
186 return null; 191 return null;
187 } 192 }
188 } 193 }
189 194
190 @override 195 @override
191 void invalidateCaches() { 196 void invalidateCaches() {
192 } 197 }
193 } 198 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/js_emitter/js_emitter.dart ('k') | pkg/compiler/lib/src/js_emitter/metadata_collector.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698