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

Unified Diff: lib/compiler/implementation/native_emitter.dart

Issue 10386086: RFC: Start refactoring to provide more than a single backend. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Next iteration Created 8 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: lib/compiler/implementation/native_emitter.dart
diff --git a/lib/compiler/implementation/native_emitter.dart b/lib/compiler/implementation/native_emitter.dart
index e4e977b7b94817f843328fa7ae5e7806539646f2..4718693f0bddeb3519f74f474db37a0a546d0fb4 100644
--- a/lib/compiler/implementation/native_emitter.dart
+++ b/lib/compiler/implementation/native_emitter.dart
@@ -4,7 +4,7 @@
class NativeEmitter {
- Compiler compiler;
+ Emitter emitter;
StringBuffer nativeBuffer;
// Classes that participate in dynamic dispatch. These are the
@@ -30,7 +30,7 @@ class NativeEmitter {
// implementation.
Set<FunctionElement> nativeMethods;
- NativeEmitter(this.compiler)
+ NativeEmitter(this.emitter)
: classesWithDynamicDispatch = new Set<ClassElement>(),
nativeClasses = new Set<ClassElement>(),
subtypes = new Map<ClassElement, List<ClassElement>>(),
@@ -39,6 +39,8 @@ class NativeEmitter {
nativeMethods = new Set<FunctionElement>(),
nativeBuffer = new StringBuffer();
+ Compiler get compiler() => emitter.compiler;
+
String get dynamicName() {
Element element = compiler.findHelper(
const SourceString('dynamicFunction'));
@@ -85,7 +87,7 @@ class NativeEmitter {
for (Element member in classElement.members) {
if (member.isInstanceMember()) {
bool needGettersAndSetters = true;
- compiler.emitter.addInstanceMember(
+ emitter.addInstanceMember(
member, needGettersAndSetters, defineInstanceMember);
}
}
@@ -132,12 +134,12 @@ class NativeEmitter {
for (Element member in classElement.members) {
if (member.isInstanceMember()) {
bool needGettersAndSetters = true;
- compiler.emitter.addInstanceMember(
+ emitter.addInstanceMember(
member, needGettersAndSetters, defineInstanceMember);
}
}
- compiler.emitter.generateTypeTests(classElement, (Element other) {
+ emitter.generateTypeTests(classElement, (Element other) {
assert(requiresNativeIsCheck(other));
defineInstanceMember(compiler.namer.operatorIs(other),
"function() { return true; }");

Powered by Google App Engine
This is Rietveld 408576698