ChangesBrowser.st
changeset 518 e265101d47f6
parent 508 8d2ab732fca5
child 520 58c669f7ee4b
--- a/ChangesBrowser.st	Sat Apr 27 20:00:04 1996 +0200
+++ b/ChangesBrowser.st	Mon Apr 29 10:05:59 1996 +0200
@@ -681,7 +681,8 @@
     "compare a change with current version"
 
     |aStream chunk sawExcla parseTree thisClass cat oldSource newSource
-     parser sel oldMethod outcome showDiff d t1 t2 cls selector isLoaded|
+     parser sel oldMethod outcome showDiff d t1 t2 cls selector isLoaded
+     method|
 
     aStream := self streamForChange:changeNr.
     aStream isNil ifTrue:[^ self].
@@ -696,7 +697,7 @@
 
         parseTree := Parser parseExpression:chunk.
         (parseTree notNil and:[parseTree isMessage]) ifTrue:[
-            (parseTree selector == #removeSelector:) ifTrue:[
+            ((selector := parseTree selector) == #removeSelector:) ifTrue:[
                 thisClass := (parseTree receiver evaluate).
                 thisClass isBehavior ifTrue:[
                     (self checkClassIsLoaded:thisClass) ifTrue:[
@@ -711,6 +712,21 @@
                     ]
                 ]
             ].
+            selector == #category: ifTrue:[
+                parseTree receiver isMessage ifTrue:[
+                    parseTree receiver selector == #compiledMethodAt: ifTrue:[
+                        (method := parseTree receiver evaluate) isMethod ifTrue:[
+                            method category = parseTree arg1 evaluate ifTrue:[
+                                outcome := 'change has no effect\\(same category)'.
+                            ] ifFalse:[
+                                outcome := 'category is different (' , method category , ' vs. ' , parseTree arg1 evaluate , ')'
+                            ]
+                        ] ifFalse:[
+                            outcome := 'there is no such method'
+                        ]
+                    ]
+                ]
+            ]
         ]
     ] ifTrue:[
         parseTree := Parser parseExpression:chunk.
@@ -782,7 +798,7 @@
     ].
 
     "Created: 24.11.1995 / 14:30:46 / cg"
-    "Modified: 12.12.1995 / 14:15:25 / cg"
+    "Modified: 29.4.1996 / 10:05:04 / cg"
 !
 
 contractClass:className selector:selector to:maxLen
@@ -2157,5 +2173,5 @@
 !ChangesBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.75 1996-04-25 16:27:57 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.76 1996-04-29 08:05:59 cg Exp $'
 ! !