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

Unified Diff: sdk/lib/_internal/compiler/implementation/compiler.dart

Issue 12334070: Support runtime check of function types. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Handle function types in checked mode. Created 7 years, 6 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: 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) {}

Powered by Google App Engine
This is Rietveld 408576698