diff --git a/mist-test/src/core/app.mist b/mist-test/src/core/app.mist index f2192db..f19c4f4 100644 --- a/mist-test/src/core/app.mist +++ b/mist-test/src/core/app.mist @@ -1,13 +1,12 @@ -use ; -use ; -use ; -use ; +use ; +use ; +use ; public class Application { String name; - list::List tasks; - list::List plugins; + Vec tasks; + Vec plugins; logger::Logger logger; @@ -17,8 +16,8 @@ public class Application { public constructor(String name) { self.name = name; - self.tasks = new list::List(); - self.plugins = new list::List(); + self.tasks = new Vec(); + self.plugins = new Vec(); self.logger = new logger::Logger("app"); @@ -65,7 +64,7 @@ public class Application { } public void register_plugin(self mut*, String name) { - self.plugins.push(name); + self.plugins.push(name.clone()); self.emit(event::Event::PluginLoaded(name)); } @@ -89,7 +88,7 @@ public class Application { } event::Event::Error(message) => { - self.logger.error(message); + self.logger.error(&message); } } } diff --git a/mist-test/src/core/logger.mist b/mist-test/src/core/logger.mist index 340923e..94c4b4a 100644 --- a/mist-test/src/core/logger.mist +++ b/mist-test/src/core/logger.mist @@ -7,23 +7,23 @@ public enum LogLevel { public class Logger { String prefix; - public constructor(String prefix) { - self.prefix = prefix; + public constructor(str* prefix) { + self.prefix = prefix.to_string(); } - public void info(self*, String message) { + public void info(self*, str* message) { self.log(LogLevel::Info, message); } - public void warning(self*, String message) { + public void warning(self*, str* message) { self.log(LogLevel::Warning, message); } - public void error(self*, String message) { + public void error(self*, str* message) { self.log(LogLevel::Error, message); } - void log(self*, LogLevel level, String message) { + void log(self*, LogLevel level, str* message) { match(level) { LogLevel::Info => { println!("[INFO] {} {}", self.prefix, message); diff --git a/mist-test/src/core/task.mist b/mist-test/src/core/task.mist index d507015..e3befaa 100644 --- a/mist-test/src/core/task.mist +++ b/mist-test/src/core/task.mist @@ -11,9 +11,9 @@ public struct Task { public i32 executions, } -public Task create_task(String name) { +public Task create_task(str* name) { return Task { - name: name, + name: name.to_string(), state: TaskState::Pending, executions: 0, }; diff --git a/mist-test/src/main.mist b/mist-test/src/main.mist index a9a8190..36a5934 100644 --- a/mist-test/src/main.mist +++ b/mist-test/src/main.mist @@ -1,17 +1,15 @@ mod core; use ; -use ; -use ; +// use ; +// use ; -i32 main() { +void main() { var app = new app::Application("mist-app"); - greeting::register(&mut app); - statistics::register(&mut app); + // greeting::register(&mut app); + // statistics::register(&mut app); app.boot(); app.run(); - - return 0; } \ No newline at end of file diff --git a/mist-test/src/my_class.mist b/mist-test/src/my_class.mist deleted file mode 100644 index 7cc321d..0000000 --- a/mist-test/src/my_class.mist +++ /dev/null @@ -1,17 +0,0 @@ -public class MyClass { - String message; - - public constructor(str* name) { - self.message = format!("Hello {}!", name); - } - - public void greet(self*) { - println!("{}", self.message); - } -} - -public enum MyEnum { - Named, - Tuple(i32, String), - Struct { i32 x } -} diff --git a/parser/src/grammar.pest b/parser/src/grammar.pest index 0800ebf..5c6e8f7 100644 --- a/parser/src/grammar.pest +++ b/parser/src/grammar.pest @@ -272,7 +272,6 @@ statement_list = { statement = _{ expr_stmt | match_stmt - | var_decl_statement | assign_statement | if_stmt | while_stmt @@ -282,6 +281,7 @@ statement = _{ | break_stmt | continue_stmt | block + | var_decl_statement } // ------------------------------------------------------