Project

General

Profile

Bug #6117

fix DOWN calculation when multiple FORM, DISPLAY, DEFINE FRAME, iterating block, are involved

Added by Constantin Asofiei about 2 years ago. Updated about 2 years ago.

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

0%

billable:
No
vendor_id:
GCD
case_num:
version:

History

#1 Updated by Constantin Asofiei about 2 years ago

In testcases project, uast/combined_down contains some tests to fix DOWN problems found in #6109.

fdn3.p needs to be used as a starting point to test what happens if there are multiple FORM, DISPLAY, iterating block, with or without [n] DOWN, with n missing or in interval [0, 1, 4, 5] (see fdn.p and fdn2.p how to approach this).

The problem I suspect is that in some cases the DOWN needs to be allowed to 'upgrade', for this warning in rules/annotations/frame_scoping.rules's check_frame_down function shows that there is a problem when converting fdn3.p:

         <rule>!from.get(fd).equals(#(long) (-1)) and
               !to.get(fd).equals(#(long) (-1))   and
               !from.get(fd).equals(to.get(fd))
            <!-- TODO: FWD fails to change DOWN to the 'from's DOWN value, if explicitly set -->
            <action>
               printfln("## INFO: %s: attempt to change %s %d to %d for %s",
                        file, fd,
                        to.get(fd), 
                        from.get(fd), 
                        to.get(frameName))
            </action>
         </rule>

Also available in: Atom PDF