Alek Storm wrote:
$P0 = get_hll_namespace
$P1 = $P0.find_class("HLLClass")
$P2 = $P1.new()
Will new() be a vtable method or PCCMETHOD in a Class PMC? That's the only
way I can see this syntax not conflicting with normal method-calling
syntax.
new() is a class method, an ordinary method on the class object. So, in
this code:
$P1 = get_class "Dog"
$P2 = $P1.new()
$P2.foobar()
new() is a method called on the class object, and foobar() is a method
called on the instance of the class object. The two don't conflict
because they're called on different objects.
It sounds like you're getting confused about what a PCCMETHOD is. It's a
method defined in C code that can be called using the full Parrot
calling conventions. That is, it's an ordinary method.
Allison