Bug?

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

Bug?

Bill Schwab
Hi Blair,

I think I've found a bug.

(1) Create a class TestTheory under Object; start with no instance variables

(2) Give it this method:

!TestTheory methodsFor!

try:aString with:something
 "gratuitous method"

! !
!TestTheory categoriesFor: #try:with:!*-unclassified!public! !


(3) Add an instance variable with the name aString (which of course clashes
with the first
argument to the one method); accept the change.  On my system, Clint
Eastwood vocalizes concern over the occurance, but there are no other
indications that anything is wrong.

(4) Select a different class in the same CHB, and then reselect TestTheory.
At this point, I think you'll see two methods:

   try:aString
   try:aString with:something

with the first one being indicated as having an error and the second one
shown as ok, though the source shows up red when selected.  It looks like a
bogus compilation failure method is being created, having only the first
keyword/argument but the right source???

Having a recent backup, I'll rush in where angels fear to tread :)

Have a good one,

Bill


--
Wilhelm K. Schwab, Ph.D.
[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Bug?

Blair McGlashan
Bill

You wrote in message news:9agn0g$hh1$[hidden email]...
> Hi Blair,
>
> I think I've found a bug.

I think you have too.

> ...[initial steps snipped]...
>
> (3) Add an instance variable with the name aString (which of course
clashes
> with the first
> argument to the one method); accept the change.  On my system, Clint
> Eastwood vocalizes concern over the occurance, but there are no other
> indications that anything is wrong.

I presume you mean that you get an "error" sound played :-). On D4.01 you
should also see the Transcript taskbar icon flashing to inform you that an
error message has been printed there.

> (4) Select a different class in the same CHB, and then reselect
TestTheory.
> At this point, I think you'll see two methods:
>
>    try:aString
>    try:aString with:something
>
> with the first one being indicated as having an error and the second one
> shown as ok, though the source shows up red when selected.  It looks like
a
> bogus compilation failure method is being created, having only the first
> keyword/argument but the right source???

That's right. The creation of the CompileFailedMethods relies on the
compiler having been able to at least parse the method header correctly, but
it looks as it has given up a bit too easily in this case and stopped
immediately after the first error when it has recognised only part of the
selector.

> Having a recent backup, I'll rush in where angels fear to tread :)

I don't think there will be any unpleasant after effects.

Regards

Blair