ReferenceFinder bug

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

ReferenceFinder bug

Bill Dargel
Andy/Blair,

I ran across a bug in the ReferenceFinder>>searchVariablesIn: method.

The fragment:
    1 to: anObject class instSize
        do: [:i | ...  (anObject instVarAt: i) ...
breaks down when anObject is a ProtoObject.

In the case I ran into, it was actually the ODBReference subclass (used
by the Gorisek's OmniBase and SourceTrackingSystem). The #class method,
not being understood, gets redirected to the object the proxy is
standing in for, while the #instVarAt: is handled directly by the
ProtoObject instance. Hence they disagree on how many instance variables
are being dealt with.

Looks like #class should be replaced by #basicClass to fix this.

-------------------------------------------
Bill Dargel            [hidden email]
Shoshana Technologies
100 West Joy Road, Ann Arbor, MI 48105  USA


Reply | Threaded
Open this post in threaded view
|

Re: ReferenceFinder bug

Bill Dargel
Bill Dargel wrote:

> I ran across a bug in the ReferenceFinder>>searchVariablesIn: method.
>
> [snip]
>
> Looks like #class should be replaced by #basicClass to fix this.

It's probably bad form to reply to my own message, but I noticed that there
are 3 other uses of #class within ReferenceFinder. I suspect that all 4 of
them probably should be using #basicClass instead.

-------------------------------------------
Bill Dargel            [hidden email]
Shoshana Technologies
100 West Joy Road, Ann Arbor, MI 48105  USA


Reply | Threaded
Open this post in threaded view
|

Re: ReferenceFinder bug

Blair McGlashan
"Bill Dargel" <[hidden email]> wrote in message
news:[hidden email]...
> Bill Dargel wrote:
>
> > I ran across a bug in the ReferenceFinder>>searchVariablesIn: method.
> >
> > [snip]
> >
> > Looks like #class should be replaced by #basicClass to fix this.
>
> It's probably bad form to reply to my own message, but I noticed that
there
> are 3 other uses of #class within ReferenceFinder. I suspect that all 4 of
> them probably should be using #basicClass instead.

Thanks Bill, we'll change them.

Regards

Blair