Fix imports in MIR

This commit is contained in:
Sofia 2025-07-14 19:20:38 +03:00
parent 3d5ddc60dc
commit 464156b2dc
4 changed files with 5 additions and 7 deletions

View File

@ -20,9 +20,7 @@ impl ast::Module {
for stmt in &self.top_level_statements {
match stmt {
Import(import) => {
for name in &import.0 {
imports.push(mir::Import(name.clone(), import.1.into()));
}
imports.push(mir::Import(import.0.clone(), import.1.into()));
}
FunctionDefinition(ast::FunctionDefinition(signature, is_pub, block, range)) => {
let def = mir::FunctionDefinition {

View File

@ -32,7 +32,7 @@ impl Display for Module {
impl Display for Import {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "import {}", self.0)
write!(f, "import {}", self.0.join("::"))
}
}

View File

@ -209,7 +209,7 @@ pub enum ReturnKind {
pub struct NamedVariableRef(pub TypeKind, pub String, pub Metadata);
#[derive(Debug)]
pub struct Import(pub String, pub Metadata);
pub struct Import(pub Vec<String>, pub Metadata);
#[derive(Debug)]
pub enum ExprKind {

View File

@ -1,10 +1,10 @@
extern fn puts(message: string) -> i32;
import std::print;
fn main() -> u16 {
let hello = "hello world";
puts(hello);
print(hello);
return 0;
}