| Index: frog/leg/ssa/builder.dart
|
| diff --git a/frog/leg/ssa/builder.dart b/frog/leg/ssa/builder.dart
|
| index bf5fba5dffe5fc2b3b21f9dd5848fe3ad4c57c94..58f9f121ef80778e56693de36e82b88680e214db 100644
|
| --- a/frog/leg/ssa/builder.dart
|
| +++ b/frog/leg/ssa/builder.dart
|
| @@ -627,19 +627,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;
|
|
|