Re: Object references

Andreas Kraft (kraft@fokus.gmd.de)
Mon, 4 Jan 1999 16:02:00 +0100 ((MEZ) Mitteleurop. Zeit)

Xavier,

On Mon, 4 Jan 1999, Xavier MARIE wrote:
> >The technical corrigendum changes the definition in chapter 51 in the
> >way that it is now allowed for an ORef-variable to _contain_ an object
> >reference which is not in the current scope.
>
> So "It is now allowed" after the definition change in the corrigendum.
> And before that change, it used not to be allowed.

Well, the phrase "is now allowed" is misleading. I am sorry if this
caused confusion. It was not directly forbidden before. The idea was
that an object reference variable can store any object reference,
valid in a scope or not. It is actually a heavy task to check this
which, in my opinion, is not very useful in a runtime environment.

IMHO, the definitions in chapter 51 are assuming a specific
implementation, i.e. some kind of "physical link" for an object
reference. This assumption is invalid.
Object references can be build dynamically during runtime, therefore,
they must be resolved dynamically. This is why an object reference
variable can contain an invalid object reference (invalid in terms of
the format itself, or the current scope). It must only be valid when
it is beeing used, e.g. in an elementary action.

> Point taken. Coming from the editor of that corrigendum, which ISO rules
> requires not to contain any technical change, this sounds pretty much
> as a confession. But this is a tough job, and I won't be the one throwing
> the first stone.

Well, didn't you just do that? ;-)
I think that this one is realy a clarification, not a technical
change, but this is also something we can argue a lot about.

> Only well-designed conformance testing can provide a concrete
> enough referential within which to assess such a statement.

I fully agree.

Best regards,

Andreas

-- 
  o  _     Andreas Kraft
 (\_|_)      GMD FOKUS, kraft@fokus.gmd.de, +49 30 3463-7232
 T> ] [        The sky is the limit