I just found another problem in BP's OOP. In the following program, `o.f' in oo.p is ambiguous. It could mean field f of the field o, or function f of the parent type o. Both BP and GPC (currently) do the former (i.e., say 99). I noticed this because the OOE draft forbids this case by requiring that object fields don't clash with parent type names. We do we do here? Allow it in BP mode with a warning, error otherwise? program Foo; type o = object function f: Integer; end; oo = object (o) o: record f: Integer end; procedure p; end; function o.f: Integer; begin f := 42 end; procedure oo.p; begin WriteLn (o.f) end; var v: oo; begin v.o.f := 99; v.p end. Frank -- Frank Heckenbach, frank@g-n-u.de, http://fjf.gnu.de/, 7977168E GPC To-Do list, latest features, fixed bugs: http://www.gnu-pascal.de/todo.html GPC download signing key: 51FF C1F0 1A77 C6C2 4482 4DDC 117A 9773 7F88 1707
participants (4)
-
Frank Heckenbach -
Neil Santos -
Prof A Olowofoyeku (The African Chief) -
Waldek Hebisch