AST struct call

This commit is contained in:
2026-04-23 19:10:52 +02:00
parent 488b985992
commit 5855a6cb5b
3 changed files with 10 additions and 1 deletions
+1
View File
@@ -50,6 +50,7 @@ pub enum TopLevel {
pub enum Postfix {
FieldAccess(String),
Call(Vec<Expression>),
StructCall(HashMap<String, Expression>),
Index(Expression),
Binary(BinaryOp, Expression),
}
+8
View File
@@ -271,6 +271,14 @@ impl GoCodegen {
.join(", ");
format!("{}({})", result, args_str)
}
Postfix::StructCall(fields) => {
let args_str = fields
.iter()
.map(|(a, b)| format!("{a}: {}", self.generate_expression(b)))
.collect::<Vec<_>>()
.join(", ");
format!("{}{{{}}}", result, args_str)
}
Postfix::Index(idx) => format!("{}[{}]", result, self.generate_expression(idx)),
Postfix::Binary(op, rhs) => {
let op_str = match op {
+1 -1
View File
@@ -6,6 +6,6 @@ public struct Idk {
}
int test(int a, int b) {
Idk bro = 10;
Idk bro = Idk { a: 10, b: 10 };
return a + b + bro.a;
}