From 14e88e2e4d5ff0df167ef4d5cbea0b6679afb601 Mon Sep 17 00:00:00 2001 From: Klesti Selimaj Date: Wed, 10 Jun 2026 05:44:58 +0200 Subject: [PATCH] Fixed API --- crates/analyzer/src/transpiler.rs | 6 ++++-- crates/mist-api/src/modules.mist | 4 ++-- crates/mist-api/src/transpiler.mist | 6 ++++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/crates/analyzer/src/transpiler.rs b/crates/analyzer/src/transpiler.rs index 66a316c..a0e90f3 100644 --- a/crates/analyzer/src/transpiler.rs +++ b/crates/analyzer/src/transpiler.rs @@ -133,7 +133,9 @@ pub fn transpile_file(path: &Path, output_path: &Path) -> Result<(), String> { }); // If parsing fails, return the error string back gracefully so the LSP can show it - let ast = parser_result.map_err(|e| format!("parse failed in {}:\n{}", path.display(), e))?; + let ast = parser_result + .map_err(|e| format!("parse failed in {}:\n{}", path.display(), e))? + .1; let mut gc = mist_codegen::RustCodegen::new(); let output = gc.generate(ast); @@ -147,7 +149,7 @@ pub fn transpile_file(path: &Path, output_path: &Path) -> Result<(), String> { pub fn transpile_text<'a>(source: &'a str) -> Result>> { let mut gc = mist_codegen::RustCodegen::new(); - Ok(gc.generate(mist_parser::parse(&source)?)) + Ok(gc.generate(mist_parser::parse(&source)?.1)) } fn should_skip(source: &Path, output: &Path) -> bool { diff --git a/crates/mist-api/src/modules.mist b/crates/mist-api/src/modules.mist index d79d3b6..2232dd3 100644 --- a/crates/mist-api/src/modules.mist +++ b/crates/mist-api/src/modules.mist @@ -7,7 +7,7 @@ use std::process; pub class Module { pub name String; pub path PathBuf; - pub children Vec; + pub children Vec>; pub constructor(mist_path PathBuf) { self.children = Vec::new(); @@ -74,7 +74,7 @@ pub class Module { } } -pub fn master_package(mist_path PathBuf) Module { +pub fn master_package(mist_path PathBuf) Box { let mut root_mod = Module::new(mist_path.clone()); let parent_dir = mist_path.parent() diff --git a/crates/mist-api/src/transpiler.mist b/crates/mist-api/src/transpiler.mist index 4291e89..21c92a4 100644 --- a/crates/mist-api/src/transpiler.mist +++ b/crates/mist-api/src/transpiler.mist @@ -88,7 +88,7 @@ fn transpile_file(path *PathBuf, output_file *PathBuf, mod_decl *str) { let mut gc = mist_codegen::RustCodegen::new(); - let output = gc.generate(match (mist_parser::parse(&source)) { + let [[vis, api], ast] = match (mist_parser::parse(&source)) { Ok[ast] => ast; Err[e] => { match (e) { @@ -118,7 +118,9 @@ fn transpile_file(path *PathBuf, output_file *PathBuf, mod_decl *str) { } } } - }); + }; + + let output = gc.generate(ast); let res = fs::write(&output_file, format!("{mod_decl}{output}"));