teo_parser/ast/
use_middlewares.rs1
2use crate::ast::literals::ArrayLiteral;
3use crate::{declare_container_node, impl_container_node_defaults, node_child_fn};
4use crate::ast::middleware::MiddlewareType;
5use crate::format::Writer;
6use crate::traits::info_provider::InfoProvider;
7use crate::traits::write::Write;
8
9declare_container_node!(UseMiddlewaresBlock, named, availability,
10 pub(crate) array_literal: usize,
11 pub(crate) middleware_type: MiddlewareType,
12);
13
14impl_container_node_defaults!(UseMiddlewaresBlock, named, availability);
15
16impl UseMiddlewaresBlock {
17 node_child_fn!(array_literal, ArrayLiteral);
18
19 pub fn middleware_type(&self) -> MiddlewareType {
20 self.middleware_type
21 }
22}
23
24impl InfoProvider for UseMiddlewaresBlock {
25 fn namespace_skip(&self) -> usize {
26 1
27 }
28}
29
30impl Write for UseMiddlewaresBlock {
31 fn write<'a>(&'a self, writer: &mut Writer<'a>) {
32 writer.write_children(self, self.children.values())
33 }
34}