[Pkg] The Trunk: Kernel-mt.1118.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Nov 8 16:56:05 UTC 2017


Marcel Taeumel uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-mt.1118.mcz

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

Name: Kernel-mt.1118
Author: mt
Time: 8 November 2017, 5:55:48.665741 pm
UUID: 0c6a6070-083b-b247-b9f6-d29d42064efa
Ancestors: Kernel-eem.1117

Adds support for having custom compiler classes for class-side methods.

=============== Diff against Kernel-eem.1117 ===============

Item was added:
+ ----- Method: Metaclass>>compilerClass (in category 'compiling') -----
+ compilerClass
+ 	"BE CAREFUL!! If you provide your own class to treat class-side (resp. meta) methods, you MUST account for the #meta*Class selector to use the default implementation in that case. That is, the methods behind #meta*Class MUST always get the default Smalltalk treatment."
+ 
+ 	^ (self theNonMetaClass respondsTo: #metaCompilerClass)
+ 		ifTrue: [self theNonMetaClass metaCompilerClass]
+ 		ifFalse: [super compilerClass]!

Item was added:
+ ----- Method: Metaclass>>decompilerClass (in category 'compiling') -----
+ decompilerClass
+ 	"BE CAREFUL!! If you provide your own class to treat class-side (resp. meta) methods, you MUST account for the #meta*Class selector to use the default implementation in that case. That is, the methods behind #meta*Class MUST always get the default Smalltalk treatment."
+ 
+ 	^ (self theNonMetaClass respondsTo: #metaDecompilerClass)
+ 		ifTrue: [self theNonMetaClass metaDecompilerClass]
+ 		ifFalse: [super decompilerClass]!

Item was added:
+ ----- Method: Metaclass>>evaluatorClass (in category 'compiling') -----
+ evaluatorClass
+ 	"BE CAREFUL!! If you provide your own class to treat class-side (resp. meta) methods, you MUST account for the #meta*Class selector to use the default implementation in that case. That is, the methods behind #meta*Class MUST always get the default Smalltalk treatment."
+ 
+ 	^ (self theNonMetaClass respondsTo: #metaEvaluatorClass)
+ 		ifTrue: [self theNonMetaClass metaEvaluatorClass]
+ 		ifFalse: [super evaluatorClass]!

Item was added:
+ ----- Method: Metaclass>>formatterClass (in category 'printing') -----
+ formatterClass
+ 	"BE CAREFUL!! If you provide your own class to treat class-side (resp. meta) methods, you MUST account for the #meta*Class selector to use the default implementation in that case. That is, the methods behind #meta*Class MUST always get the default Smalltalk treatment."
+ 
+ 	^ (self theNonMetaClass respondsTo: #metaFormatterClass)
+ 		ifTrue: [self theNonMetaClass metaFormatterClass]
+ 		ifFalse: [super formatterClass]!

Item was added:
+ ----- Method: Metaclass>>parserClass (in category 'compiling') -----
+ parserClass
+ 	"BE CAREFUL!! If you provide your own class to treat class-side (resp. meta) methods, you MUST account for the #meta*Class selector to use the default implementation in that case. That is, the methods behind #meta*Class MUST always get the default Smalltalk treatment."
+ 
+ 	^ (self theNonMetaClass respondsTo: #metaParserClass)
+ 		ifTrue: [self theNonMetaClass metaParserClass]
+ 		ifFalse: [super parserClass]!

Item was added:
+ ----- Method: Metaclass>>prettyPrinterClass (in category 'printing') -----
+ prettyPrinterClass
+ 	"BE CAREFUL!! If you provide your own class to treat class-side (resp. meta) methods, you MUST account for the #meta*Class selector to use the default implementation in that case. That is, the methods behind #meta*Class MUST always get the default Smalltalk treatment."
+ 
+ 	^ (self theNonMetaClass respondsTo: #metaPrettyPrinterClass)
+ 		ifTrue: [self theNonMetaClass metaPrettyPrinterClass]
+ 		ifFalse: [super prettyPrinterClass]!



More information about the Packages mailing list