On 08/06/12 23:02, Paul Ishenin wrote:
>
> Class variable is stored the same way as a regular variable and has the
> only difference is that it can be accessible with the class name prefix.
> The thing you need requires different implementation - something like
> storing a virtual class variable in VMT. There is no implementation for
> that.
>
> Best regards,
> Paul Ishenin
What is the current implementation?
I would guess that class vars are stored in the vmt already...
Please correct me if I've got this wrong.
Current classes have a structure containing partially the following:
TClassInstance = record
vmt: Pointer;
{Space for parent class variables are stored here followed by variables
declared for this object}
variable1: SomeType;
variable2: SomeType;
etc.
end;
TClassVMT = record
parent_class_vmt: Pointer;
virtual_procs: array[0..n] of pointer;
class_var_1: Sometype;
class_var_2: Sometype;
etc...
end;
Is this right?
Thanks,
Andrew
_______________________________________________
fpc-pascal maillist - [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-pascal