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]! |
Free forum by Nabble | Edit this page |