From: Christoph Grein <christoph.grein@eurocopter.com>
Subject: Re: Refactoring and Ada
Date: Thu, 7 Feb 2002 12:26:19 +0100 (MET)
Date: 2002-02-07T12:26:19+01:00 [thread overview]
Message-ID: <mailman.1013081222.24817.comp.lang.ada@ada.eu.org> (raw)
> > I often find that people think that avoiding use clauses
> > avoids this, and requires full qualification. In fact in
> > the above example, suppose the only other occurrence of
> > f is in package p, then it is the case that trying to
> > qualify by writing
> >
> > a := p.f (x);
> >
> > is not just unnecessary, but in fact illegal.
>
> If I understand your example correctly, it reflects a problem
> which I recently had to fix in program written by someone else.
> We had the requirement not to use use and so the call of f had
> to be qualified as in your example above. The compiler complained
> about this of course and can you imagine what the programmer did
> in order to fix the problem? The type of x (B_Type) was derived from
> some other type (let's say A_Type). So the programmer wrote:
>
> a := p.f (p.A_Type(x));
>
Silliness is indeed unbounded. The person requiring qualification of
of the call of f should have been sent to purgatory immediately.
The programmer should have declined to do this and explain the reason
why.
> The compiler was happy and in this particular case the program
> even did what it was assumed to do. The hidden bug in this
> statement is a maintenance time-bomb which would not have occurred
> if use had been used.
But I do not see how "use" comes into the picture here.
> Michael
next reply other threads:[~2002-02-07 11:26 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-02-07 11:26 Christoph Grein [this message]
2002-02-07 18:31 ` Refactoring and Ada Dr. Michael Paus
2002-02-08 12:45 ` Robert Dewar
2002-02-08 17:20 ` Dr. Michael Paus
-- strict thread matches above, loose matches on Subject: below --
2002-02-20 6:19 Christoph Grein
2002-02-05 6:15 Christoph Grein
2002-02-01 15:13 Paul Anderson
2002-02-02 17:48 ` Nick Roberts
2002-02-02 20:36 ` Pat Rogers
2002-02-03 0:21 ` Nick Roberts
2002-02-03 13:53 ` Robert Dewar
2002-02-03 19:23 ` Nick Roberts
2002-02-04 2:17 ` Robert Dewar
2002-02-04 20:48 ` Nick Roberts
2002-02-04 22:31 ` Pat Rogers
2002-02-04 22:43 ` Marin David Condic
2002-02-06 2:51 ` Nick Roberts
2002-02-03 18:50 ` Simon Wright
2002-02-04 4:32 ` Richard Riehle
2002-02-04 12:28 ` David C. Hoos, Sr.
2002-02-04 17:03 ` Richard Riehle
2002-02-06 17:19 ` Robert A Duff
2002-02-04 17:59 ` Robert Dewar
2002-02-04 18:50 ` Pascal Obry
2002-02-05 1:07 ` Robert Dewar
2002-02-05 1:44 ` Richard Riehle
2002-02-06 17:42 ` Robert A Duff
2002-02-06 17:32 ` Robert A Duff
2002-02-07 8:45 ` Dr. Michael Paus
2002-02-07 13:54 ` Pat Rogers
2002-02-03 13:48 ` Robert Dewar
2002-02-03 19:38 ` Nick Roberts
2002-02-04 2:20 ` Robert Dewar
2002-02-08 21:21 ` Paul Anderson
2002-02-03 9:45 ` Volkert
2002-02-08 9:24 ` Martin Dowie
2002-02-08 15:15 ` Ted Dennison
2002-02-08 15:52 ` Pat Rogers
2002-02-08 16:06 ` martin.m.dowie
2002-02-08 17:07 ` Pat Rogers
2002-02-09 19:48 ` martin.m.dowie
2002-02-09 23:05 ` Pat Rogers
2002-02-10 1:30 ` Marc A. Criley
2002-02-10 2:58 ` tmoran
2002-02-11 15:27 ` Marin David Condic
2002-02-12 19:16 ` Simon Wright
2002-02-15 19:43 ` Marin David Condic
2002-02-15 20:33 ` Matthew Heaney
2002-02-15 21:40 ` Larry Kilgallen
2002-02-19 16:54 ` Matthew Heaney
2002-02-19 19:39 ` Larry Kilgallen
2002-02-20 4:23 ` Richard Riehle
2002-02-20 5:20 ` Mark Biggar
2002-02-20 9:58 ` Pat Rogers
2002-02-20 17:14 ` Matthew Heaney
2002-02-20 17:18 ` Pat Rogers
2002-02-20 18:08 ` Matthew Heaney
2002-02-20 22:12 ` Pat Rogers
2002-02-23 22:48 ` Robert Dewar
2002-02-21 0:41 ` Randy Brukardt
2002-02-21 1:31 ` Pat Rogers
2002-02-22 14:37 ` Pat Rogers
2002-02-22 21:23 ` Randy Brukardt
2002-02-23 23:04 ` Robert Dewar
2002-02-25 20:26 ` Randy Brukardt
2002-02-23 23:21 ` Robert Dewar
2002-02-23 22:58 ` Robert Dewar
2002-02-23 22:55 ` Robert Dewar
2002-02-26 1:05 ` Nick Roberts
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox