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`.