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

Side by Side Diff: pkg/compiler/lib/src/js_emitter/new_emitter/model_emitter.dart

Issue 902793004: dart2js: fix method setup on mixin classes in the new emitter. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 years, 10 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 | « no previous file | 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 library dart2js.new_js_emitter.model_emitter; 5 library dart2js.new_js_emitter.model_emitter;
6 6
7 import '../../dart2jslib.dart' show Compiler; 7 import '../../dart2jslib.dart' show Compiler;
8 import '../../dart_types.dart' show DartType; 8 import '../../dart_types.dart' show DartType;
9 import '../../js/js.dart' as js; 9 import '../../js/js.dart' as js;
10 import '../../js_backend/js_backend.dart' show 10 import '../../js_backend/js_backend.dart' show
(...skipping 767 matching lines...) Expand 10 before | Expand all | Expand 10 after
778 #parseFunctionDescriptor; 778 #parseFunctionDescriptor;
779 779
780 function compileConstructor(name, descriptor) { 780 function compileConstructor(name, descriptor) {
781 descriptor = compile(name, descriptor); 781 descriptor = compile(name, descriptor);
782 var prototype = determinePrototype(descriptor); 782 var prototype = determinePrototype(descriptor);
783 var constructor; 783 var constructor;
784 // $mixinFormatDescription. 784 // $mixinFormatDescription.
785 if (typeof descriptor[2] !== 'function') { 785 if (typeof descriptor[2] !== 'function') {
786 constructor = compileMixinConstructor(name, prototype, descriptor); 786 constructor = compileMixinConstructor(name, prototype, descriptor);
787 for (var i = 4; i < descriptor.length; i += 2) { 787 for (var i = 4; i < descriptor.length; i += 2) {
788 parseFunctionDescriptor(prototype, descriptor, descriptor[i + 1]); 788 parseFunctionDescriptor(prototype, descriptor[i], descriptor[i + 1]);
789 } 789 }
790 } else { 790 } else {
791 constructor = descriptor[2]; 791 constructor = descriptor[2];
792 for (var i = 3; i < descriptor.length; i += 2) { 792 for (var i = 3; i < descriptor.length; i += 2) {
793 parseFunctionDescriptor(prototype, descriptor[i], descriptor[i + 1]); 793 parseFunctionDescriptor(prototype, descriptor[i], descriptor[i + 1]);
794 } 794 }
795 } 795 }
796 constructor.builtin\$cls = name; // Needed for RTI. 796 constructor.builtin\$cls = name; // Needed for RTI.
797 constructor.prototype = prototype; 797 constructor.prototype = prototype;
798 prototype[#operatorIsPrefix + name] = constructor; 798 prototype[#operatorIsPrefix + name] = constructor;
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
887 887
888 var end = Date.now(); 888 var end = Date.now();
889 print('Setup: ' + (end - start) + ' ms.'); 889 print('Setup: ' + (end - start) + ' ms.');
890 890
891 #main(); // Start main. 891 #main(); // Start main.
892 892
893 }(Date.now(), #code) 893 }(Date.now(), #code)
894 }"""; 894 }""";
895 895
896 } 896 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698