java_lang/tree/node/
top_level.rs

1use super::{ClassDeclaration, InterfaceDeclaration};
2use std::fmt::{Display, Formatter, Result as FmtResult};
3
4/// TopLevelClassOrInterfaceDeclaration表示Java程序中的顶层类或接口声明。
5/// 它可以是类声明或接口声明。
6#[derive(Debug)]
7pub enum TopLevelClassOrInterfaceDeclaration<'a> {
8    /// 表示类声明。
9    Class(ClassDeclaration<'a>),
10    /// 表示接口声明。
11    Interface(InterfaceDeclaration<'a>),
12}
13
14impl<'a> Display for TopLevelClassOrInterfaceDeclaration<'a> {
15    fn fmt(&self, f: &mut Formatter<'_>) -> FmtResult {
16        match self {
17            Self::Class(r) => Display::fmt(r, f),
18            Self::Interface(r) => Display::fmt(r, f),
19        }
20    }
21}