Bug #19
conversion CASE to SWITCH
Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:
0%
billable:
No
vendor_id:
GCD
case_num:
version_reported:
version_resolved:
reviewer:
production:
No
env_name:
topics:
History
#1 Updated by Stanislav Lomany almost 15 years ago
@45183 - issue description:
If CASE is converted to Java SWITCH operator then all statement blocks except simple DO blocks get excess BREAK statement. Testcase:
def var i as integer.
def var x as integer.
case i:
when 1 then do x = 1 to 20:
message "test".
end.
when 2 then repeat while x < 10:
message "test".
end.
end.
Converted code:
switch ((i).intValue())
{
case 1:
{
for (...)
{
message("test");
break; // excess!
}
break;
}
case 2:
{
...
repeatWhile("loopLabel1", whileClause0, new Block()
{
public void body()
{
message("test");
break; // excess!
}
});
break;
}
}
#2 Updated by Redmine Admin almost 15 years ago
@45185 - Status changed from WIP to Hold
#3 Updated by Stanislav Lomany over 14 years ago
Imported from JPRM on 2012-04-12 11:23:11.307:
TASKID = 6123 PROJECTID = 124 STATUS = 3 (Hold) DESCRIPTION = conversion CASE to SWITCH OWNER = SVL ASSIGNEE = BILLABLE = false PRIORITY = 5 (Normal) PHASE = 52 (Problem Resolution) COMPONENT = 0 ESTEFFORT = 0.000000 ESTSTART = 2012-03-26 ESTSTOP = ACTSTOP = CASENUM = VENDORID = COMMENT = '' LASTWIP = 2011-09-18