blob: 6ff7bccb9400a06f0249154ac28889a62ac2a694 [file] [log] [blame]
// Copyright (c) 2016, Google Inc. 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/element/element.dart';
import 'package:analyzer/dart/element/visitor.dart';
import 'package:built_collection/built_collection.dart';
/// Tools for [LibraryElement]s.
class LibraryElements {
static BuiltList<ClassElement> getClassElements(
LibraryElement libraryElement) {
var result = _GetClassesVisitor();
libraryElement.visitChildren(result);
return BuiltList<ClassElement>(result.classElements);
}
}
/// Visitor that gets all [ClassElement]s.
class _GetClassesVisitor extends SimpleElementVisitor {
final List<ClassElement> classElements = List<ClassElement>();
@override
void visitClassElement(ClassElement element) {
classElements.add(element);
}
@override
void visitCompilationUnitElement(CompilationUnitElement element) {
element.visitChildren(this);
}
}