Catch undefined classes after autoloading
authorStefan Vogel <sv@exept.de>
Tue, 28 Sep 2004 10:30:46 +0200
changeset 6048 aa1492cea21a
parent 6047 d04fe471f591
child 6049 52a035d239a6
Catch undefined classes after autoloading
ChangesBrowser.st
--- a/ChangesBrowser.st	Tue Sep 28 10:29:39 2004 +0200
+++ b/ChangesBrowser.st	Tue Sep 28 10:30:46 2004 +0200
@@ -3326,7 +3326,10 @@
             selector == #'category:' ifTrue:[
                 parseTree receiver isMessage ifTrue:[
                     parseTree receiver selector == #compiledMethodAt: ifTrue:[
-                        (method := parseTree receiver evaluate) isMethod ifTrue:[
+                        |receiver|
+                        receiver := parseTree receiver.
+                        (receiver receiver evaluate isBehavior 
+                         and:[(method := receiver evaluate) isMethod]) ifTrue:[
                             method category = parseTree arg1 evaluate ifTrue:[
                                 outcome := 'Change has no effect\\(same category)'.
                                 isSame := true.
@@ -3394,7 +3397,9 @@
 
                         (selector endsWith:':privateIn:') ifTrue:[
                             ownerClass := (parseTree arguments at:5) evaluate.
-                            thisClass := ownerClass privateClassesAt:thisClassSym.
+                            ownerClass isBehavior ifTrue:[
+                                thisClass := ownerClass privateClassesAt:thisClassSym.
+                            ].
                         ] ifFalse:[
                             thisClass := (self nameSpaceForApply) at:thisClassSym ifAbsent:nil.
                         ].
@@ -5578,5 +5583,5 @@
 !ChangesBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.322 2004-05-18 13:30:57 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.323 2004-09-28 08:30:46 stefan Exp $'
 ! !