--- a/Parser.st Wed Dec 19 16:36:13 2007 +0100
+++ b/Parser.st Mon Jan 07 14:50:13 2008 +0100
@@ -6402,19 +6402,13 @@
].
parseForCode ifFalse:[
- modifiedInstVars isNil ifTrue:[
- modifiedInstVars := Set new
- ].
- modifiedInstVars add:varName
+ self rememberInstVarModified:varName
]
] ifFalse:[ (t == #ClassVariable) ifTrue:[
varName := var name.
varName := varName copyFrom:((varName indexOf:$:) + 1).
parseForCode ifFalse:[
- modifiedClassVars isNil ifTrue:[
- modifiedClassVars := Set new
- ].
- modifiedClassVars add:varName
+ self rememberClassVarModified:varName
]
] ifFalse:[ (t == #GlobalVariable) ifTrue:[
(cls := Smalltalk classNamed:var name) notNil ifTrue:[
@@ -6423,10 +6417,7 @@
]
].
parseForCode ifFalse:[
- modifiedGlobals isNil ifTrue:[
- modifiedGlobals := Set new
- ].
- modifiedGlobals add:var name
+ self rememberGlobalModified:var name
]
] ifFalse:[
(t == #PrivateClass) ifTrue:[
@@ -8254,6 +8245,14 @@
"Modified: 19.6.1997 / 17:54:38 / cg"
!
+readGlobals
+ "return a collection with global varNames read by method (valid after parsing)"
+
+ ^ readGlobals ? #()
+
+ "Modified: 19.6.1997 / 17:54:38 / cg"
+!
+
readInstVars
"return a collection with instvariablenames read by method (valid after parsing)"
@@ -8420,6 +8419,14 @@
!Parser methodsFor:'statistic'!
+rememberClassVarModified:name
+ modifiedClassVars isNil ifTrue:[
+ modifiedClassVars := Set new
+ ].
+ modifiedClassVars add:name.
+ self rememberClassVarUsed:name
+!
+
rememberClassVarRead:name
readClassVars isNil ifTrue:[
readClassVars := Set new
@@ -8436,6 +8443,22 @@
self rememberVariableUsed:name
!
+rememberGlobalModified:name
+ modifiedGlobals isNil ifTrue:[
+ modifiedGlobals := Set new
+ ].
+ modifiedGlobals add:name.
+ self rememberGlobalUsed:name.
+!
+
+rememberGlobalRead:name
+ readGlobals isNil ifTrue:[
+ readGlobals := Set new
+ ].
+ readGlobals add:name.
+ self rememberGlobalUsed:name
+!
+
rememberGlobalUsed:name
usedGlobals isNil ifTrue:[
usedGlobals := Set new
@@ -8444,6 +8467,14 @@
self rememberVariableUsed:name
!
+rememberInstVarModified:name
+ modifiedInstVars isNil ifTrue:[
+ modifiedInstVars := Set new
+ ].
+ modifiedInstVars add:name.
+ self rememberInstVarUsed:name.
+!
+
rememberInstVarRead:name
readInstVars isNil ifTrue:[
readInstVars := Set new
@@ -9082,7 +9113,7 @@
!Parser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.556 2007-12-19 15:36:13 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.557 2008-01-07 13:50:13 cg Exp $'
! !
Parser initialize!