Identifier setting via struct #59

This commit is contained in:
2026-06-04 18:20:54 +02:00
parent d4dc1571b2
commit 6cacfd7135
4 changed files with 7 additions and 5 deletions
+2
View File
@@ -200,8 +200,10 @@ impl GenRust for Postfix {
for (name, expr) in fields { for (name, expr) in fields {
cg.add(&name.get_rust()); cg.add(&name.get_rust());
if let Some(expr) = expr {
cg.add(": "); cg.add(": ");
expr.gen_rust(ctx, cg); expr.gen_rust(ctx, cg);
}
cg.add(","); cg.add(",");
} }
+1 -1
View File
@@ -56,7 +56,7 @@ pub enum Postfix {
inner: String, inner: String,
delimiter: MacroDelimiter, delimiter: MacroDelimiter,
}, },
StructCall(Vec<(Identifier, Expression)>), StructCall(Vec<(Identifier, Option<Expression>)>),
Assign(String, Box<Expression>), Assign(String, Box<Expression>),
Index(Expression), Index(Expression),
As(TypeExpr), As(TypeExpr),
+1 -1
View File
@@ -523,7 +523,7 @@ macro_call_bracket = { "!" ~ "[" ~ macro_inner_v* ~ "]" }
macro_call_brace = { "!" ~ "{" ~ macro_inner_v* ~ "}" } macro_call_brace = { "!" ~ "{" ~ macro_inner_v* ~ "}" }
struct_field_decl = { struct_field_decl = {
identifier ~ ":" ~ expr identifier ~ (":" ~ expr)?
} }
struct_px = { struct_px = {
+1 -1
View File
@@ -155,7 +155,7 @@ impl<'a> TryFrom<pest::iterators::Pair<'a, Rule>> for Postfix {
let mut pi = p.into_inner(); let mut pi = p.into_inner();
Ok(( Ok((
Identifier::try_from(pi.next().unwrap())?, Identifier::try_from(pi.next().unwrap())?,
Expression::try_from(pi.next().unwrap()).get()?, pi.next().map(Expression::try_from).transpose().get()?,
)) ))
}))), }))),