mirror of
https://github.com/Noratrieb/dilaria.git
synced 2026-01-15 09:55:03 +01:00
fixed more leaks
This commit is contained in:
parent
1ad5ea7477
commit
e58e6e3dc4
6 changed files with 31 additions and 38 deletions
27
src/parse.rs
27
src/parse.rs
|
|
@ -527,7 +527,10 @@ where
|
|||
|
||||
let next = self.next().ok_or_else(|| CompilerError::eof("primary"))?;
|
||||
let return_expr = match next.kind {
|
||||
TokenKind::String(literal) => Ok(Expr::Literal(Literal::String(literal, next.span))),
|
||||
TokenKind::String(literal) => Ok(Expr::Literal(Literal::String(
|
||||
self.bump.alloc_str(&literal),
|
||||
next.span,
|
||||
))),
|
||||
TokenKind::Number(literal) => Ok(Expr::Literal(Literal::Number(literal, next.span))),
|
||||
TokenKind::False => Ok(Expr::Literal(Literal::Boolean(false, next.span))),
|
||||
TokenKind::True => Ok(Expr::Literal(Literal::Boolean(true, next.span))),
|
||||
|
|
@ -539,13 +542,10 @@ where
|
|||
let _ = self.expect(TokenKind::ParenC)?;
|
||||
Ok(expr)
|
||||
}
|
||||
TokenKind::Ident(name) => {
|
||||
let name_owned = bumpalo::collections::String::from_str_in(name, self.bump);
|
||||
Ok(Expr::Ident(Ident {
|
||||
sym: name_owned,
|
||||
span: next.span,
|
||||
}))
|
||||
}
|
||||
TokenKind::Ident(name) => Ok(Expr::Ident(Ident {
|
||||
sym: self.bump.alloc_str(name),
|
||||
span: next.span,
|
||||
})),
|
||||
TokenKind::Error(error) => Err(*error),
|
||||
_ => Err(CompilerError::new(
|
||||
next.span,
|
||||
|
|
@ -563,13 +563,10 @@ where
|
|||
.next()
|
||||
.ok_or_else(|| CompilerError::eof("identifier"))?;
|
||||
let return_expr = match kind {
|
||||
TokenKind::Ident(name) => {
|
||||
let name_owned = bumpalo::collections::String::from_str_in(name, self.bump);
|
||||
Ok(Ident {
|
||||
sym: name_owned,
|
||||
span,
|
||||
})
|
||||
}
|
||||
TokenKind::Ident(name) => Ok(Ident {
|
||||
sym: self.bump.alloc_str(name),
|
||||
span,
|
||||
}),
|
||||
TokenKind::Error(error) => Err(*error),
|
||||
_ => {
|
||||
return Err(CompilerError::new(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue