| Index: pkg/compiler/lib/src/common/tasks.dart
|
| diff --git a/pkg/compiler/lib/src/common/tasks.dart b/pkg/compiler/lib/src/common/tasks.dart
|
| index c9ecaca6e6eaaa0b40403ac14352da3149d250a8..79fc988088906446b2624a6fbd8a535d06509039 100644
|
| --- a/pkg/compiler/lib/src/common/tasks.dart
|
| +++ b/pkg/compiler/lib/src/common/tasks.dart
|
| @@ -115,7 +115,7 @@ abstract class CompilerTask {
|
| /// of other measuring zones, but we still need to call through the parent
|
| /// chain. Consequently, we use a zone value keyed by [measurer] to see if
|
| /// we should measure or not when delegating.
|
| - _run(Zone self, ZoneDelegate parent, Zone zone, f()) {
|
| + R _run<R>(Zone self, ZoneDelegate parent, Zone zone, R f()) {
|
| if (zone[measurer] != this) return parent.run(zone, f);
|
| CompilerTask previous = _start();
|
| try {
|
| @@ -126,7 +126,8 @@ abstract class CompilerTask {
|
| }
|
|
|
| /// Same as [run] except that [f] takes one argument, [arg].
|
| - _runUnary(Zone self, ZoneDelegate parent, Zone zone, f(arg), arg) {
|
| + R _runUnary<R, T>(
|
| + Zone self, ZoneDelegate parent, Zone zone, R f(T arg), T arg) {
|
| if (zone[measurer] != this) return parent.runUnary(zone, f, arg);
|
| CompilerTask previous = _start();
|
| try {
|
| @@ -137,7 +138,8 @@ abstract class CompilerTask {
|
| }
|
|
|
| /// Same as [run] except that [f] takes two arguments ([a1] and [a2]).
|
| - _runBinary(Zone self, ZoneDelegate parent, Zone zone, f(a1, a2), a1, a2) {
|
| + R _runBinary<R, T1, T2>(Zone self, ZoneDelegate parent, Zone zone,
|
| + R f(T1 a1, T2 a2), T1 a1, T2 a2) {
|
| if (zone[measurer] != this) return parent.runBinary(zone, f, a1, a2);
|
| CompilerTask previous = _start();
|
| try {
|
|
|