116 |
115 |
117 This tests checks for this bug. |
116 This tests checks for this bug. |
118 " |
117 " |
119 |
118 |
120 |val| |
119 |val| |
121 |
120 [ |
122 Class withoutUpdatingChangesDo:[ |
121 Class withoutUpdatingChangesDo:[ |
123 "/ Check bytecode version first... |
122 "/ Check bytecode version first... |
124 self class class compile:'returnMyName |
123 self class class compile:'returnMyName |
125 ^ name |
124 ^ name |
126 '. |
125 '. |
127 val := self class returnMyName. |
126 val := self class returnMyName. |
128 self assert:(val == self class name). |
127 self assert:(val == self class name). |
129 self class removeSelector:#returnMyName. |
128 self class class removeSelector:#returnMyName. |
130 |
129 |
131 "/ Now, compile the same source using stc and check... |
130 "/ Now, compile the same source using stc and check... |
132 (STCCompilerInterface new) |
131 (STCCompilerInterface new) |
133 compileToMachineCode:'returnMyName |
132 compileToMachineCode:'returnMyName |
134 ^ name |
133 ^ name |
135 ' |
134 ' |
136 forClass:self class class |
135 forClass:self class class |
137 selector:#'returnMyName' |
136 selector:#'returnMyName' |
138 inCategory:'tests' |
137 inCategory:'tests' |
139 notifying:nil |
138 notifying:nil |
140 install:true |
139 install:true |
141 skipIfSame:false |
140 skipIfSame:false |
142 silent:true. |
141 silent:true. |
143 |
142 |
144 val := self class returnMyName. |
143 val := self class returnMyName. |
145 self assert:(val == self class name). |
144 self assert:(val == self class name). |
146 self class removeSelector:#returnMyName. |
145 self class class removeSelector:#returnMyName. |
147 ]. |
146 ]. |
|
147 ] ensure:[ |
|
148 self class class removeSelector:#returnMyName. |
|
149 ] |
148 |
150 |
149 " |
151 " |
150 self run:#test02_compilation |
152 self run:#test02_compilation |
151 self new test02_compilation |
153 self new test02_compilation |
152 " |
154 " |