Merge pull request #107 from mist-go/fix-class-initializers

Fix default initializers in classes
This commit is contained in:
2026-07-04 09:05:27 +02:00
committed by GitHub
2 changed files with 9 additions and 5 deletions
+2 -1
View File
@@ -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(";");
}
}
+4 -1
View File
@@ -46,10 +46,13 @@ pub fn check_class_semantics<'a>(top_level: &TopLevel) -> Result<(), Vec<Semanti
if let Some(constructor) = constructor {
let mut fields = fields
.iter()
.map(|field| Spanned {
.filter_map(|field| match field.item.init {
Some(_) => None,
None => Some(Spanned {
item: field.item.decl.name.clone(),
line: field.line,
column: field.column,
}),
})
.collect::<Vec<_>>();