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

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

Issue 750323003: Remove js.ArrayElement. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: address comments Created 6 years 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 473 matching lines...) Expand 10 before | Expand all | Expand 10 after
484 '"${namer.getNameOfAliasedSuperMember(member)}"')); 484 '"${namer.getNameOfAliasedSuperMember(member)}"'));
485 } 485 }
486 486
487 expressions.add(code); 487 expressions.add(code);
488 488
489 final bool onlyNeedsSuperAlias = 489 final bool onlyNeedsSuperAlias =
490 !(canTearOff || canBeReflected || canBeApplied || needsStubs); 490 !(canTearOff || canBeReflected || canBeApplied || needsStubs);
491 491
492 if (onlyNeedsSuperAlias) { 492 if (onlyNeedsSuperAlias) {
493 jsAst.ArrayInitializer arrayInit = 493 jsAst.ArrayInitializer arrayInit =
494 new jsAst.ArrayInitializer.from(expressions); 494 new jsAst.ArrayInitializer(expressions);
495 compiler.dumpInfoTask.registerElementAst(member, 495 compiler.dumpInfoTask.registerElementAst(member,
496 builder.addProperty(name, arrayInit)); 496 builder.addProperty(name, arrayInit));
497 return; 497 return;
498 } 498 }
499 499
500 String callSelectorString = 'null'; 500 String callSelectorString = 'null';
501 if (member.isFunction) { 501 if (member.isFunction) {
502 Selector callSelector = new Selector.fromElement(member).toCallSelector(); 502 Selector callSelector = new Selector.fromElement(member).toCallSelector();
503 callSelectorString = '"${namer.invocationName(callSelector)}"'; 503 callSelectorString = '"${namer.invocationName(callSelector)}"';
504 } 504 }
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
574 expressions.add( 574 expressions.add(
575 js.number(emitter.metadataEmitter.reifyName(parameter.name))); 575 js.number(emitter.metadataEmitter.reifyName(parameter.name)));
576 if (backend.mustRetainMetadata) { 576 if (backend.mustRetainMetadata) {
577 Iterable<int> metadataIndices = 577 Iterable<int> metadataIndices =
578 parameter.metadata.map((MetadataAnnotation annotation) { 578 parameter.metadata.map((MetadataAnnotation annotation) {
579 ConstantValue constant = 579 ConstantValue constant =
580 backend.constants.getConstantForMetadata(annotation).value; 580 backend.constants.getConstantForMetadata(annotation).value;
581 backend.constants.addCompileTimeConstantForEmission(constant); 581 backend.constants.addCompileTimeConstantForEmission(constant);
582 return emitter.metadataEmitter.reifyMetadata(annotation); 582 return emitter.metadataEmitter.reifyMetadata(annotation);
583 }); 583 });
584 expressions.add( 584 expressions.add(new jsAst.ArrayInitializer(
585 new jsAst.ArrayInitializer.from(metadataIndices.map(js.number))); 585 metadataIndices.map(js.number).toList()));
586 } 586 }
587 }); 587 });
588 } 588 }
589 if (canBeReflected) { 589 if (canBeReflected) {
590 jsAst.LiteralString reflectionName; 590 jsAst.LiteralString reflectionName;
591 if (member.isConstructor) { 591 if (member.isConstructor) {
592 String reflectionNameString = emitter.getReflectionName(member, name); 592 String reflectionNameString = emitter.getReflectionName(member, name);
593 reflectionName = 593 reflectionName =
594 new jsAst.LiteralString( 594 new jsAst.LiteralString(
595 '"new ${Elements.reconstructConstructorName(member)}"'); 595 '"new ${Elements.reconstructConstructorName(member)}"');
596 } else { 596 } else {
597 reflectionName = 597 reflectionName =
598 js.string(namer.privateName(member.library, member.name)); 598 js.string(namer.privateName(member.library, member.name));
599 } 599 }
600 expressions 600 expressions
601 ..add(reflectionName) 601 ..add(reflectionName)
602 ..addAll(emitter.metadataEmitter 602 ..addAll(emitter.metadataEmitter
603 .computeMetadata(member).map(js.number)); 603 .computeMetadata(member).map(js.number));
604 } else if (isClosure && canBeApplied) { 604 } else if (isClosure && canBeApplied) {
605 expressions.add(js.string(namer.privateName(member.library, 605 expressions.add(js.string(namer.privateName(member.library,
606 member.name))); 606 member.name)));
607 } 607 }
608 608
609 jsAst.ArrayInitializer arrayInit = 609 jsAst.ArrayInitializer arrayInit =
610 new jsAst.ArrayInitializer.from(expressions); 610 new jsAst.ArrayInitializer(expressions.toList());
611 compiler.dumpInfoTask.registerElementAst(member, 611 compiler.dumpInfoTask.registerElementAst(member,
612 builder.addProperty(name, arrayInit)); 612 builder.addProperty(name, arrayInit));
613 } 613 }
614 614
615 void addMemberField(VariableElement member, ClassBuilder builder) { 615 void addMemberField(VariableElement member, ClassBuilder builder) {
616 // For now, do nothing. 616 // For now, do nothing.
617 } 617 }
618 } 618 }
619 619
620 class MemberInfo { 620 class MemberInfo {
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
662 assert(needsStubs != null); 662 assert(needsStubs != null);
663 assert(canTearOff != null); 663 assert(canTearOff != null);
664 assert(isClosure != null); 664 assert(isClosure != null);
665 assert(tearOffName != null || !canTearOff); 665 assert(tearOffName != null || !canTearOff);
666 assert(canBeReflected != null); 666 assert(canBeReflected != null);
667 assert(canBeApplied != null); 667 assert(canBeApplied != null);
668 assert(hasSuperAlias != null); 668 assert(hasSuperAlias != null);
669 assert(needStructuredInfo != null); 669 assert(needStructuredInfo != null);
670 } 670 }
671 } 671 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698