Skip to main content

luaur_analysis/records/
path_builder.rs

1//! @interface-stub
2use crate::records::path::Path;
3use crate::type_aliases::component::Component;
4use crate::type_aliases::type_pack_id::TypePackId;
5
6#[derive(Debug, Clone)]
7pub struct PathBuilder {
8    pub(crate) components: alloc::vec::Vec<Component>,
9}
10
11impl PathBuilder {
12    pub fn new() -> Self {
13        Self {
14            components: alloc::vec::Vec::new(),
15        }
16    }
17}
18
19impl Default for PathBuilder {
20    fn default() -> Self {
21        Self::new()
22    }
23}
24
25// All builder methods are implemented faithfully in `methods/path_builder_*.rs`
26// (single-word ops via `PathBuilder*` traits; `prop`/`read_prop`/`write_prop`
27// as inherent impls), mirroring `TypePath.cpp:174-272`.