mago_syntax/parser/internal/
alloc.rs1use bumpalo::collections::Vec;
2use bumpalo::vec;
3
4use crate::parser::Parser;
5
6impl<'arena> Parser<'_, 'arena> {
7 #[inline]
9 #[must_use]
10 pub fn new_vec<T>(&self) -> Vec<'arena, T> {
11 Vec::new_in(self.arena)
12 }
13
14 #[inline]
16 #[must_use]
17 pub fn new_vec_of<T>(&self, value: T) -> Vec<'arena, T> {
18 vec![in self.arena; value]
19 }
20
21 #[inline]
23 #[must_use]
24 pub fn bytes(&self, bytes: &[u8]) -> &'arena [u8] {
25 self.arena.alloc_slice_copy(bytes)
26 }
27}