comp.lang.ada
 help / color / mirror / Atom feed
From: "Randy Brukardt" <randy@rrsoftware.com>
Subject: Re: Access type to member procedure of instance (Object Oriented programming in Ada)
Date: Tue, 20 Nov 2012 15:38:37 -0600
Date: 2012-11-20T15:38:37-06:00	[thread overview]
Message-ID: <k8gt8u$a2a$1@munin.nbi.dk> (raw)
In-Reply-To: 114a6fcf-32c3-408f-961f-2e3bf3c5af04@googlegroups.com

"Adam Beneschan" <adam@irvine.com> wrote in message 
news:114a6fcf-32c3-408f-961f-2e3bf3c5af04@googlegroups.com...
On Monday, November 19, 2012 4:05:16 PM UTC-8, Randy Brukardt wrote:
>> "Randy Brukardt" wrote in message

>> I should point out that I don't think that the code you wrote actually 
>> would
>> solve the problem you were trying to solve. That's because you usually 
>> need
>> to make dispatching calls, and such a call would be bound to a subprogram
>> when you wrote the name "Message.Print" and not when you actually made 
>> the
>> call.

>If Message had type Message_Type'Class, I'd assume that at some point,
>Message.Print'Access would need to determine which Print subprogram would 
>be
>called, and figure out the address of it.  I don't think it matters whether 
>it's done when the
>'Access value is computed or when the call is made, since the tag of an 
>object can't be
>changed during the object's lifetime.  I could be wrong, though; maybe I've 
>missed a case
>where it matters.  (But I'm not concerned about the possibility of an 
>object's tag being
>changed through extralegal means like Unchecked_Conversion.)

I don't think this is quite true; if the object is a parameter (for 
instance), it can have different tags for different calls. But I don't see 
that happening for something like Param.Print'Access -- access values are 
never dispatching.

Anyway, since something like Param.Print'Access is illegal in any case, we 
don't have to decide what this means or how code would be generated for it.

                                                   Randy.


                           -- Adam 





  reply	other threads:[~2012-11-20 21:38 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-19  9:59 Access type to member procedure of instance (Object Oriented programming in Ada) ake.ragnar.dahlgren
2012-11-19 11:13 ` Georg Bauhaus
2012-11-19 11:39 ` Brian Drummond
2012-11-20 11:43   ` Brian Drummond
2012-11-20 21:57     ` Randy Brukardt
2012-11-19 13:03 ` sbelmont700
2012-11-19 16:18 ` Adam Beneschan
2012-11-19 17:02   ` Peter C. Chapin
2012-11-19 18:23     ` Adam Beneschan
2012-11-19 20:57       ` Peter C. Chapin
2012-11-19 21:26       ` Dmitry A. Kazakov
2012-11-19 22:19         ` Adam Beneschan
2012-11-20 10:12           ` Dmitry A. Kazakov
2012-11-20 21:51             ` Randy Brukardt
2012-11-21  8:24               ` Dmitry A. Kazakov
2012-11-21 22:19                 ` Randy Brukardt
2012-11-20 10:59     ` Brian Drummond
2012-11-19 20:22 ` ake.ragnar.dahlgren
2012-11-20 11:16   ` Brian Drummond
2012-11-19 20:52 ` ake.ragnar.dahlgren
2012-11-19 21:56   ` Dmitry A. Kazakov
2012-11-22  9:49     ` ake.ragnar.dahlgren
2012-11-19 22:13   ` sbelmont700
2012-11-19 23:59 ` Randy Brukardt
2012-11-20  0:05   ` Randy Brukardt
2012-11-20  1:00     ` Adam Beneschan
2012-11-20 21:38       ` Randy Brukardt [this message]
2012-11-20 23:43         ` Adam Beneschan
2012-11-21 22:12           ` Randy Brukardt
2012-11-22  1:59             ` Adam Beneschan
2012-11-29  2:43               ` Randy Brukardt
2012-11-20  0:52   ` Adam Beneschan
2012-11-20 21:34     ` Randy Brukardt
2012-11-20 11:28   ` Brian Drummond
2012-11-20 14:27     ` Georg Bauhaus
2012-11-20 15:52     ` Adam Beneschan
2012-11-22  9:47 ` ake.ragnar.dahlgren
2012-11-22 10:25   ` Dmitry A. Kazakov
2012-12-02 20:42     ` ake.ragnar.dahlgren
2012-12-03 11:21       ` Dmitry A. Kazakov
2012-12-03 20:21         ` ake.ragnar.dahlgren
2012-12-03 22:15           ` Dmitry A. Kazakov
2012-12-25 21:51           ` Gustaf Thorslund
2012-12-26 18:11             ` ake.ragnar.dahlgren
2012-11-22 12:13   ` Brian Drummond
2012-12-03 16:17     ` ake.ragnar.dahlgren
2012-12-03 21:56       ` Brian Drummond
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox