anchor.diff:  
     @override
     TreeElements get elements => resolvedAst.elements;
  +
   
     SourceInformationBuilder sourceInformationBuilder;
     KernelAstAdapter astAdapter;
  
positive.code:   }
  
    @override
    void visitFunctionExpression(ir.FunctionExpression funcExpression) {
      LocalFunctionElement methodElement = astAdapter.getElement(funcExpression);
      ClosureClassMap nestedClosureData = compiler.closureToClassMapper
          .getClosureToClassMapping(methodElement.resolvedAst);
      assert(nestedClosureData != null);
  
negative.code:     if (returnStatement.expression == null) {
        value = graph.addConstantNull(compiler);
      } else {
        assert(_targetFunction != null && _targetFunction is ir.FunctionNode);
        returnStatement.expression.accept(this);
        value = typeBuilder.potentiallyCheckOrTrustType(pop(),
            astAdapter.getFunctionReturnType(_targetFunction));
      }
      // TODO(het): Add source information
      // TODO(het): Set a return value instead of closing the function when we
  