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

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

Issue 869093003: dart2js: Rename metadataEmitter to metadataCollector and make it independent of old emitter. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Fix more long lines. 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
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 /// This class should morph into something that makes it easy to build 7 /// This class should morph into something that makes it easy to build
8 /// JavaScript representations of libraries, class-sides, and instance-sides. 8 /// JavaScript representations of libraries, class-sides, and instance-sides.
9 /// Initially, it is just a placeholder for code that is moved from 9 /// Initially, it is just a placeholder for code that is moved from
10 /// [CodeEmitterTask]. 10 /// [CodeEmitterTask].
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after
366 memberType = body.constructor.type; 366 memberType = body.constructor.type;
367 } else { 367 } else {
368 memberType = member.type; 368 memberType = member.type;
369 } 369 }
370 if (memberType.containsTypeVariables) { 370 if (memberType.containsTypeVariables) {
371 jsAst.Expression thisAccess = js(r'this.$receiver'); 371 jsAst.Expression thisAccess = js(r'this.$receiver');
372 memberTypeExpression = 372 memberTypeExpression =
373 backend.rti.getSignatureEncoding(memberType, thisAccess); 373 backend.rti.getSignatureEncoding(memberType, thisAccess);
374 } else { 374 } else {
375 memberTypeExpression = 375 memberTypeExpression =
376 js.number(task.metadataEmitter.reifyType(memberType)); 376 js.number(task.metadataCollector.reifyType(memberType));
377 } 377 }
378 } else { 378 } else {
379 memberTypeExpression = js('null'); 379 memberTypeExpression = js('null');
380 } 380 }
381 381
382 expressions 382 expressions
383 ..addAll(tearOffInfo) 383 ..addAll(tearOffInfo)
384 ..add((tearOffName == null || member.isAccessor) 384 ..add((tearOffName == null || member.isAccessor)
385 ? js("null") : js.string(tearOffName)) 385 ? js("null") : js.string(tearOffName))
386 ..add(js.number(requiredParameterCount)) 386 ..add(js.number(requiredParameterCount))
387 ..add(js.number(optionalParameterCount)) 387 ..add(js.number(optionalParameterCount))
388 ..add(memberTypeExpression) 388 ..add(memberTypeExpression)
389 ..addAll(task.metadataEmitter 389 ..addAll(task.metadataCollector
390 .reifyDefaultArguments(member).map(js.number)); 390 .reifyDefaultArguments(member).map(js.number));
391 391
392 if (canBeReflected || canBeApplied) { 392 if (canBeReflected || canBeApplied) {
393 parameters.forEachParameter((Element parameter) { 393 parameters.forEachParameter((Element parameter) {
394 expressions.add( 394 expressions.add(
395 js.number(task.metadataEmitter.reifyName(parameter.name))); 395 js.number(task.metadataCollector.reifyName(parameter.name)));
396 if (backend.mustRetainMetadata) { 396 if (backend.mustRetainMetadata) {
397 Iterable<int> metadataIndices = 397 Iterable<int> metadataIndices =
398 parameter.metadata.map((MetadataAnnotation annotation) { 398 parameter.metadata.map((MetadataAnnotation annotation) {
399 ConstantValue constant = 399 ConstantValue constant =
400 backend.constants.getConstantForMetadata(annotation).value; 400 backend.constants.getConstantForMetadata(annotation).value;
401 backend.constants.addCompileTimeConstantForEmission(constant); 401 backend.constants.addCompileTimeConstantForEmission(constant);
402 return task.metadataEmitter.reifyMetadata(annotation); 402 return task.metadataCollector.reifyMetadata(annotation);
403 }); 403 });
404 expressions.add(new jsAst.ArrayInitializer( 404 expressions.add(new jsAst.ArrayInitializer(
405 metadataIndices.map(js.number).toList())); 405 metadataIndices.map(js.number).toList()));
406 } 406 }
407 }); 407 });
408 } 408 }
409 if (canBeReflected) { 409 if (canBeReflected) {
410 jsAst.LiteralString reflectionName; 410 jsAst.LiteralString reflectionName;
411 if (member.isConstructor) { 411 if (member.isConstructor) {
412 String reflectionNameString = emitter.getReflectionName(member, name); 412 String reflectionNameString = emitter.getReflectionName(member, name);
413 reflectionName = 413 reflectionName =
414 new jsAst.LiteralString( 414 new jsAst.LiteralString(
415 '"new ${Elements.reconstructConstructorName(member)}"'); 415 '"new ${Elements.reconstructConstructorName(member)}"');
416 } else { 416 } else {
417 reflectionName = 417 reflectionName =
418 js.string(namer.privateName(member.library, member.name)); 418 js.string(namer.privateName(member.library, member.name));
419 } 419 }
420 expressions 420 expressions
421 ..add(reflectionName) 421 ..add(reflectionName)
422 ..addAll(task.metadataEmitter.computeMetadata(member).map(js.number)); 422 ..addAll(task.metadataCollector
423 .computeMetadata(member).map(js.number));
423 } else if (isClosure && canBeApplied) { 424 } else if (isClosure && canBeApplied) {
424 expressions.add(js.string(namer.privateName(member.library, 425 expressions.add(js.string(namer.privateName(member.library,
425 member.name))); 426 member.name)));
426 } 427 }
427 428
428 jsAst.ArrayInitializer arrayInit = 429 jsAst.ArrayInitializer arrayInit =
429 new jsAst.ArrayInitializer(expressions.toList()); 430 new jsAst.ArrayInitializer(expressions.toList());
430 compiler.dumpInfoTask.registerElementAst(member, 431 compiler.dumpInfoTask.registerElementAst(member,
431 builder.addProperty(name, arrayInit)); 432 builder.addProperty(name, arrayInit));
432 } 433 }
433 434
434 void addMemberField(Field field, ClassBuilder builder) { 435 void addMemberField(Field field, ClassBuilder builder) {
435 // For now, do nothing. 436 // For now, do nothing.
436 } 437 }
437 } 438 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698