Project

General

Profile

Bug #2153

frame name resolution when multiple functions have internal frames with the same name

Added by Constantin Asofiei almost 11 years ago. Updated almost 11 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 almost 11 years ago

Ovidiu has found a case where P2J doesn't generate proper frames, when multiple functions use same name for internal frames.

The following case does not convert properly in P2J:

function f1 returns int.
  display "bla1" with frame f title "f1".
end.

function f2 returns int.
  display "bla2" with frame f title "f2".
end.

function f3 returns int.
  display "bla3" with frame f title "f3".
end.

procedure p1.
  display "bla1" with frame f title "p1".
end.

procedure p2.
  display "bla2" with frame f title "p2".
end.

procedure p3.
  display "bla3" with frame f title "p3".
end.

f1().
f2().
f3().

run p1.
run p2.
run p3.

In 4GL, a frame widget is created for each of the p1, p2, p3 procedure and each of the f1, f2, f3 functions. If a display "bla0" with frame f title "e0". is added at the beginning of the test, then p1,p2,p3 and f1,f2,f3 all use the same frame.

P2J handles correctly the procedure case, but when frame needs to be defined internal to the function, it does not disambiguate between them, to create 3 distinct frames. I think the problem is somewhere in annotations/frame_scoping.rules.

Also available in: Atom PDF