[fpc-devel] RTTI

Michael Van Canneyt michael at freepascal.org
Wed Nov 25 19:47:31 CET 2015



On Wed, 25 Nov 2015, Sven Barth wrote:

>>> 
>>> Virtual method interceptors are not implemented, but they are planned
>>> just
>>> like every other Delphi compatible part of the RTTI. They require a
>>> bit of
>>> platform dependent support though as they'll need to deal with calling
>>> conventions (even if it might only be one as AFAIK we only allow the
>>> default calling convention for virtual methods...).
>> 
>> Sounds like the same code as for interface method RTTI can be reused.
>
> But that will only provide half of it, because a Virtual Method Interceptor 
> (VMI) also needs to provide the callee while for the interface method RTTI 
> (or later on Invoke()) you only need to provide the necessary means to call 
> the function (which a VMI needs to be able to do as well, which is what I 
> mean "half").

Hmh. Why does it need to provide the callee ? 
I thought it just meant inserting a stub in the VMT and make sure all arguments are passed correctly ?

No doubt you know better :)

Michael.



More information about the fpc-devel mailing list