equal
deleted
inserted
replaced
140 |
140 |
141 (pc between:startPC and:endPC - 1) ifTrue:[ |
141 (pc between:startPC and:endPC - 1) ifTrue:[ |
142 (catchType == 0) ifTrue:[^ handlerPC]. |
142 (catchType == 0) ifTrue:[^ handlerPC]. |
143 (catchType isNil) ifTrue:[^ handlerPC]. |
143 (catchType isNil) ifTrue:[^ handlerPC]. |
144 cls := aMethod javaClass. |
144 cls := aMethod javaClass. |
145 catchType := catchType javaClass. |
145 exception notNil ifTrue:[ |
|
146 catchType := catchType javaClass. |
146 |
147 |
147 (catchType isKindOf:JavaClass) ifFalse:[ |
148 (catchType isKindOf:JavaClass) ifFalse:[ |
148 self halt. |
149 self halt. |
|
150 ^ nil |
|
151 ]. |
|
152 (exception isKindOf:catchType) ifTrue:[ |
|
153 ^ handlerPC |
|
154 ]. |
149 ^ nil |
155 ^ nil |
150 ]. |
156 ] |
151 (exception isKindOf:catchType) ifTrue:[ |
|
152 ^ handlerPC |
|
153 ]. |
|
154 ^ nil |
|
155 ]. |
157 ]. |
156 ^ nil |
158 ^ nil |
157 |
159 |
158 "Modified: / 07-01-1998 / 15:30:14 / cg" |
160 "Modified: / 07-01-1998 / 15:30:14 / cg" |
159 "Modified: / 31-05-2011 / 09:53:46 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
161 "Modified: / 03-09-2012 / 18:50:42 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
160 ! |
162 ! |
161 |
163 |
162 startPC:start_pc endPC:end_pc handlerPC:handler_pc catchType:catch_type |
164 startPC:start_pc endPC:end_pc handlerPC:handler_pc catchType:catch_type |
163 startPC := start_pc. |
165 startPC := start_pc. |
164 endPC := end_pc. |
166 endPC := end_pc. |