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

Side by Side Diff: pkg/compiler/lib/src/inferrer/inferrer_visitor.dart

Issue 1313323002: Add visitor methods specific to ??= to SemanticSendVisitor. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Updated cf. comments. Created 5 years, 3 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 library inferrer_visitor; 5 library inferrer_visitor;
6 6
7 import 'dart:collection' show 7 import 'dart:collection' show
8 IterableMixin; 8 IterableMixin;
9 9
10 import '../compiler.dart' show 10 import '../compiler.dart' show
(...skipping 674 matching lines...) Expand 10 before | Expand all | Expand 10 after
685 void updateField(Element element, T type) { 685 void updateField(Element element, T type) {
686 fieldScope.updateField(element, type); 686 fieldScope.updateField(element, type);
687 } 687 }
688 } 688 }
689 689
690 abstract class InferrerVisitor<T, E extends MinimalInferrerEngine<T>> 690 abstract class InferrerVisitor<T, E extends MinimalInferrerEngine<T>>
691 extends Visitor<T> 691 extends Visitor<T>
692 with SendResolverMixin, 692 with SendResolverMixin,
693 SemanticSendResolvedMixin<T, dynamic>, 693 SemanticSendResolvedMixin<T, dynamic>,
694 CompoundBulkMixin<T, dynamic>, 694 CompoundBulkMixin<T, dynamic>,
695 SetIfNullBulkMixin<T, dynamic>,
695 PrefixBulkMixin<T, dynamic>, 696 PrefixBulkMixin<T, dynamic>,
696 PostfixBulkMixin<T, dynamic>, 697 PostfixBulkMixin<T, dynamic>,
697 ErrorBulkMixin<T, dynamic>, 698 ErrorBulkMixin<T, dynamic>,
698 NewBulkMixin<T, dynamic>, 699 NewBulkMixin<T, dynamic>,
699 SetBulkMixin<T, dynamic> 700 SetBulkMixin<T, dynamic>
700 implements SemanticSendVisitor<T, dynamic> { 701 implements SemanticSendVisitor<T, dynamic> {
701 final Compiler compiler; 702 final Compiler compiler;
702 final AstElement analyzedElement; 703 final AstElement analyzedElement;
703 final TypeSystem<T> types; 704 final TypeSystem<T> types;
704 final E inferrer; 705 final E inferrer;
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
766 T bulkHandleSet(SendSet node, _) { 767 T bulkHandleSet(SendSet node, _) {
767 return handleSendSet(node); 768 return handleSendSet(node);
768 } 769 }
769 770
770 @override 771 @override
771 T bulkHandleCompound(SendSet node, _) { 772 T bulkHandleCompound(SendSet node, _) {
772 return handleSendSet(node); 773 return handleSendSet(node);
773 } 774 }
774 775
775 @override 776 @override
777 T bulkHandleSetIfNull(SendSet node, _) {
778 return handleSendSet(node);
779 }
780
781 @override
776 T bulkHandlePrefix(SendSet node, _) { 782 T bulkHandlePrefix(SendSet node, _) {
777 return handleSendSet(node); 783 return handleSendSet(node);
778 } 784 }
779 785
780 @override 786 @override
781 T bulkHandlePostfix(SendSet node, _) { 787 T bulkHandlePostfix(SendSet node, _) {
782 return handleSendSet(node); 788 return handleSendSet(node);
783 } 789 }
784 790
785 @override 791 @override
(...skipping 741 matching lines...) Expand 10 before | Expand all | Expand 10 after
1527 return type; 1533 return type;
1528 } 1534 }
1529 1535
1530 T visitCascade(Cascade node) { 1536 T visitCascade(Cascade node) {
1531 // Ignore the result of the cascade send and return the type of the cascade 1537 // Ignore the result of the cascade send and return the type of the cascade
1532 // receiver. 1538 // receiver.
1533 visit(node.expression); 1539 visit(node.expression);
1534 return cascadeReceiverStack.removeLast(); 1540 return cascadeReceiverStack.removeLast();
1535 } 1541 }
1536 } 1542 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/cps_ir/cps_ir_builder_task.dart ('k') | pkg/compiler/lib/src/resolution/access_semantics.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698