findTypes static method

List<MappedDeclaration> findTypes(
  1. CompilationUnit unit,
  2. LineInfo lineInfo,
  3. List<LineRange> ranges
)

Filters mapped declarations to top-level types (ClassDeclaration, EnumDeclaration, MixinDeclaration, ExtensionDeclaration, ExtensionTypeDeclaration, TypeAlias).

Implementation

static List<MappedDeclaration> findTypes(
  CompilationUnit unit,
  LineInfo lineInfo,
  List<LineRange> ranges,
) {
  final all = mapDeclarations(unit, lineInfo, ranges, includeMembers: false);
  return all
      .where(
        (m) =>
            m.node is ClassDeclaration ||
            m.node is EnumDeclaration ||
            m.node is MixinDeclaration ||
            m.node is ExtensionDeclaration ||
            m.node is ExtensionTypeDeclaration ||
            m.node is TypeAlias,
      )
      .toList();
}