Project

General

Profile

Bug #19

conversion CASE to SWITCH

Added by Stanislav Lomany about 12 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
Due date:
% Done:

0%

billable:
No
vendor_id:
GCD
case_num:

History

#1 Updated by Stanislav Lomany over 12 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 over 12 years ago

@45185 - Status changed from WIP to Hold

#3 Updated by Stanislav Lomany about 12 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

Also available in: Atom PDF