anchor.diff:    final ResolvedAst resolvedAst;
     final CodegenRegistry registry;
   
  +  /// Helper accessor for all kernel function-like targets (Procedure,
  +  /// FunctionExpression, FunctionDeclaration) of the inner FunctionNode itself.
  +  /// If the current target is not a function-like target, _targetFunction will
  +  /// be null.
  +  ir.FunctionNode _targetFunction;
  +
     /// A stack of [DartType]s that have been seen during inlining of factory
     /// constructors.  These types are preserved in [HInvokeStatic]s and
     /// [HCreate]s inside the inline code and registered during code generation
  
positive.code: 
    @override
    TreeElements get elements => resolvedAst.elements;
  
    SourceInformationBuilder sourceInformationBuilder;
    KernelAstAdapter astAdapter;
  
negative.code:     push(new HCreate(closureClassElement, capturedVariables, type));
  
      registry?.registerInstantiatedClosure(methodElement);
    }
  
    @override
    visitFunctionDeclaration(ir.FunctionDeclaration declaration) {
      assert(isReachable);
      declaration.function.accept(this);
      LocalFunctionElement localFunction = astAdapter.getElement(
          declaration.function);
      localsHandler.updateLocal(localFunction, pop());
    }
  
    @override
    void visitFunctionExpression(ir.FunctionExpression funcExpression) {
      funcExpression.function.accept(this);
    }
  
    // TODO(het): Decide when to inline
  