Index: sdk/lib/_internal/compiler/implementation/compiler.dart |
diff --git a/sdk/lib/_internal/compiler/implementation/compiler.dart b/sdk/lib/_internal/compiler/implementation/compiler.dart |
index b51e9f5923e46a809e3716a7e9d61ed9dae3dcc0..807f8b5d41792faee9dbda76c8845810336bd874 100644 |
--- a/sdk/lib/_internal/compiler/implementation/compiler.dart |
+++ b/sdk/lib/_internal/compiler/implementation/compiler.dart |
@@ -127,6 +127,7 @@ abstract class Backend { |
} |
bool needsRti(ClassElement cls); |
+ bool methodNeedsRti(Element cls); |
// The following methods are hooks for the backend to register its |
// helper methods. |
@@ -152,7 +153,22 @@ abstract class Backend { |
void registerFallThroughError(TreeElements elements) {} |
void registerSuperNoSuchMethod(TreeElements elements) {} |
void registerConstantMap(TreeElements elements) {} |
- void registerRuntimeType(TreeElements elements) {} |
+ /** |
+ * Call this to register that an instantiated generic class has a call |
+ * method. |
+ */ |
+ void registerGenericCallMethod(Element callMethod, |
+ Enqueuer enqueuer, TreeElements elements) {} |
+ /** |
+ * Call this to register that a getter exists for a function on an |
+ * instantiated generic class. |
+ */ |
+ void registerGenericClosure(Element closure, |
+ Enqueuer enqueuer, TreeElements elements) {} |
+ /** |
+ * Call this to register that the [:runtimeType:] property has been accessed. |
+ */ |
+ void registerRuntimeType(Enqueuer enqueuer, TreeElements elements) {} |
void registerRequiredType(DartType type, Element enclosingElement) {} |
void registerClassUsingVariableExpression(ClassElement cls) {} |