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

Unified Diff: pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart

Issue 859843002: dart2js: use model in native emitter. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Revert debug code. Created 5 years, 11 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: pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
diff --git a/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart b/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
index 82d2c13a367b3cf2045711b67742eaee32284c2f..54ae63010b284800e90b9bcf3691e0c7afe64245 100644
--- a/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
+++ b/pkg/compiler/lib/src/js_emitter/old_emitter/emitter.dart
@@ -723,6 +723,9 @@ class OldEmitter implements Emitter {
}
void emitClass(Class cls, ClassBuilder enclosingBuilder) {
+ // Native classes are handled by the native emitter.
+ assert(!cls.isNative || cls.onlyForRti);
+
ClassElement classElement = cls.element;
compiler.withCurrentElement(classElement, () {
if (compiler.hasIncrementalSupport) {
@@ -1756,17 +1759,18 @@ function(originalDescriptor, name, holder, isStatic, globalFunctionsAccess) {
return emitDeferredCode(program, outputBuffers);
}
- CodeBuffer buildNativesBuffer() {
+ CodeBuffer buildNativesBuffer(Program program) {
// Emit native classes on [nativeBuffer].
// TODO(johnniwinther): Avoid creating a [CodeBuffer].
final CodeBuffer nativeBuffer = new CodeBuffer();
- if (nativeClasses.isEmpty) return nativeBuffer;
+ if (program.nativeClasses.isEmpty) return nativeBuffer;
addComment('Native classes', nativeBuffer);
- nativeEmitter.generateNativeClasses(nativeClasses, additionalProperties);
+ nativeEmitter.generateNativeClasses(program.nativeClasses,
+ additionalProperties);
nativeEmitter.finishGenerateNativeClasses();
nativeEmitter.assembleCode(nativeBuffer);
@@ -1785,7 +1789,7 @@ function(originalDescriptor, name, holder, isStatic, globalFunctionsAccess) {
// itself.
Map<OutputUnit, String> deferredLoadHashes =
emitDeferredOutputUnits(program);
- CodeBuffer nativeBuffer = buildNativesBuffer();
+ CodeBuffer nativeBuffer = buildNativesBuffer(program);
emitMainOutputUnit(program, deferredLoadHashes, nativeBuffer);
if (backend.requiresPreamble &&

Powered by Google App Engine
This is Rietveld 408576698