Eliot Miranda uploaded a new version of 60Deprecated to project The Trunk:
http://source.squeak.org/trunk/60Deprecated-eem.11.mcz ==================== Summary ==================== Name: 60Deprecated-eem.11 Author: eem Time: 14 March 2018, 1:05:01.238687 pm UUID: 7e7e2a88-f600-48af-80f7-810bd65a2025 Ancestors: 60Deprecated-mt.10 Deprecate the old literal-in-bytecode scanning machinery given the new multiple bytecode set aware literal scanning machinery. =============== Diff against 60Deprecated-mt.10 =============== Item was added: + ----- Method: Behavior>>thoroughWhichSelectorsReferTo:special:byte: (in category '*60Deprecated-testing method dictionary') ----- + thoroughWhichSelectorsReferTo: literal special: specialFlag byte: specialByte + "Answer a set of selectors whose methods access the argument as a + literal. Dives into the compact literal notation, making it slow but + thorough " + + self deprecated: 'Use whichSelectorsReferTo:thorough: instead'. + ^self whichSelectorsReferTo: literal special: specialFlag byte: specialByte thorough: true! Item was added: + ----- Method: Behavior>>whichSelectorsReferTo:special:byte: (in category '*60Deprecated-testing method dictionary') ----- + whichSelectorsReferTo: literal special: specialFlag byte: specialByte + "Answer a set of selectors whose methods access the argument as a literal." + + self deprecated: 'Use whichSelectorsReferTo: instead'. + ^self whichSelectorsReferTo: literal special: specialFlag byte: specialByte thorough: false! Item was added: + ----- Method: Behavior>>whichSelectorsReferTo:special:byte:thorough: (in category '*60Deprecated-testing method dictionary') ----- + whichSelectorsReferTo: literal special: specialFlag byte: specialByte thorough: thorough + "Answer a set of selectors whose methods access the argument as a literal. If thorough is true, then dives into the compact literal notation, making it slow but thorough " + + | who | + self deprecated: 'Use whichSelectorsReferTo:thorough: instead'. + who := IdentitySet new. + self selectorsAndMethodsDo: [ :selector :method | + (((thorough + ifFalse: [ method hasLiteral: literal ] + ifTrue: [ method hasLiteralThorough: literal ]) or: [ + specialFlag and: [ method scanFor: specialByte ] ]) and: [ + literal isVariableBinding not or: [ + "N.B. (method indexOfLiteral: literal) < method numLiterals copes with l;ooking for + Float bindingOf: #NaN, since (Float bindingOf: #NaN) ~= (Float bindingOf: #NaN)." + (method indexOfLiteral: literal) ~= 0] ]) ifTrue: [ + who add: selector ] ]. + ^who! Item was added: + ----- Method: SmalltalkImage>>hasSpecialSelector:ifTrueSetByte: (in category '*60Deprecated-special objects') ----- + hasSpecialSelector: aLiteral ifTrueSetByte: aBlock + + self deprecated: 'Use BytecodeEncoder class>>scanBlockOrNilForLiteral:'. + 1 to: self specialSelectorSize do: + [:index | + (self specialSelectorAt: index) == aLiteral + ifTrue: [aBlock value: index + 16rAF. ^true]]. + ^false! |
Free forum by Nabble | Edit this page |