| Index: dart/frog/leg/ssa/builder.dart
|
| diff --git a/dart/frog/leg/ssa/builder.dart b/dart/frog/leg/ssa/builder.dart
|
| index b337d71a63d47f300dd5a82b6ef7cf19f27b02ad..246bfb264dccb04e0922e2f1e6a82b64259646b7 100644
|
| --- a/dart/frog/leg/ssa/builder.dart
|
| +++ b/dart/frog/leg/ssa/builder.dart
|
| @@ -1781,6 +1781,11 @@ class SsaBuilder implements Visitor {
|
| visitSuperSend(Send node) {
|
| Selector selector = elements.getSelector(node);
|
| Element element = elements[node];
|
| + if (element.kind.category != ElementCategory.FUNCTION) {
|
| + // Example:
|
| + // co19/Language/10_Expressions/14_Method_Invocation/3_Super_Invocation_A03_t04
|
| + compiler.unimplemented('super-send to non-function', node: node);
|
| + }
|
| HStatic target = new HStatic(element);
|
| HInstruction context = localsHandler.readThis();
|
| add(target);
|
| @@ -2073,7 +2078,8 @@ class SsaBuilder implements Visitor {
|
| }
|
|
|
| visitStringInterpolation(StringInterpolation node) {
|
| - Operator op = new Operator.synthetic("+");
|
| + int offset = node.getBeginToken().charOffset;
|
| + Operator op = new Operator(new StringToken(PLUS_INFO, "+", offset));
|
| HInstruction target = new HStatic(interceptors.getOperatorInterceptor(op));
|
| add(target);
|
| visit(node.string);
|
|
|