diff --git a/compiler2/ttcn3/AST_ttcn3.cc b/compiler2/ttcn3/AST_ttcn3.cc index 16857bf8d17f54ac2d6601a3eb880a00adb507d7..ff46e56eec21a13706c0990958a2efeb443ce3d5 100644 --- a/compiler2/ttcn3/AST_ttcn3.cc +++ b/compiler2/ttcn3/AST_ttcn3.cc @@ -8033,12 +8033,16 @@ namespace Ttcn { Free(body); } else if (in_class && my_scope->get_scope_class()->is_external()) { + char* out_par_str = enable_set_bound_out_param ? memptystr() : + fp_list->generate_code_set_unbound(memptystr()); target->source.methods = mputprintf(target->source.methods, "%s %s::%s(%s)\n" - "{\n\n" + "{\n" + "%s\n" "}\n\n", return_type_str, my_scope->get_scope_class()->get_id()->get_name().c_str(), - genname_str, formal_par_list); + genname_str, formal_par_list, out_par_str); + Free(out_par_str); } Free(formal_par_list); diff --git a/compiler2/ttcn3/Statement.cc b/compiler2/ttcn3/Statement.cc index 464c0bfd03af696297557ec973422e97eb84d4e9..97fe67a1d5f095f827d3d6bb0ba4c9143a25d220 100644 --- a/compiler2/ttcn3/Statement.cc +++ b/compiler2/ttcn3/Statement.cc @@ -6891,7 +6891,7 @@ error: { expression_struct expr; Code::init_expr(&expr); - ref_pard->generate_code_const_ref(&expr); + ref_pard->generate_code(&expr); str=Code::merge_free_expr(str, &expr); return str; }