blob: 39889eea19c4f6889fe6415504542bb8791b65c7 [file] [log] [blame]
// Copyright (c) 2017, 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.
import 'package:analyzer/dart/ast/ast.dart';
import 'package:analyzer/dart/ast/visitor.dart';
* Search the [unit] for declared [SimpleIdentifier]s with the given [name].
List<SimpleIdentifier> findDeclaredIdentifiersByName(
CompilationUnit unit, String name) {
var finder = new _DeclaredIdentifiersByNameFinder(name);
return finder.identifiers;
class _DeclaredIdentifiersByNameFinder extends RecursiveAstVisitor<Null> {
final String name;
final List<SimpleIdentifier> identifiers = [];
visitSimpleIdentifier(SimpleIdentifier node) {
if ( == name && node.inDeclarationContext()) {