--- a/CBrowser.st Mon Aug 18 15:48:20 1997 +0200
+++ b/CBrowser.st Mon Aug 18 16:45:24 1997 +0200
@@ -980,7 +980,7 @@
changeClassNames for the next query"
|chunk aParseTree recTree sel name arg1Tree isMeta prevMethodDefNr
- words|
+ words changeStream fullParseTree ownerTree ownerName |
changeNr isNil ifTrue:[^ nil].
@@ -1084,9 +1084,37 @@
"
(('subclass:*' match:sel)
or:[('variable*subclass:*' match:sel)]) ifTrue:[
+ "/ must parse the full changes text, to get
+ "/ privacy information.
+
+ changeStream := self streamForChange:changeNr.
+ changeStream notNil ifTrue:[
+ chunk := changeStream nextChunk.
+ changeStream close.
+ fullParseTree := Parser parseExpression:chunk.
+ (fullParseTree isNil or:[fullParseTree == #Error]) ifTrue:[
+ fullParseTree := nil
+ ].
+ fullParseTree isMessage ifFalse:[
+ fullParseTree := nil
+ ].
+ "/ actually, the nil case cannot happen
+ fullParseTree notNil ifTrue:[
+ aParseTree := fullParseTree.
+ sel := aParseTree selector.
+ ].
+ ].
+
arg1Tree := aParseTree arg1.
(arg1Tree notNil and:[arg1Tree isConstant]) ifTrue:[
name := arg1Tree value asString.
+
+ "/ is it a private-class ?
+ ('*privateIn:' match:sel) ifTrue:[
+ ownerTree := aParseTree args last.
+ ownerName := ownerTree name asString.
+ name := ownerName , '::' , name
+ ].
changeClassNames at:changeNr put:name.
^ name
].
@@ -1139,7 +1167,7 @@
].
^ nil
- "Modified: 14.2.1997 / 19:37:18 / cg"
+ "Modified: 18.8.1997 / 16:43:14 / cg"
!
makeChangeAPatch:changeNr
@@ -2555,5 +2583,5 @@
!ChangesBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Attic/CBrowser.st,v 1.115 1997-08-05 21:14:50 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Attic/CBrowser.st,v 1.116 1997-08-18 14:45:24 cg Exp $'
! !
--- a/ChangesBrowser.st Mon Aug 18 15:48:20 1997 +0200
+++ b/ChangesBrowser.st Mon Aug 18 16:45:24 1997 +0200
@@ -980,7 +980,7 @@
changeClassNames for the next query"
|chunk aParseTree recTree sel name arg1Tree isMeta prevMethodDefNr
- words|
+ words changeStream fullParseTree ownerTree ownerName |
changeNr isNil ifTrue:[^ nil].
@@ -1084,9 +1084,37 @@
"
(('subclass:*' match:sel)
or:[('variable*subclass:*' match:sel)]) ifTrue:[
+ "/ must parse the full changes text, to get
+ "/ privacy information.
+
+ changeStream := self streamForChange:changeNr.
+ changeStream notNil ifTrue:[
+ chunk := changeStream nextChunk.
+ changeStream close.
+ fullParseTree := Parser parseExpression:chunk.
+ (fullParseTree isNil or:[fullParseTree == #Error]) ifTrue:[
+ fullParseTree := nil
+ ].
+ fullParseTree isMessage ifFalse:[
+ fullParseTree := nil
+ ].
+ "/ actually, the nil case cannot happen
+ fullParseTree notNil ifTrue:[
+ aParseTree := fullParseTree.
+ sel := aParseTree selector.
+ ].
+ ].
+
arg1Tree := aParseTree arg1.
(arg1Tree notNil and:[arg1Tree isConstant]) ifTrue:[
name := arg1Tree value asString.
+
+ "/ is it a private-class ?
+ ('*privateIn:' match:sel) ifTrue:[
+ ownerTree := aParseTree args last.
+ ownerName := ownerTree name asString.
+ name := ownerName , '::' , name
+ ].
changeClassNames at:changeNr put:name.
^ name
].
@@ -1139,7 +1167,7 @@
].
^ nil
- "Modified: 14.2.1997 / 19:37:18 / cg"
+ "Modified: 18.8.1997 / 16:43:14 / cg"
!
makeChangeAPatch:changeNr
@@ -2555,5 +2583,5 @@
!ChangesBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.115 1997-08-05 21:14:50 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/ChangesBrowser.st,v 1.116 1997-08-18 14:45:24 cg Exp $'
! !