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 f71d6e61513d2cbaa4c02e0e0aad32836bdd939e..0f65b21cc3b630dab1c0b996436f75432a188628 100644 |
--- a/sdk/lib/_internal/compiler/implementation/compiler.dart |
+++ b/sdk/lib/_internal/compiler/implementation/compiler.dart |
@@ -130,6 +130,7 @@ abstract class Backend { |
} |
bool needsRti(ClassElement cls); |
karlklose
2013/06/19 14:37:05
Should we rename it to classNeedsRti?
Johnni Winther
2013/06/21 12:19:15
Done.
|
+ bool methodNeedsRti(Element cls); |
// The following methods are hooks for the backend to register its |
// helper methods. |
@@ -155,7 +156,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) {} |