From a948daf67e1f27b227d0facf020e40e3fe0e5deb Mon Sep 17 00:00:00 2001 From: Botond Baranyi <botond.baranyi@ericsson.com> Date: Thu, 22 Mar 2018 13:10:15 +0100 Subject: [PATCH] Newer fix for port name clash error (bug 532451) Change-Id: I04b68bf6be6d2ef9f26976f43c0680d326dd3350 Signed-off-by: Botond Baranyi <botond.baranyi@ericsson.com> --- compiler2/ttcn3/Statement.cc | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) diff --git a/compiler2/ttcn3/Statement.cc b/compiler2/ttcn3/Statement.cc index e6e4848e9..77024dd93 100644 --- a/compiler2/ttcn3/Statement.cc +++ b/compiler2/ttcn3/Statement.cc @@ -7629,7 +7629,7 @@ error: if (!config_op.compref1->get_expr_governor(Type::EXPECTED_DYNAMIC_VALUE)) { warning = true; if (strcmp(opname, "map") == 0) { - config_op.compref2->warning( + config_op.compref1->warning( "Cannot determine the type of the component in the first parameter." "The port translation will not work."); } @@ -7643,21 +7643,14 @@ error: } } if (warning == false) { + Reference* portref = config_op.first_is_system ? + config_op.portref1 : config_op.portref2; expr.expr = mputstr(expr.expr, "if (!("); - config_op.portref1->generate_code_portref(&expr, my_sb); - expr.expr = mputstr(expr.expr, ".port_is_started())) {\n"); - config_op.portref1->generate_code_portref(&expr, my_sb); - expr.expr = mputprintf(expr.expr, ".activate_port(%s);\n", - config_op.first_is_system ? "TRUE" : "FALSE"); - config_op.portref1->generate_code_portref(&expr, my_sb); - expr.expr = mputstr(expr.expr, ".start();\n}\n"); - expr.expr = mputstr(expr.expr, "if (!("); - config_op.portref2->generate_code_portref(&expr, my_sb); + portref->generate_code_portref(&expr, my_sb); expr.expr = mputstr(expr.expr, ".port_is_started())) {\n"); - config_op.portref2->generate_code_portref(&expr, my_sb); - expr.expr = mputprintf(expr.expr, ".activate_port(%s);\n", - config_op.first_is_system ? "FALSE" : "TRUE"); - config_op.portref2->generate_code_portref(&expr, my_sb); + portref->generate_code_portref(&expr, my_sb); + expr.expr = mputstr(expr.expr, ".activate_port(TRUE);\n"); + portref->generate_code_portref(&expr, my_sb); expr.expr = mputstr(expr.expr, ".start();\n}\n"); } } -- GitLab