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

Unified Diff: pkg/compiler/lib/src/resolution/semantic_visitor.dart

Issue 1108783003: Refactor SsaBuilder.visitSuperSend. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Updated cf. comments. Created 5 years, 8 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/resolution/semantic_visitor.dart
diff --git a/pkg/compiler/lib/src/resolution/semantic_visitor.dart b/pkg/compiler/lib/src/resolution/semantic_visitor.dart
index 0a4056c26c009683e87c748aa7b33c1e1d051385..cc4b345903474a568a084f6eaa7f703fecb0f4b8 100644
--- a/pkg/compiler/lib/src/resolution/semantic_visitor.dart
+++ b/pkg/compiler/lib/src/resolution/semantic_visitor.dart
@@ -512,6 +512,23 @@ abstract class SemanticSendVisitor<R, A> {
CallStructure callStructure,
A arg);
+ /// Invocation of the super [method] with incompatible [arguments].
+ ///
+ /// For instance
+ /// class B {
+ /// foo(a, b) {}
+ /// }
+ /// class C extends B {
+ /// m() { super.foo(null); } // One argument missing.
+ /// }
+ ///
+ R visitSuperMethodIncompatibleInvoke(
+ Send node,
+ MethodElement method,
+ NodeList arguments,
+ CallStructure callStructure,
+ A arg);
+
/// Assignment of [rhs] to the super [method].
///
/// For instance
@@ -1282,7 +1299,7 @@ abstract class SemanticSendVisitor<R, A> {
/// m(a) => super[a];
/// }
///
- R errorUnresolvedSuperIndex(
+ R visitUnresolvedSuperIndex(
Send node,
Element element,
Node index,
@@ -2670,6 +2687,19 @@ abstract class SemanticSendVisitor<R, A> {
Element element,
A arg);
+ /// Read of the unresolved super [element].
+ ///
+ /// For instance
+ /// class B {}
+ /// class C {
+ /// m() => super.foo;
+ /// }
+ ///
+ R visitUnresolvedSuperGet(
+ Send node,
+ Element element,
+ A arg);
+
/// Assignment of [rhs] to the unresolved [element].
///
/// For instance
@@ -2709,6 +2739,21 @@ abstract class SemanticSendVisitor<R, A> {
Selector selector,
A arg);
+ /// Invocation of the unresolved super [element] with [arguments].
+ ///
+ /// For instance
+ /// class B {}
+ /// class C extends B {
+ /// m() => super.foo();
+ /// }
+ ///
+ R visitUnresolvedSuperInvoke(
+ Send node,
+ Element element,
+ NodeList arguments,
+ Selector selector,
+ A arg);
+
/// Compound assignment of [rhs] on the unresolved [element].
///
/// For instance
@@ -2810,7 +2855,7 @@ abstract class SemanticSendVisitor<R, A> {
/// m() => -super;
/// }
///
- R errorUnresolvedSuperUnary(
+ R visitUnresolvedSuperUnary(
Send node,
UnaryOperator operator,
Element element,
@@ -2825,7 +2870,7 @@ abstract class SemanticSendVisitor<R, A> {
/// m() => super + 42;
/// }
///
- R errorUnresolvedSuperBinary(
+ R visitUnresolvedSuperBinary(
Send node,
Element element,
BinaryOperator operator,
« no previous file with comments | « pkg/compiler/lib/src/resolution/access_semantics.dart ('k') | pkg/compiler/lib/src/resolution/semantic_visitor_mixins.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698