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

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

Issue 1215463006: Move nativeInfo encoding into NativeGenerator. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Address comments and fix null-pointer error. Created 5 years, 5 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
OLDNEW
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2013, 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 class ClassEmitter extends CodeEmitterHelper { 7 class ClassEmitter extends CodeEmitterHelper {
8 8
9 ClassStubGenerator get _stubGenerator => 9 ClassStubGenerator get _stubGenerator =>
10 new ClassStubGenerator(compiler, namer, backend); 10 new ClassStubGenerator(compiler, namer, backend);
(...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 if (cls.functionTypeIndex != null) { 268 if (cls.functionTypeIndex != null) {
269 builder.functionType = cls.functionTypeIndex; 269 builder.functionType = cls.functionTypeIndex;
270 } 270 }
271 271
272 for (Method method in cls.isChecks) { 272 for (Method method in cls.isChecks) {
273 builder.addProperty(method.name, method.code); 273 builder.addProperty(method.name, method.code);
274 } 274 }
275 } 275 }
276 276
277 void emitNativeInfo(Class cls, ClassBuilder builder) { 277 void emitNativeInfo(Class cls, ClassBuilder builder) {
278 if (cls.nativeInfo != null) { 278 jsAst.Expression nativeInfo = NativeGenerator.encodeNativeInfo(cls);
279 builder.addPropertyByName(namer.nativeSpecProperty, cls.nativeInfo); 279 if (nativeInfo != null) {
280 builder.addPropertyByName(namer.nativeSpecProperty, nativeInfo);
280 } 281 }
281 } 282 }
282 283
283 void emitClassBuilderWithReflectionData(Class cls, 284 void emitClassBuilderWithReflectionData(Class cls,
284 ClassBuilder classBuilder, 285 ClassBuilder classBuilder,
285 ClassBuilder enclosingBuilder, 286 ClassBuilder enclosingBuilder,
286 Fragment fragment) { 287 Fragment fragment) {
287 ClassElement classElement = cls.element; 288 ClassElement classElement = cls.element;
288 jsAst.Name className = cls.name; 289 jsAst.Name className = cls.name;
289 290
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
566 ? new Selector.getter(member.name, member.library) 567 ? new Selector.getter(member.name, member.library)
567 : new Selector.setter(member.name, member.library); 568 : new Selector.setter(member.name, member.library);
568 String reflectionName = emitter.getReflectionName(selector, name); 569 String reflectionName = emitter.getReflectionName(selector, name);
569 if (reflectionName != null) { 570 if (reflectionName != null) {
570 var reflectable = 571 var reflectable =
571 js(backend.isAccessibleByReflection(member) ? '1' : '0'); 572 js(backend.isAccessibleByReflection(member) ? '1' : '0');
572 builder.addPropertyByName('+$reflectionName', reflectable); 573 builder.addPropertyByName('+$reflectionName', reflectable);
573 } 574 }
574 } 575 }
575 } 576 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698