diff --git a/crates/codegen/src/class_decl.rs b/crates/codegen/src/class_decl.rs index b53e7e9..0c205ce 100644 --- a/crates/codegen/src/class_decl.rs +++ b/crates/codegen/src/class_decl.rs @@ -352,8 +352,9 @@ impl ClassProcessedData { for field in &self.fields { if let Some(init) = &field.item.init { field.gen_span(cg); - cg.add_indentedln(&format!("this.{} = ", field.item.decl.name.get_rust())); + cg.add_indented(&format!("this.{} = ", field.item.decl.name.get_rust())); init.gen_rust(ctx, cg); + cg.addln(";"); } } diff --git a/crates/parser/src/semantics.rs b/crates/parser/src/semantics.rs index a7d557d..5a21f9b 100644 --- a/crates/parser/src/semantics.rs +++ b/crates/parser/src/semantics.rs @@ -46,10 +46,13 @@ pub fn check_class_semantics<'a>(top_level: &TopLevel) -> Result<(), Vec None, + None => Some(Spanned { + item: field.item.decl.name.clone(), + line: field.line, + column: field.column, + }), }) .collect::>();