--- a/Parser.st Fri Apr 24 11:05:13 1998 +0200
+++ b/Parser.st Sat Apr 25 16:04:42 1998 +0200
@@ -251,13 +251,15 @@
flushNameCache
"unconditional flush name caches"
- PrevClass notNil ifTrue:[
- PrevClass removeDependent:Parser
- ].
- PrevClass := nil.
- PrevInstVarNames := nil.
- PrevClassVarNames := nil.
- PrevClassInstVarNames := nil.
+ [
+ PrevClass notNil ifTrue:[
+ PrevClass removeDependent:Parser
+ ].
+ PrevClass := nil.
+ PrevInstVarNames := nil.
+ PrevClassVarNames := nil.
+ PrevClassInstVarNames := nil.
+ ] valueUninterruptably
"Parser flushNameCache"
!
@@ -3534,6 +3536,8 @@
]
].
+ var == #Error ifTrue:[^ #Error].
+
self markVariable:var from:pos to:pos+var name size - 1.
((tokenType == $_) or:[tokenType == #':=']) ifFalse:[
@@ -4338,10 +4342,21 @@
classesClassInstVarNames
"caching allInstVarNames for next compilation saves time ..."
- PrevClassInstVarNames isNil ifTrue:[
- PrevClassInstVarNames := classToCompileFor class allInstVarNames
- ].
- ^ PrevClassInstVarNames
+ |names|
+
+ [
+ (PrevClassInstVarNames isNil or:[PrevClass ~~ classToCompileFor]) ifTrue:[
+ PrevClass notNil ifTrue:[
+ PrevClass removeDependent:Parser
+ ].
+ PrevClass := classToCompileFor.
+
+ PrevClassInstVarNames := classToCompileFor class allInstVarNames.
+ PrevClass addDependent:Parser.
+ ].
+ names := PrevClassInstVarNames.
+ ] valueUninterruptably.
+ ^ names
"Created: 14.10.1996 / 18:03:35 / cg"
!
@@ -4349,19 +4364,26 @@
classesClassVarNames
"caching allClassVarNames for next compilation saves time ..."
- |aClass|
-
- PrevClassVarNames isNil ifTrue:[
- aClass := classToCompileFor.
- aClass isMeta ifTrue:[
- aClass := aClass soleInstance.
- aClass isNil ifTrue:[
- aClass := classToCompileFor
- ]
- ].
- PrevClassVarNames := aClass allClassVarNames
- ].
- ^ PrevClassVarNames
+ |aClass names|
+
+ [
+ (PrevClassVarNames isNil or:[PrevClass ~~ classToCompileFor]) ifTrue:[
+ PrevClass notNil ifTrue:[
+ PrevClass removeDependent:Parser
+ ].
+ aClass := PrevClass := classToCompileFor.
+ aClass isMeta ifTrue:[
+ aClass := aClass soleInstance.
+ aClass isNil ifTrue:[
+ aClass := classToCompileFor
+ ]
+ ].
+ PrevClassVarNames := aClass allClassVarNames.
+ PrevClass addDependent:Parser.
+ ].
+ names := PrevClassVarNames.
+ ] valueUninterruptably.
+ ^ names
"Modified: 17.6.1996 / 17:15:53 / stefan"
"Modified: 21.6.1996 / 15:21:17 / cg"
@@ -4371,18 +4393,23 @@
classesInstVarNames
"caching allInstVarNames for next compilation saves time ..."
- (PrevInstVarNames isNil or:[PrevClass ~~ classToCompileFor]) ifTrue:[
- PrevClass notNil ifTrue:[
- PrevClass removeDependent:Parser
- ].
- PrevClass := classToCompileFor.
- PrevInstVarNames := classToCompileFor allInstVarNames.
- PrevClassInstVarNames := nil.
- PrevClassVarNames := nil.
- PrevClass addDependent:Parser
- ].
-
- ^ PrevInstVarNames
+ |names|
+
+ [
+ (PrevInstVarNames isNil or:[PrevClass ~~ classToCompileFor]) ifTrue:[
+ PrevClass notNil ifTrue:[
+ PrevClass removeDependent:Parser
+ ].
+ PrevClass := classToCompileFor.
+ PrevInstVarNames := classToCompileFor allInstVarNames.
+ PrevClassInstVarNames := nil.
+ PrevClassVarNames := nil.
+ PrevClass addDependent:Parser
+ ].
+ names := PrevInstVarNames
+ ] valueUninterruptably.
+
+ ^ names
"Created: 14.10.1996 / 18:00:26 / cg"
!
@@ -4613,6 +4640,6 @@
!Parser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.169 1998-04-24 08:31:44 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libcomp/Parser.st,v 1.170 1998-04-25 14:04:42 cg Exp $'
! !
Parser initialize!