ccode.add_assignment (get_variable_cexpression ("_data%d_".printf (block_id)), new CCodeConstant ("NULL"));
}
+ append_scope_free (sym, stop_at);
+
if (stop_at_loop) {
if (b.parent_node is Loop ||
b.parent_node is ForeachStatement ||
}
}
+ protected virtual void append_scope_free (Symbol sym, CodeNode? stop_at = null) {
+ }
+
private void append_param_free (Method m) {
foreach (Parameter param in m.get_parameters ()) {
if (!param.ellipsis && requires_destroy (param.variable_type) && param.direction == ParameterDirection.IN) {
ccode.close ();
}
- public override void append_local_free (Symbol sym, bool stop_at_loop = false, CodeNode? stop_at = null) {
- base.append_local_free (sym, stop_at_loop, stop_at);
-
+ protected override void append_scope_free (Symbol sym, CodeNode? stop_at = null) {
if (!(stop_at is TryStatement || stop_at is CatchClause)) {
var finally_block = (Block) null;
if (sym.parent_node is TryStatement) {