params fix

This commit is contained in:
2024-06-09 15:23:17 +02:00
parent c9a135f6d7
commit a19a864965
+24 -9
View File
@@ -110,13 +110,18 @@ impl Transpiler {
self.transpile(ast.tokens[3].value.clone(), indent + 1, vars.clone()) self.transpile(ast.tokens[3].value.clone(), indent + 1, vars.clone())
) )
.as_str(); .as_str();
let vvars = variables.clone();
if let Some(v) = variables.get_mut(&ast.tokens[1].value) {
for (name, var) in vars { for (name, var) in vars {
if let Some(v) = variables.get_mut(&ast.tokens[0].value) { if !(vvars.contains_key(&name)) {
v.params.insert( v.params.insert(
name, name,
Variable::new_var(LexerState { line: 0, column: 0 }, var.desc), Variable::new_var(
LexerState { line: 0, column: 0 },
var.desc,
),
); );
println!("{:?}", v); }
} }
} }
} else if ast.ast_type == AstType::VoidFunctionDeceleration { } else if ast.ast_type == AstType::VoidFunctionDeceleration {
@@ -133,13 +138,18 @@ impl Transpiler {
self.transpile(ast.tokens[3].value.clone(), indent + 1, vars.clone()) self.transpile(ast.tokens[3].value.clone(), indent + 1, vars.clone())
) )
.as_str(); .as_str();
let vvars = variables.clone();
if let Some(v) = variables.get_mut(&ast.tokens[1].value) {
for (name, var) in vars { for (name, var) in vars {
if let Some(v) = variables.get_mut(&ast.tokens[0].value) { if !(vvars.contains_key(&name)) {
v.params.insert( v.params.insert(
name, name,
Variable::new_var(LexerState { line: 0, column: 0 }, var.desc), Variable::new_var(
LexerState { line: 0, column: 0 },
var.desc,
),
); );
println!("{:?}", v); }
} }
} }
} else if ast.ast_type == AstType::StructDeceleration { } else if ast.ast_type == AstType::StructDeceleration {
@@ -161,13 +171,18 @@ impl Transpiler {
) )
.as_str(); .as_str();
result += "\n}\n"; result += "\n}\n";
let vvars = variables.clone();
if let Some(v) = variables.get_mut(&ast.tokens[1].value) {
for (name, var) in vars { for (name, var) in vars {
if let Some(v) = variables.get_mut(&ast.tokens[0].value) { if !(vvars.contains_key(&name)) {
v.params.insert( v.params.insert(
name, name,
Variable::new_var(LexerState { line: 0, column: 0 }, var.desc), Variable::new_var(
LexerState { line: 0, column: 0 },
var.desc,
),
); );
println!("{:?}", v); }
} }
} }
} else if ast.ast_type == AstType::VariableDeceleration { } else if ast.ast_type == AstType::VariableDeceleration {