getNodeIdentifier method

  1. @override
ASTNode? getNodeIdentifier(
  1. String name, {
  2. ASTNode? requester,
})
override

Implementation

@override
ASTNode? getNodeIdentifier(String name, {ASTNode? requester}) {
  var allChildren = descendantChildren;

  var limit = allChildren.length;

  if (requester != null) {
    var idx = allChildren.indexWhere((e) => identical(e, requester));

    if (idx >= 0) {
      limit = idx + 1;
    }
  }

  for (var i = limit - 1; i >= 0; --i) {
    var child = allChildren[i];

    if (child is ASTStatementVariableDeclaration && child.name == name) {
      return child;
    } else if (child is ASTFunctionDeclaration && child.name == name) {
      return child;
    }
  }

  var p = _parameters.getParameterByName(name);
  if (p != null) return p;

  return super.getNodeIdentifier(name, requester: requester);
}