anchor.diff:    }
   
     @override
  -  FunctionNode readFunctionNode(bool lazyLoadBody) {
  +  FunctionNode readFunctionNode(bool lazyLoadBody, int outerEndOffset) {
       final nodeOffset = _byteOffset;
  -    final result = super.readFunctionNode(lazyLoadBody);
  +    final result = super.readFunctionNode(lazyLoadBody, outerEndOffset);
       return _associateMetadata(result, nodeOffset);
     }
   
  
positive.code:     typeParameterStack.length = typeParameterStackHeight;
  
      return result;
    }
  
    void pushVariableDeclaration(VariableDeclaration variable) {
  
negative.code:     bool readFunctionNodeNow =
          (kind == ProcedureKind.Factory && functionNodeSize <= 50) ||
              _disableLazyReading;
      var function = readFunctionNodeOption(!readFunctionNodeNow, endOffset);
      var transformerFlags = getAndResetTransformerFlags();
      debugPath.removeLast();
      if (shouldWriteData) {
  