equal
deleted
inserted
replaced
149 limit optimizations to those that will never change |
149 limit optimizations to those that will never change |
150 (or, if you change them, it will crash badly anyway ...) |
150 (or, if you change them, it will crash badly anyway ...) |
151 " |
151 " |
152 recVal respondsToArithmetic ifTrue:[ |
152 recVal respondsToArithmetic ifTrue:[ |
153 (#( negated abs asPoint degreesToRadians radiansToDegrees |
153 (#( negated abs asPoint degreesToRadians radiansToDegrees |
154 exp ln log sqrt reciprocal |
154 reciprocal) includes:selector) |
155 arcCos arcSin arcTan sin cos tan) includes:selector) |
|
156 ifTrue:[ |
155 ifTrue:[ |
157 canFold := true |
156 canFold := true |
158 ] |
157 ] ifFalse:[ |
|
158 (#(exp ln log sqrt |
|
159 arcCos arcSin arcTan sin cos tan) includes:selector) |
|
160 ifTrue:[ |
|
161 (recVal isKindOf:LargeInteger) ifFalse:[ |
|
162 canFold := true |
|
163 ] |
|
164 ] |
|
165 ]. |
159 ]. |
166 ]. |
160 recVal isCharacter ifTrue:[ |
167 recVal isCharacter ifTrue:[ |
161 (#( asciiValue asInteger digitValue asString) includes:selector) |
168 (#( asciiValue asInteger digitValue asString) includes:selector) |
162 ifTrue:[ |
169 ifTrue:[ |
163 canFold := true |
170 canFold := true |
204 ]. |
211 ]. |
205 |
212 |
206 ^ (self basicNew) receiver:r selector:selectorString args:nil lineno:0 |
213 ^ (self basicNew) receiver:r selector:selectorString args:nil lineno:0 |
207 |
214 |
208 "Modified: / 03-07-2017 / 13:56:31 / cg" |
215 "Modified: / 03-07-2017 / 13:56:31 / cg" |
|
216 "Modified: / 25-05-2018 / 16:05:52 / Claus Gittinger" |
209 ! ! |
217 ! ! |
210 |
218 |
211 !UnaryNode methodsFor:'accessing'! |
219 !UnaryNode methodsFor:'accessing'! |
212 |
220 |
213 selectorPartPositions |
221 selectorPartPositions |