Chromium Code Reviews| Index: frog/leg/ssa/builder.dart |
| diff --git a/frog/leg/ssa/builder.dart b/frog/leg/ssa/builder.dart |
| index 590abed39daee5710d3e2395fd448632dc6a4560..9b980caf88f909a866cd04afb7def33b85004e9e 100644 |
| --- a/frog/leg/ssa/builder.dart |
| +++ b/frog/leg/ssa/builder.dart |
| @@ -197,6 +197,8 @@ class SsaBuilder implements Visitor { |
| FunctionExpression function = functionElement.parseNode(compiler, compiler); |
| NodeList initializers = function.initializers; |
| NodeList parameters = function.parameters; |
| + Send redirectConstructor; |
| + Send superConstructor; |
|
ngeoffray
2012/01/19 14:36:33
Why adding these?
karlklose
2012/01/19 16:06:26
Removed.
|
| // Run through the initializers. |
| if (initializers !== null) { |
| for (Link<Node> link = initializers.nodes; |
| @@ -205,13 +207,14 @@ class SsaBuilder implements Visitor { |
| assert(link.head is Send); |
| if (link.head is !SendSet) { |
| compiler.unimplemented('SsaBuilder.buildFactory super-init'); |
| + } else { |
| + SendSet init = link.head; |
| + Link<Node> arguments = init.arguments; |
| + assert(!arguments.isEmpty() && arguments.tail.isEmpty()); |
| + visit(arguments.head); |
| + HInstruction value = pop(); |
| + updateDefinition(init, value); |
| } |
| - SendSet init = link.head; |
| - Link<Node> arguments = init.arguments; |
| - assert(!arguments.isEmpty() && arguments.tail.isEmpty()); |
| - visit(arguments.head); |
| - HInstruction value = pop(); |
| - updateDefinition(init, value); |
| } |
| } |
| @@ -241,8 +244,7 @@ class SsaBuilder implements Visitor { |
| // We expect exactly one identifier. |
| assert(!identifierLink.isEmpty() && identifierLink.tail.isEmpty()); |
| if (identifierLink.head is !Identifier) { |
| - compiler.unimplemented( |
| - "SsaBuilder.buildFactory non-identifier"); |
| + compiler.unimplemented("SsaBuilder.buildFactory non-identifier"); |
| } |
| Identifier name = identifierLink.head; |
| Element parameterElement = elements[name]; |
| @@ -805,7 +807,7 @@ class SsaBuilder implements Visitor { |
| if (send.receiver == null) { |
| receiver = thisDefinition; |
| if (receiver === null) { |
| - compiler.unimplemented("Ssa.generateGetter.", node: send); |
| + compiler.unimplemented("SsaBuilder.generateGetter.", node: send); |
| } |
| } else { |
| visit(send.receiver); |