anchor.diff:          param.type.getDisplayString(withNullability: false),
           defaultValue: param.defaultValueCode);
     }
  +
  +  ArgumentList? _findArgumentList() {
  +    var node = _node;
  +    while (node != null && node is! ArgumentList) {
  +      // Certain nodes don't make sense to search above for an argument list
  +      // (for example when inside a function expression).
  +      if (node is FunctionExpression) {
  +        return null;
  +      }
  +      node = node.parent;
  +    }
  +    return node as ArgumentList?;
  +  }
   }
  
positive.code: // Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
  // for details. All rights reserved. Use of this source code is governed by a
  // BSD-style license that can be found in the LICENSE file.
  
  // @dart = 2.9
  
  import 'package:analysis_server/src/computer/computer_hover.dart';
  import 'package:analysis_server/src/protocol_server.dart';
  
negative.code: /// [CompilationUnit].
  class DartUnitSignatureComputer {
    final DartdocDirectiveInfo _dartdocInfo;
    final AstNode? _node;
    late ArgumentList _argumentList;
    DartUnitSignatureComputer(
        this._dartdocInfo, CompilationUnit _unit, int _offset)
        : _node = NodeLocator(_offset).searchWithin(_unit);
  