usecrate::{language::DepName, transform};usesuper::ParseTree;usesway_types::{Ident, Span};/// A module and its submodules in the form of a tree.
#[derive(Debug, Clone)]pubstructParseModule{/// The content of this module in the form of a `ParseTree`.
pubtree: ParseTree,
/// Submodules introduced within this module using the `dep` syntax in order of declaration.
pubsubmodules:Vec<(DepName, ParseSubmodule)>,
pubattributes:transform::AttributesMap,
}/// A library module that was declared as a `dep` of another module.
////// Only submodules are guaranteed to be a `library` and have a `library_name`.
#[derive(Debug, Clone)]pubstructParseSubmodule{/// The name of a submodule, parsed from the `library` declaration within the module itself.
publibrary_name: Ident,
pubmodule: ParseModule,
pubdependency_path_span: Span,
}