Nicolas Cellier uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-nice.256.mcz
==================== Summary ====================
Name: Compiler-nice.256
Author: nice
Time: 25 February 2013, 10:49:12.747 pm
UUID: f3619127-599b-4b0e-864b-9508047d84cf
Ancestors: Compiler-nice.255
Continue cleaning of Compiler by removing now unused instance variables.
Also remove CompilationCue>>sourceStream which is unused.
=============== Diff against Compiler-nice.255 ===============
Item was removed:
- ----- Method: CompilationCue>>sourceStream (in category 'accessing') -----
- sourceStream
- ^ source readStream!
Item was changed:
Object subclass: #Compiler
+ instanceVariableNames: 'sourceStream parser cue'
- instanceVariableNames: 'sourceStream requestor class category context parser cue'
classVariableNames: ''
poolDictionaries: ''
category: 'Compiler-Kernel'!
!Compiler commentStamp: 'cwp 12/26/2012 23:17' prior: 0!
The compiler accepts Smalltalk source code and compiles it with respect to a given class. The user of the compiler supplies a context so that temporary variables are accessible during compilation. If there is an error, a requestor (usually a kind of StringHolderController) is sent the message notify:at:in: so that the error message can be displayed. If there is no error, then the result of compilation is a MethodNode, which is the root of a parse tree whose nodes are kinds of ParseNodes. The parse tree can be sent messages to (1) generate code for a CompiledMethod (this is done for compiling methods or evaluating expressions); (2) pretty-print the code (for formatting); or (3) produce a map from object code back to source code (used by debugger program-counter selection). See also Parser, Encoder, ParseNode.!
Item was changed:
----- Method: Compiler>>setCue: (in category 'private') -----
setCue: aCue
+ cue := aCue!
- cue := aCue.
-
- "Set legacy instance variables for methods that don't use cue yet."
- requestor := cue requestor.
- class := cue getClass.
- category := cue category.
- context := cue context.!
Nicolas Cellier uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-nice.256.mcz
==================== Summary ====================
Name: Compiler-nice.256
Author: nice
Time: 25 February 2013, 10:49:12.747 pm
UUID: f3619127-599b-4b0e-864b-9508047d84cf
Ancestors: Compiler-nice.255
Continue cleaning of Compiler by removing now unused instance variables.
Also remove CompilationCue>>sourceStream which is unused.
=============== Diff against Compiler-nice.255 ===============
Item was removed:
- ----- Method: CompilationCue>>sourceStream (in category 'accessing') -----
- sourceStream
- ^ source readStream!
Item was changed:
Object subclass: #Compiler
+ instanceVariableNames: 'sourceStream parser cue'
- instanceVariableNames: 'sourceStream requestor class category context parser cue'
classVariableNames: ''
poolDictionaries: ''
category: 'Compiler-Kernel'!
!Compiler commentStamp: 'cwp 12/26/2012 23:17' prior: 0!
The compiler accepts Smalltalk source code and compiles it with respect to a given class. The user of the compiler supplies a context so that temporary variables are accessible during compilation. If there is an error, a requestor (usually a kind of StringHolderController) is sent the message notify:at:in: so that the error message can be displayed. If there is no error, then the result of compilation is a MethodNode, which is the root of a parse tree whose nodes are kinds of ParseNodes. The parse tree can be sent messages to (1) generate code for a CompiledMethod (this is done for compiling methods or evaluating expressions); (2) pretty-print the code (for formatting); or (3) produce a map from object code back to source code (used by debugger program-counter selection). See also Parser, Encoder, ParseNode.!
Item was changed:
----- Method: Compiler>>setCue: (in category 'private') -----
setCue: aCue
+ cue := aCue!
- cue := aCue.
-
- "Set legacy instance variables for methods that don't use cue yet."
- requestor := cue requestor.
- class := cue getClass.
- category := cue category.
- context := cue context.!
Frank Shearar uploaded a new version of SMLoader to project The Trunk:
http://source.squeak.org/trunk/SMLoader-fbs.78.mcz
==================== Summary ====================
Name: SMLoader-fbs.78
Author: fbs
Time: 25 February 2013, 9:27:11.959 pm
UUID: cd8023fe-60a1-4dd9-a7dd-60e8ce7f4ac5
Ancestors: SMLoader-cmm.77
When installing WebClient, use the most recent version.
=============== Diff against SMLoader-cmm.77 ===============
Item was changed:
SystemOrganization addCategory: #SMLoader!
- SystemOrganization addCategory: #'SMLoader-Models'!
Item was changed:
----- Method: SMClient class>>installWebClient (in category 'private') -----
installWebClient
+ Installer ss
+ project: 'WebClient';
+ install: 'WebClient-Core-ar.92.mcz'!
- (Installer repository: 'http://www.squeaksource.com/WebClient')
- install: 'WebClient-Core-ar.83'!
Frank Shearar uploaded a new version of SMLoader to project The Trunk:
http://source.squeak.org/trunk/SMLoader-fbs.78.mcz
==================== Summary ====================
Name: SMLoader-fbs.78
Author: fbs
Time: 25 February 2013, 9:27:11.959 pm
UUID: cd8023fe-60a1-4dd9-a7dd-60e8ce7f4ac5
Ancestors: SMLoader-cmm.77
When installing WebClient, use the most recent version.
=============== Diff against SMLoader-cmm.77 ===============
Item was changed:
SystemOrganization addCategory: #SMLoader!
- SystemOrganization addCategory: #'SMLoader-Models'!
Item was changed:
----- Method: SMClient class>>installWebClient (in category 'private') -----
installWebClient
+ Installer ss
+ project: 'WebClient';
+ install: 'WebClient-Core-ar.92.mcz'!
- (Installer repository: 'http://www.squeaksource.com/WebClient')
- install: 'WebClient-Core-ar.83'!
Frank Shearar uploaded a new version of SMLoader to project The Trunk:
http://source.squeak.org/trunk/SMLoader-fbs.78.mcz
==================== Summary ====================
Name: SMLoader-fbs.78
Author: fbs
Time: 25 February 2013, 9:27:11.959 pm
UUID: cd8023fe-60a1-4dd9-a7dd-60e8ce7f4ac5
Ancestors: SMLoader-cmm.77
When installing WebClient, use the most recent version.
=============== Diff against SMLoader-cmm.77 ===============
Item was changed:
SystemOrganization addCategory: #SMLoader!
- SystemOrganization addCategory: #'SMLoader-Models'!
Item was changed:
----- Method: SMClient class>>installWebClient (in category 'private') -----
installWebClient
+ Installer ss
+ project: 'WebClient';
+ install: 'WebClient-Core-ar.92.mcz'!
- (Installer repository: 'http://www.squeaksource.com/WebClient')
- install: 'WebClient-Core-ar.83'!
Nicolas Cellier uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-nice.255.mcz
==================== Summary ====================
Name: Compiler-nice.255
Author: nice
Time: 24 February 2013, 11:55:43.511 pm
UUID: f1c697bd-c388-4d60-94bc-56a1dc731591
Ancestors: Compiler-nice.254
Remove Parser ivars 'requestor' and 'category' again now that MC is patched.
=============== Diff against Compiler-nice.254 ===============
Item was changed:
Scanner subclass: #Parser
+ instanceVariableNames: 'here hereType hereMark hereEnd prevMark prevEnd encoder parseNode failBlock requestorOffset tempsMark doitFlag properties queriedUnusedTemporaries cue'
- instanceVariableNames: 'here hereType hereMark hereEnd prevMark prevEnd encoder requestor parseNode failBlock requestorOffset tempsMark doitFlag properties category queriedUnusedTemporaries cue'
classVariableNames: ''
poolDictionaries: ''
category: 'Compiler-Kernel'!
!Parser commentStamp: 'cwp 12/26/2012 23:34' prior: 0!
I parse Smalltalk syntax and create a MethodNode that is the root of the parse tree. I look one token ahead.!
Nicolas Cellier uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-nice.255.mcz
==================== Summary ====================
Name: Compiler-nice.255
Author: nice
Time: 24 February 2013, 11:55:43.511 pm
UUID: f1c697bd-c388-4d60-94bc-56a1dc731591
Ancestors: Compiler-nice.254
Remove Parser ivars 'requestor' and 'category' again now that MC is patched.
=============== Diff against Compiler-nice.254 ===============
Item was changed:
Scanner subclass: #Parser
+ instanceVariableNames: 'here hereType hereMark hereEnd prevMark prevEnd encoder parseNode failBlock requestorOffset tempsMark doitFlag properties queriedUnusedTemporaries cue'
- instanceVariableNames: 'here hereType hereMark hereEnd prevMark prevEnd encoder requestor parseNode failBlock requestorOffset tempsMark doitFlag properties category queriedUnusedTemporaries cue'
classVariableNames: ''
poolDictionaries: ''
category: 'Compiler-Kernel'!
!Parser commentStamp: 'cwp 12/26/2012 23:34' prior: 0!
I parse Smalltalk syntax and create a MethodNode that is the root of the parse tree. I look one token ahead.!
Nicolas Cellier uploaded a new version of Compiler to project The Trunk:
http://source.squeak.org/trunk/Compiler-nice.255.mcz
==================== Summary ====================
Name: Compiler-nice.255
Author: nice
Time: 24 February 2013, 11:55:43.511 pm
UUID: f1c697bd-c388-4d60-94bc-56a1dc731591
Ancestors: Compiler-nice.254
Remove Parser ivars 'requestor' and 'category' again now that MC is patched.
=============== Diff against Compiler-nice.254 ===============
Item was changed:
Scanner subclass: #Parser
+ instanceVariableNames: 'here hereType hereMark hereEnd prevMark prevEnd encoder parseNode failBlock requestorOffset tempsMark doitFlag properties queriedUnusedTemporaries cue'
- instanceVariableNames: 'here hereType hereMark hereEnd prevMark prevEnd encoder requestor parseNode failBlock requestorOffset tempsMark doitFlag properties category queriedUnusedTemporaries cue'
classVariableNames: ''
poolDictionaries: ''
category: 'Compiler-Kernel'!
!Parser commentStamp: 'cwp 12/26/2012 23:34' prior: 0!
I parse Smalltalk syntax and create a MethodNode that is the root of the parse tree. I look one token ahead.!
Nicolas Cellier uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-nice.533.mcz
==================== Summary ====================
Name: Monticello-nice.533
Author: nice
Time: 24 February 2013, 11:19:26.177 pm
UUID: 082a31a2-8e19-4d30-9661-6fa84dfc436e
Ancestors: Monticello-fbs.532
Correct this bug: it was impossible to remove an instance variable from Compiler/Parser and probably a few other classes, because Compiler was invoked during its own modification.
The fix will work as long as those class won't be Trait's composed...
=============== Diff against Monticello-fbs.532 ===============
Item was changed:
----- Method: MCClassDefinition>>createClass (in category 'installing') -----
createClass
| superClass class composition |
superClass := superclassName == #nil ifFalse:
[Smalltalk at: superclassName].
[class := (ClassBuilder new)
name: name
inEnvironment: superClass environment
subclassOf: superClass
type: type
instanceVariableNames: self instanceVariablesString
classVariableNames: self classVariablesString
poolDictionaries: self sharedPoolsString
category: category.
] on: Warning, DuplicateVariableError do:[:ex| ex resume].
"The following is written to support traits unloading"
+ composition := self traitComposition ifNil: [Array new] ifNotNil: [:traitComposition | Compiler evaluate: traitComposition].
- composition := Compiler evaluate: (self traitComposition ifNil:['{}']).
(composition isCollection and:[composition isEmpty and:[class traitComposition isEmpty]]) ifFalse:[
class setTraitComposition: composition asTraitComposition.
].
+ composition := self classTraitComposition ifNil: [Array new] ifNotNil: [:traitComposition | Compiler evaluate: traitComposition].
- composition := Compiler evaluate: (self classTraitComposition ifNil:['{}']).
(composition isCollection and:[composition isEmpty and:[class class traitComposition isEmpty]]) ifFalse:[
class class setTraitComposition: composition asTraitComposition.
].
^class!
Nicolas Cellier uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-nice.533.mcz
==================== Summary ====================
Name: Monticello-nice.533
Author: nice
Time: 24 February 2013, 11:19:26.177 pm
UUID: 082a31a2-8e19-4d30-9661-6fa84dfc436e
Ancestors: Monticello-fbs.532
Correct this bug: it was impossible to remove an instance variable from Compiler/Parser and probably a few other classes, because Compiler was invoked during its own modification.
The fix will work as long as those class won't be Trait's composed...
=============== Diff against Monticello-fbs.532 ===============
Item was changed:
----- Method: MCClassDefinition>>createClass (in category 'installing') -----
createClass
| superClass class composition |
superClass := superclassName == #nil ifFalse:
[Smalltalk at: superclassName].
[class := (ClassBuilder new)
name: name
inEnvironment: superClass environment
subclassOf: superClass
type: type
instanceVariableNames: self instanceVariablesString
classVariableNames: self classVariablesString
poolDictionaries: self sharedPoolsString
category: category.
] on: Warning, DuplicateVariableError do:[:ex| ex resume].
"The following is written to support traits unloading"
+ composition := self traitComposition ifNil: [Array new] ifNotNil: [:traitComposition | Compiler evaluate: traitComposition].
- composition := Compiler evaluate: (self traitComposition ifNil:['{}']).
(composition isCollection and:[composition isEmpty and:[class traitComposition isEmpty]]) ifFalse:[
class setTraitComposition: composition asTraitComposition.
].
+ composition := self classTraitComposition ifNil: [Array new] ifNotNil: [:traitComposition | Compiler evaluate: traitComposition].
- composition := Compiler evaluate: (self classTraitComposition ifNil:['{}']).
(composition isCollection and:[composition isEmpty and:[class class traitComposition isEmpty]]) ifFalse:[
class class setTraitComposition: composition asTraitComposition.
].
^class!