The Inbox: Kernel-jr.1061.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: Kernel-jr.1061.mcz

commits-2
A new version of Kernel was added to project The Inbox:
http://source.squeak.org/inbox/Kernel-jr.1061.mcz

==================== Summary ====================

Name: Kernel-jr.1061
Author: jr
Time: 28 February 2017, 12:28:50.653081 am
UUID: acd952fb-8e90-e940-8d2e-6c1a9e3a7d3f
Ancestors: Kernel-ul.1060

increase environment awareness for behaviors

=============== Diff against Kernel-ul.1060 ===============

Item was added:
+ ----- Method: Behavior>>compile:environment:notifying:trailer:ifFail: (in category 'compiling') -----
+ compile: code environment: anEnvironment notifying: requestor trailer: bytes ifFail: failBlock
+ "Compile code in another Environment without logging the source in the changes file"
+
+ | methodNode |
+ methodNode  := self newCompiler
+ compile: code
+ in: self
+ environment: anEnvironment
+ notifying: requestor
+ ifFail: failBlock.
+ ^ CompiledMethodWithNode generateMethodFromNode: methodNode trailer: bytes.!

Item was changed:
  ----- Method: Class>>category: (in category 'organization') -----
  category: aString
  "Categorize the receiver under the system category, aString, removing it from
  any previous categorization."
 
  | oldCategory |
  oldCategory := category.
  aString isString
  ifTrue: [
  category := aString asSymbol.
+ self environment organization classify: self name under: category ]
- SystemOrganization classify: self name under: category ]
  ifFalse: [self errorCategoryName]!

Item was changed:
  ----- Method: ClassDescription>>definition (in category 'fileIn/Out') -----
  definition
  "Answer a String that defines the receiver."
 
  | aStream path |
  aStream := WriteStream on: (String new: 300).
  superclass == nil
  ifTrue: [aStream nextPutAll: 'ProtoObject']
  ifFalse: [path := ''.
  self environment scopeFor: superclass name from: nil
  envtAndPathIfFound: [:envt :remotePath | path := remotePath].
  aStream nextPutAll: path , superclass name].
  aStream nextPutAll: self kindOfSubclass;
  store: self name.
  (self hasTraitComposition and: [self traitComposition notEmpty]) ifTrue: [
  aStream cr; tab; nextPutAll: 'uses: ';
  nextPutAll: self traitCompositionString].
  aStream cr; tab; nextPutAll: 'instanceVariableNames: ';
  store: self instanceVariablesString.
  aStream cr; tab; nextPutAll: 'classVariableNames: ';
  store: self classVariablesString.
  aStream cr; tab; nextPutAll: 'poolDictionaries: ';
  store: self sharedPoolsString.
  aStream cr; tab; nextPutAll: 'category: ';
+ store: (self environment organization categoryOfElement: self name) asString.
- store: (SystemOrganization categoryOfElement: self name) asString.
 
  superclass ifNil: [
  aStream nextPutAll: '.'; cr.
  aStream nextPutAll: self name.
  aStream space; nextPutAll: 'superclass: nil'. ].
 
  ^ aStream contents!

Item was changed:
  ----- Method: Object class>>readFrom: (in category 'instance creation') -----
  readFrom: textStringOrStream
  "Create an object based on the contents of textStringOrStream."
 
  | object |
  (Compiler couldEvaluate: textStringOrStream)
  ifFalse: [^ self error: 'expected String, Stream, or Text'].
+ object := self environment beCurrentDuring: [Compiler evaluate: textStringOrStream environment: self environment].
- object := Compiler evaluate: textStringOrStream.
  (object isKindOf: self) ifFalse: [self error: self name, ' expected'].
  ^object!