Merge pull request #107 from mist-go/fix-class-initializers
Fix default initializers in classes
This commit is contained in:
@@ -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(";");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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<_>>();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user