mago_syntax/parser/internal/
alloc.rs1use mago_allocator::prelude::*;
2
3use crate::parser::Parser;
4
5impl<'arena, A> Parser<'_, 'arena, A>
6where
7 A: Arena,
8{
9 #[inline]
11 #[must_use]
12 pub fn new_vec<T>(&self) -> Vec<'arena, T, A> {
13 Vec::new_in(self.arena)
14 }
15
16 #[inline]
18 #[must_use]
19 pub fn new_vec_of<T>(&self, value: T) -> Vec<'arena, T, A> {
20 let mut vector = Vec::new_in(self.arena);
21 vector.push(value);
22 vector
23 }
24
25 #[inline]
27 #[must_use]
28 pub fn bytes(&self, bytes: &[u8]) -> &'arena [u8] {
29 self.arena.alloc_slice_copy(bytes)
30 }
31}