[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

COPY / PROXY and the Translator

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.

   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.