Trying to update the documentation on submethod TWEAK - there is nothing.
But the documentation should be accurate and not confusing. So some
questions:
In a loop or program, things like BUILD or LEAVE or FIRST are called
'phasers'.
By analogy, during the 'build' process of instantiating an object from a
class, two 'submethod's can be called, viz.
submethod BUILD and submethod TWEAK.
1) Should these submethods be considered 'phasers' to be consistent with
other BUILD, LEAVE etc usages?
2) What actually calls these submethods?
The documentation says 'bless' indirectly calls submethod BUILD. But the
documentation seems to indicate that 'bless' is not needed to create an
object.
So what calls the submethods?
3) Is it correct to say that TWEAK can access all the attributes of the
object?
4) How to describe the way the TWEAK of a subclass accesses attributes
in the parent?
eg
class A { has $.thing }
class B is A { submethod TWEAK { #do something to $.thing in A } }