[Oberon] Oberon-07 expression0
Tomas Kral
thomas.kral at email.cz
Sun Jun 21 11:52:24 CEST 2020
Hi,
Looking at some history of `ORP' development, I spot a change in
`expression0'
Cannot understand the code, applies to pointer assignments?
Earlier only base or extended type assignments allowed, newer allows
also procs of the same signature assignment?
from earlier
ELSIF (xf = ORB.Pointer) & (yf = ORB.Pointer) &
(IsExtension(x.type.base, y.type.base) OR IsExtension(y.type.base, x.type.base)) THEN
IF rel <= ORS.neq THEN ORG.IntRelation(rel, x, y) ELSE ORS.Mark("only = or #") END
to newer
ELSIF (xf = ORB.Pointer) & (yf = ORB.Pointer) &
(IsExtension(x.type.base, y.type.base) OR IsExtension(y.type.base, x.type.base))
OR (xf = ORB.Proc) & (yf = ORB.Proc) & EqualSignatures(x.type, y.type) THEN
IF rel <= ORS.neq THEN ORG.IntRelation(rel, x, y) ELSE ORS.Mark("only = or #") END
Many thanks
--
Tomas Kral <thomas.kral at email.cz>
More information about the Oberon
mailing list