| Index: frog/leg/ssa/builder.dart
|
| diff --git a/frog/leg/ssa/builder.dart b/frog/leg/ssa/builder.dart
|
| index b6c7bfb67aad7e493f46f0788857bd08fa21130c..e84c63f022368ef1962abd77b8d963206cf1ac3a 100644
|
| --- a/frog/leg/ssa/builder.dart
|
| +++ b/frog/leg/ssa/builder.dart
|
| @@ -547,19 +547,17 @@ class SsaBuilder implements Visitor {
|
| if (link.head is !SendSet) {
|
| // A super initializer or constructor redirection.
|
| Send call = link.head;
|
| - if (Initializers.isSuperConstructorCall(call)) {
|
| - assert(nextConstructor === null);
|
| - nextConstructor = elements[call];
|
| - // Visit arguments and map the corresponding parameter value to
|
| - // the resulting HInstruction value.
|
| - forEachArgument(call, nextConstructor, (parameter, node) {
|
| - visit(node);
|
| - HInstruction value = pop();
|
| - localsHandler.updateLocal(parameter, value);
|
| - });
|
| - } else {
|
| - compiler.unimplemented('SsaBuilder.buildFactory redirect');
|
| - }
|
| + assert(Initializers.isSuperConstructorCall(call) ||
|
| + Initializers.isConstructorRedirect(call));
|
| + assert(nextConstructor === null);
|
| + nextConstructor = elements[call];
|
| + // Visit arguments and map the corresponding parameter value to
|
| + // the resulting HInstruction value.
|
| + forEachArgument(call, nextConstructor, (parameter, node) {
|
| + visit(node);
|
| + HInstruction value = pop();
|
| + localsHandler.updateLocal(parameter, value);
|
| + });
|
| } else {
|
| // A field initializer.
|
| SendSet init = link.head;
|
|
|