pub enum CompilationUnitDeclaration<'a> {
Ordinary {
package: Option<PackageDeclaration<'a>>,
imports: Vec<ImportDeclaration<'a>>,
top_level_class_or_interfaces: Vec<TopLevelClassOrInterfaceDeclaration<'a>>,
},
Modular {
imports: Vec<ImportDeclaration<'a>>,
module: ModuleDeclaration<'a>,
},
}
Expand description
CompilationUnitDeclaration表示一个编译单元,它是Java程序语法语法的终极符号。 它可以是普通编译单元或模块编译单元。
Variants§
Ordinary
表示一个普通编译单元。 它由可选的包声明、import声明和顶层类或接口声明组成。
Fields
§
package: Option<PackageDeclaration<'a>>
可选的包声明,指定编译单元所属的包的完全限定名。
§
imports: Vec<ImportDeclaration<'a>>
Import声明,允许使用简单名称引用其他包中的类和接口。
§
top_level_class_or_interfaces: Vec<TopLevelClassOrInterfaceDeclaration<'a>>
类和接口的顶层声明。
Modular
表示一个模块编译单元。 它由import声明和模块声明组成。
Fields
§
imports: Vec<ImportDeclaration<'a>>
Import声明,允许在模块声明中引用此模块和其它模块中的包中的类和接口。
§
module: ModuleDeclaration<'a>
模块声明,指定编译单元所属的模块。
Implementations§
Source§impl<'a> CompilationUnitDeclaration<'a>
impl<'a> CompilationUnitDeclaration<'a>
Sourcepub fn package(&self) -> Option<&PackageDeclaration<'_>>
pub fn package(&self) -> Option<&PackageDeclaration<'_>>
获取包声明
Sourcepub fn imports(&self) -> &[ImportDeclaration<'_>]
pub fn imports(&self) -> &[ImportDeclaration<'_>]
获取导入声明
Trait Implementations§
Source§impl<'a> Debug for CompilationUnitDeclaration<'a>
impl<'a> Debug for CompilationUnitDeclaration<'a>
Auto Trait Implementations§
impl<'a> Freeze for CompilationUnitDeclaration<'a>
impl<'a> RefUnwindSafe for CompilationUnitDeclaration<'a>
impl<'a> Send for CompilationUnitDeclaration<'a>
impl<'a> Sync for CompilationUnitDeclaration<'a>
impl<'a> Unpin for CompilationUnitDeclaration<'a>
impl<'a> UnwindSafe for CompilationUnitDeclaration<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more