anchor.diff:          int offset = readOffset();
           var variable = readVariableDeclaration();
           variableStack.add(variable); // Will be popped by the enclosing scope.
  -        var function = readFunctionNode(false);
  +        var function = readFunctionNode(false, -1);
           return new FunctionDeclaration(variable, function)..fileOffset = offset;
         default:
           throw fail('Invalid statement tag: $tag');
  
positive.code:     }
    }
  
    FunctionNode readFunctionNodeOption(bool lazyLoadBody) {
      return readAndCheckOptionTag() ? readFunctionNode(lazyLoadBody) : null;
    }
  
    FunctionNode readFunctionNode(bool lazyLoadBody) {
      int tag = readByte();
      assert(tag == Tag.FunctionNode);
      int offset = readOffset();
  
negative.code:     var name = readName();
      var annotations = readAnnotationList(node);
      debugPath.add(node.name?.name ?? 'constructor');
      var function = readFunctionNode(false, -1);
      pushVariableDeclarations(function.positionalParameters);
      pushVariableDeclarations(function.namedParameters);
      if (shouldWriteData) {
  