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

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

Issue 880473002: dart2js: move emitClass to emitter. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « pkg/compiler/lib/src/js_emitter/native_emitter.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 part of dart2js.js_emitter; 5 part of dart2js.js_emitter;
6 6
7 7
8 class OldEmitter implements Emitter { 8 class OldEmitter implements Emitter {
9 final Compiler compiler; 9 final Compiler compiler;
10 final CodeEmitterTask task; 10 final CodeEmitterTask task;
(...skipping 1757 matching lines...) Expand 10 before | Expand all | Expand 10 after
1768 CodeBuffer buildNativesBuffer(Program program) { 1768 CodeBuffer buildNativesBuffer(Program program) {
1769 // Emit native classes on [nativeBuffer]. 1769 // Emit native classes on [nativeBuffer].
1770 // TODO(johnniwinther): Avoid creating a [CodeBuffer]. 1770 // TODO(johnniwinther): Avoid creating a [CodeBuffer].
1771 final CodeBuffer nativeBuffer = new CodeBuffer(); 1771 final CodeBuffer nativeBuffer = new CodeBuffer();
1772 1772
1773 if (program.nativeClasses.isEmpty) return nativeBuffer; 1773 if (program.nativeClasses.isEmpty) return nativeBuffer;
1774 1774
1775 1775
1776 addComment('Native classes', nativeBuffer); 1776 addComment('Native classes', nativeBuffer);
1777 1777
1778 nativeEmitter.generateNativeClasses(program.nativeClasses, 1778 List<Class> neededClasses =
1779 additionalProperties); 1779 nativeEmitter.prepareNativeClasses(program.nativeClasses,
1780 additionalProperties);
1781
1782 for (Class cls in neededClasses) {
1783 assert(cls.isNative);
1784 ClassBuilder enclosingBuilder = getElementDescriptor(cls.element);
1785 emitClass(cls, enclosingBuilder);
1786 }
1780 1787
1781 nativeEmitter.finishGenerateNativeClasses(); 1788 nativeEmitter.finishGenerateNativeClasses();
1782 nativeEmitter.assembleCode(nativeBuffer); 1789 nativeEmitter.assembleCode(nativeBuffer);
1783 1790
1784 return nativeBuffer; 1791 return nativeBuffer;
1785 } 1792 }
1786 1793
1787 int emitProgram(ProgramBuilder programBuilder) { 1794 int emitProgram(ProgramBuilder programBuilder) {
1788 Program program = programBuilder.buildProgram( 1795 Program program = programBuilder.buildProgram(
1789 storeFunctionTypesInMetadata: true); 1796 storeFunctionTypesInMetadata: true);
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
2092 for (Element element in compiler.enqueuer.codegen.newlyEnqueuedElements) { 2099 for (Element element in compiler.enqueuer.codegen.newlyEnqueuedElements) {
2093 if (element.isInstanceMember) { 2100 if (element.isInstanceMember) {
2094 cachedClassBuilders.remove(element.enclosingClass); 2101 cachedClassBuilders.remove(element.enclosingClass);
2095 2102
2096 nativeEmitter.cachedBuilders.remove(element.enclosingClass); 2103 nativeEmitter.cachedBuilders.remove(element.enclosingClass);
2097 2104
2098 } 2105 }
2099 } 2106 }
2100 } 2107 }
2101 } 2108 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/js_emitter/native_emitter.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698