| // Copyright (c) 2019, 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. |
| |
| enum DeclarationKind { |
| /// A top level declaration. |
| TopLevel, |
| |
| /// A class declaration. Not including a named mixin declaration. |
| Class, |
| |
| /// A mixin declaration. Not including a named mixin declaration. |
| Mixin, |
| |
| /// An extension declaration. |
| Extension, |
| |
| /// An extension type declaration. |
| ExtensionType, |
| |
| /// An enum. |
| Enum, |
| } |
| |
| /// Enum to specify in which declaration a header occurs. |
| enum DeclarationHeaderKind { |
| /// Class declaration header, for instance `extends S with M implements I` in |
| /// |
| /// class C extends S with M implements I {} |
| /// |
| Class, |
| |
| /// Extension type declaration header, for instance `implements I` in |
| /// |
| /// extension type E(T t) implements I {} |
| /// |
| ExtensionType, |
| } |