[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: {complex type}
Gabor Greif wrote:
> Doug Hockin wrote:
>
>>In a FunDev project window, with the Definitions tab
>>selected, the methods automatically generated for
>>slots all show an extra argument "{complex type}".
>>
>>For example, from the airport project:
>>
>>method direction({complex type})
>>method direction-setter(<symbol>, {complex type})
>>
>>What is this {complex type} argument?
>>
>>-- Doug
>>
>
>
> possibly some type that was created by \union(\singleton(...), ...)
> and the pretty printer punts on them?
I'm pretty sure that's the correct reason for getting "{complex type}"
instead of something more useful. As to what that argument represents,
it's the type of the object for which the slot is defined -- remember
that "x.foo == foo(x)", ans similarly for "foo-setter". In this case,
it may be that the generics were defined on a type-union, as well as
having methods which were created by a "slot" definition for a class.
HTH,
Hugh