params fix
This commit is contained in:
+36
-21
@@ -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();
|
||||||
for (name, var) in vars {
|
let vvars = variables.clone();
|
||||||
if let Some(v) = variables.get_mut(&ast.tokens[0].value) {
|
if let Some(v) = variables.get_mut(&ast.tokens[1].value) {
|
||||||
v.params.insert(
|
for (name, var) in vars {
|
||||||
name,
|
if !(vvars.contains_key(&name)) {
|
||||||
Variable::new_var(LexerState { line: 0, column: 0 }, var.desc),
|
v.params.insert(
|
||||||
);
|
name,
|
||||||
println!("{:?}", v);
|
Variable::new_var(
|
||||||
|
LexerState { line: 0, column: 0 },
|
||||||
|
var.desc,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} 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();
|
||||||
for (name, var) in vars {
|
let vvars = variables.clone();
|
||||||
if let Some(v) = variables.get_mut(&ast.tokens[0].value) {
|
if let Some(v) = variables.get_mut(&ast.tokens[1].value) {
|
||||||
v.params.insert(
|
for (name, var) in vars {
|
||||||
name,
|
if !(vvars.contains_key(&name)) {
|
||||||
Variable::new_var(LexerState { line: 0, column: 0 }, var.desc),
|
v.params.insert(
|
||||||
);
|
name,
|
||||||
println!("{:?}", v);
|
Variable::new_var(
|
||||||
|
LexerState { line: 0, column: 0 },
|
||||||
|
var.desc,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} 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";
|
||||||
for (name, var) in vars {
|
let vvars = variables.clone();
|
||||||
if let Some(v) = variables.get_mut(&ast.tokens[0].value) {
|
if let Some(v) = variables.get_mut(&ast.tokens[1].value) {
|
||||||
v.params.insert(
|
for (name, var) in vars {
|
||||||
name,
|
if !(vvars.contains_key(&name)) {
|
||||||
Variable::new_var(LexerState { line: 0, column: 0 }, var.desc),
|
v.params.insert(
|
||||||
);
|
name,
|
||||||
println!("{:?}", v);
|
Variable::new_var(
|
||||||
|
LexerState { line: 0, column: 0 },
|
||||||
|
var.desc,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if ast.ast_type == AstType::VariableDeceleration {
|
} else if ast.ast_type == AstType::VariableDeceleration {
|
||||||
|
|||||||
Reference in New Issue
Block a user