[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]
COPY / PROXY and the Translator
- To: <mark>
- Subject: COPY / PROXY and the Translator
- From: Eric Dean Tribble <tribble>
- Date: Sun, 22 Oct 89 01:01:39 PDT
- Cc: <heh>, <xtech>
- In-reply-to: <MarkS.Miller'smessageofSat>,49 PDT <8910212219.AA02545@xanadu>
Non-PROXY messages in a proxified class should also
not be DEFERRED, since the stubble generated Proxy subclass will have
to be a concrete class (XLint doesn't need to check for this, the
compiler will).
Does this need to be true?
I don't know the answer, but it seems to me that PROXY should be based
on message category (as are public, etc...), and that COPY could
(should?) be attatched to instance variable type. A proxified class
with no PROXY messages would be fine, because you can have a method
category with no occupants in Smalltalk (is this right?).
Already works except for empty categories. An easy fix. Currently
puts PROXY in front of every category so declared.
A COPY
class with no copy instance variables is more tricky. As is the
declaration of restart. Both could be handled by having another
method category which is either empty or contained the void restart()
method. A class would then be a copy class if either it had a COPY
method category of any COPY variables.
COPY is currently defined just like PROXY, so the same enhancement
should fix both. The declaration part on instance variables may
already exist.
Where abouts in the translator is it appropriate to make those changes? It's
best (for readability) if the variables get grouped according to COPY, PROXY
or normal before being printed.
Don't change the ordering: easier to find things. Users can change
ordering in Smalltalk. Also not enough instance variables to matter.
dean