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

Unified Diff: pkg/analyzer2dart/lib/src/dart_backend.dart

Issue 812333002: Fix analyzer2dart end2end. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix latent crash in modely. Created 6 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « pkg/analyzer2dart/lib/src/converted_world.dart ('k') | pkg/analyzer2dart/lib/src/driver.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/analyzer2dart/lib/src/dart_backend.dart
diff --git a/pkg/analyzer2dart/lib/src/dart_backend.dart b/pkg/analyzer2dart/lib/src/dart_backend.dart
index 4b226f31b9a37e85dd2a1d10c7b5670a39c58bf9..dc396884c84b05b869fa7678bdeaf946f3e94d01 100644
--- a/pkg/analyzer2dart/lib/src/dart_backend.dart
+++ b/pkg/analyzer2dart/lib/src/dart_backend.dart
@@ -7,13 +7,16 @@ library analyzer2dart.dart_backend;
import 'package:compiler/src/elements/elements.dart';
import 'package:compiler/src/dart_backend/dart_backend.dart';
import 'package:compiler/src/dart2jslib.dart';
+import 'package:compiler/src/dart_types.dart';
import 'driver.dart';
import 'converted_world.dart';
void compileToDart(Driver driver, ConvertedWorld convertedWorld) {
- DartOutputter outputter =
- new DartOutputter(new Listener(), driver.outputProvider);
+ DiagnosticListener listener = new Listener();
+ DartOutputter outputter = new DartOutputter(listener, driver.outputProvider);
+ ElementAstCreationContext context = new _ElementAstCreationContext(
+ listener, convertedWorld.dartTypes);
outputter.assembleProgram(
libraries: convertedWorld.libraries,
instantiatedClasses: convertedWorld.instantiatedClasses,
@@ -21,22 +24,44 @@ void compileToDart(Driver driver, ConvertedWorld convertedWorld) {
mainFunction: convertedWorld.mainFunction,
computeElementAst: (Element element) {
return DartBackend.createElementAst(
- null, // No compiler.
- null, // No tracer.
- DART_CONSTANT_SYSTEM,
+ context,
element,
convertedWorld.getIr(element));
},
shouldOutput: (_) => true,
isSafeToRemoveTypeDeclarations: (_) => false);
+}
+
+class _ElementAstCreationContext implements ElementAstCreationContext {
+ final Listener listener;
+
+ @override
+ final DartTypes dartTypes;
+
+ _ElementAstCreationContext(this.listener, this.dartTypes);
+
+ @override
+ ConstantSystem get constantSystem => DART_CONSTANT_SYSTEM;
+ @override
+ InternalErrorFunction get internalError => listener.internalError;
+
+ @override
+ void traceCompilation(String name) {
+ // Do nothing.
+ }
+
+ @override
+ void traceGraph(String title, irObject) {
+ // Do nothing.
+ }
}
class Listener implements DiagnosticListener {
@override
void internalError(Spannable spannable, message) {
- // TODO: implement internalError
+ throw new UnimplementedError(message);
}
@override
@@ -80,7 +105,7 @@ class Listener implements DiagnosticListener {
}
@override
- SourceSpan spanFromSpannable(Spannable node) {
+ spanFromSpannable(Spannable node) {
// TODO: implement spanFromSpannable
}
« no previous file with comments | « pkg/analyzer2dart/lib/src/converted_world.dart ('k') | pkg/analyzer2dart/lib/src/driver.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698