Index: sdk/lib/_internal/compiler/implementation/compiler.dart |
=================================================================== |
--- sdk/lib/_internal/compiler/implementation/compiler.dart (revision 26191) |
+++ sdk/lib/_internal/compiler/implementation/compiler.dart (working copy) |
@@ -129,30 +129,69 @@ |
bool classNeedsRti(ClassElement cls); |
bool methodNeedsRti(FunctionElement function); |
- // The following methods are hooks for the backend to register its |
- // helper methods. |
+ /// Called during resolution to notify to the backend that a class is |
+ /// being instantiated. |
void registerInstantiatedClass(ClassElement cls, |
Enqueuer enqueuer, |
TreeElements elements) {} |
+ |
+ /// Called during resolution to notify to the backend that the |
+ /// program uses string interpolation. |
void registerStringInterpolation(TreeElements elements) {} |
+ |
+ /// Called during resolution to notify to the backend that the |
+ /// program has a catch statement. |
void registerCatchStatement(Enqueuer enqueuer, |
TreeElements elements) {} |
- void registerWrapException(TreeElements elements) {} |
+ |
+ /// Called during resolution to notify to the backend that the |
+ /// program explicitly throws an exception. |
void registerThrowExpression(TreeElements elements) {} |
+ |
+ /// Called during resolution to notify to the backend that the |
+ /// program has a global variable with a lazy initializer. |
void registerLazyField(TreeElements elements) {} |
+ |
+ /// Called during resolution to notify to the backend that the |
+ /// program uses a type variable as an expression. |
void registerTypeVariableExpression(TreeElements elements) {} |
+ |
+ /// Called during resolution to notify to the backend that the |
+ /// program uses a type literal. |
void registerTypeLiteral(Element element, TreeElements elements) {} |
+ |
+ /// Called during resolution to notify to the backend that the |
+ /// program has a catch statement with a stack trace. |
void registerStackTraceInCatch(TreeElements elements) {} |
+ |
+ /// Register an is check to the backend. |
void registerIsCheck(DartType type, |
Enqueuer enqueuer, |
TreeElements elements) {} |
+ |
+ /// Register an as check to the backend. |
void registerAsCheck(DartType type, TreeElements elements) {} |
+ |
+ /// Register that the application may throw a [NoSuchMethodError]. |
void registerThrowNoSuchMethod(TreeElements elements) {} |
+ |
+ /// Register that the application may throw a [RuntimeError]. |
void registerThrowRuntimeError(TreeElements elements) {} |
+ |
+ /// Register that the application may throw an |
+ /// [AbstractClassInstantiationError]. |
void registerAbstractClassInstantiation(TreeElements elements) {} |
+ |
+ /// Register that the application may throw a [FallThroughError]. |
void registerFallThroughError(TreeElements elements) {} |
+ |
+ /// Register that a super call will end up calling |
+ /// [: super.noSuchMethod :]. |
void registerSuperNoSuchMethod(TreeElements elements) {} |
+ |
+ /// Register that the application creates a constant map. |
void registerConstantMap(TreeElements elements) {} |
+ |
/** |
* Call this to register that an instantiated generic class has a call |
* method. |