diff --git a/lib/compiler/implementation/ssa/builder.dart b/lib/compiler/implementation/ssa/builder.dart index 6750f6de210..1b4f6a87550 100644 --- a/lib/compiler/implementation/ssa/builder.dart +++ b/lib/compiler/implementation/ssa/builder.dart @@ -1166,8 +1166,10 @@ class SsaBuilder extends ResolvedVisitor implements Visitor { FunctionElement target = elements[call]; Selector selector = elements.getSelector(call); Link arguments = call.arguments; + sourceElementStack.add(target); inlineSuperOrRedirect(target, selector, arguments, constructors, fieldValues); + sourceElementStack.removeLast(); foundSuperOrRedirect = true; } else { // A field initializer. @@ -1196,11 +1198,13 @@ class SsaBuilder extends ResolvedVisitor implements Visitor { if (target === null) { compiler.internalError("no default constructor available"); } + sourceElementStack.add(target.implementation); inlineSuperOrRedirect(target.implementation, selector, const EmptyLink(), constructors, fieldValues); + sourceElementStack.removeLast(); } } } @@ -2297,8 +2301,8 @@ class SsaBuilder extends ResolvedVisitor implements Visitor { typeInfo = pop(); } if (type.element.isTypeVariable()) { - // TODO(karlklose): We currently answer true to any is check - // involving a type variable -- both is T and is !T -- until + // TODO(karlklose): We currently answer true to any is check + // involving a type variable -- both is T and is !T -- until // we have a proper implementation of reified generics. stack.add(graph.addConstantBool(true, constantSystem)); } else {