}
public override void visit_property_accessor (PropertyAccessor acc) {
+ var old_property_accessor = current_property_accessor;
+ bool old_method_inner_error = current_method_inner_error;
current_property_accessor = acc;
current_method_inner_error = false;
source_type_member_definition.append (function);
}
- current_property_accessor = null;
+ current_property_accessor = old_property_accessor;
current_return_type = old_return_type;
+ current_method_inner_error = old_method_inner_error;
}
public override void visit_destructor (Destructor d) {
+ bool old_method_inner_error = current_method_inner_error;
current_method_inner_error = false;
d.accept_children (codegen);
cfrag.append (d.body.ccodenode);
d.ccodenode = cfrag;
+
+ current_method_inner_error = old_method_inner_error;
}
public override void visit_block (Block b) {
}
public override void visit_constructor (Constructor c) {
+ bool old_method_inner_error = current_method_inner_error;
current_method_inner_error = false;
in_constructor = true;
} else {
Report.error (c.source_reference, "internal error: constructors must have instance, class, or static binding");
}
+
+ current_method_inner_error = old_method_inner_error;
}
public override string get_dynamic_property_getter_cname (DynamicProperty prop) {