Klaas-Jan Stol wrote:
- Update all method definitions in all PMCs to be PCCMETHODs instead of
METHODs.
To allow for a standard deprecation cycle, we're breaking it into two
stages: first update all method definitions and calls so they use the
standard form currently flagged with "PCCMETHOD", and second change the
name of "PCCMETHOD" to "METHOD" because it becomes the standard way of
defining methods.
I skimmed through pdd17, and unless I misread, I can't see an
explanation of the difference between PCCMETHOD and METHOD.
IIUC, all occurrences of METHOD will become PCCMETHOD ....
Yes, there's no explanation of the differences between the two because
the old "METHOD" is simply going away. (To be replaced by the new "METHOD".)
... which brings me to this: why replace PCCMETHOD to METHOD? What's
the difference?
It's a matter of terminology standardization.
- Do a human-guided replacement of 'SELF', most cases that currently use
the static 'SELF' should continue using the dynamic 'SELF'. A few will
need to use 'STATICSELF'.
What are the rules that guide any replacement? When to use SELF
(=DYNSELF) and when to use STATICSELF?
STATICSELF always refers to the class where the method was defined.
DYNSELF is the class of the current instance, so if you have an
inherited method, it doesn't end up referring to a parent class. DYNSELF
is what most people mean when they say "SELF", and most cases that
currently use "SELF" will continue to use "SELF".
The general rule of thumb for the conversion is "leave SELF as SELF,
unless the tests fail, if they fail, change it to STATICSELF".
Allison