Open apblack opened 6 years ago
On reflection, I think that the problem is that information about the inherited methods from the imported module is not being propagated to the inheritor.
The gct information for wrongSelfRoom is as follows:
classes:
confidential:
dialect:
standardGrace
fresh-methods:
room
fresh:room:
description
name
modules:
collectionsPrelude
standardGrace
path:
/Users/black/Downloads/Grace-IDE-Archive-7-19-2018/minigrace_issues/#252_wrongSelfRoom.grace
public:
room
publicMethodTypes:
room
types:
Notice that isMe
and other inherited methods are not listed as being in the scope of the fresh method room
.
The file wrongSelfRoom contains
The file wrongSelf contains
The print statement prints false, unless the request of
isMe(other)
is changed toself.isMe(other)
, in which case it works.If the
inherit
statment is changed to refer to the local definition ofroom
instead of the one in therooms
module, all is well.This case came to light while I was attempting to get Steven L. Willoughby's interactive fiction (iFiction) game working in minigrace.