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

Unified Diff: pkg/compiler/lib/src/info/send_info.dart

Issue 1842033004: Add *IndexSetIfNull methods to SemanticSendVisitor. (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Updated cf. comments. Created 4 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: pkg/compiler/lib/src/info/send_info.dart
diff --git a/pkg/compiler/lib/src/info/send_info.dart b/pkg/compiler/lib/src/info/send_info.dart
index 0c311149301c8f275e2b959cfabbc5e1eb0fb663..0985360bdb1369a3b29490a5170fadf04b4f6531 100644
--- a/pkg/compiler/lib/src/info/send_info.dart
+++ b/pkg/compiler/lib/src/info/send_info.dart
@@ -2225,6 +2225,47 @@ class _StatsVisitor<T> extends Visitor
handleNSMError(node);
}
+ @override
+ errorInvalidIndexSetIfNull(SendSet node, ErroneousElement error, Node index,
+ Node rhs, T arg) {
+ handleNoSend(node);
+ }
+
+ @override
+ visitIndexSetIfNull(SendSet node, Node receiver, Node index, Node rhs,
+ T arg) {
+ handleIndex(node); // t1 = receiver[index]
+ handleIndex(node); // receiver[index] = t2
+ }
+
+ @override
+ visitSuperIndexSetIfNull(SendSet node, MethodElement getter,
+ MethodElement setter, Node index, Node rhs, T arg) {
+ handleSuper(node); // t1 = super[index]
+ handleSuper(node); // super[index] = t2
+ }
+
+ @override
+ visitUnresolvedSuperGetterIndexSetIfNull(Send node, Element element,
+ MethodElement setter, Node index, Node rhs, T arg) {
+ handleNSMSuper(node, element.enclosingClass);
+ handleNSMSuper(node, element.enclosingClass);
+ }
+
+ @override
+ visitUnresolvedSuperIndexSetIfNull(Send node, Element element, Node index,
+ Node rhs, T arg) {
+ handleNSMSuper(node, element.enclosingClass);
+ handleNSMSuper(node, element.enclosingClass);
+ }
+
+ @override
+ visitUnresolvedSuperSetterIndexSetIfNull(Send node, MethodElement getter,
+ Element element, Node index, Node rhs, T arg) {
+ handleSuper(node); // t1 = super[index]
+ handleNSMSuper(node, element.enclosingClass);
+ }
+
void visitIfNull(Send node, Node left, Node right, T arg) {
handleNoSend(node);
}
« no previous file with comments | « pkg/compiler/lib/src/inferrer/simple_types_inferrer.dart ('k') | pkg/compiler/lib/src/resolution/members.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698