Lines 261-267
Link Here
|
261 |
this.action.generateCode(scope, codeStream); |
261 |
this.action.generateCode(scope, codeStream); |
262 |
|
262 |
|
263 |
// continuation point |
263 |
// continuation point |
264 |
int continuationPC = codeStream.position; |
|
|
265 |
if (this.continueLabel != null) { |
264 |
if (this.continueLabel != null) { |
266 |
this.continueLabel.place(); |
265 |
this.continueLabel.place(); |
267 |
// generate the increments for next iteration |
266 |
// generate the increments for next iteration |
Lines 276-281
Link Here
|
276 |
} |
275 |
} |
277 |
// generate the condition |
276 |
// generate the condition |
278 |
conditionLabel.place(); |
277 |
conditionLabel.place(); |
|
|
278 |
int conditionPC = codeStream.position; |
279 |
|
279 |
if (this.postCollectionInitStateIndex != -1) { |
280 |
if (this.postCollectionInitStateIndex != -1) { |
280 |
codeStream.removeNotDefinitelyAssignedVariables(currentScope, postCollectionInitStateIndex); |
281 |
codeStream.removeNotDefinitelyAssignedVariables(currentScope, postCollectionInitStateIndex); |
281 |
} |
282 |
} |
Lines 292-298
Link Here
|
292 |
codeStream.ifne(actionLabel); |
293 |
codeStream.ifne(actionLabel); |
293 |
break; |
294 |
break; |
294 |
} |
295 |
} |
295 |
codeStream.recordPositionsFrom(continuationPC, this.elementVariable.sourceStart); |
296 |
codeStream.recordPositionsFrom(conditionPC, this.elementVariable.sourceStart); |
296 |
|
297 |
|
297 |
breakLabel.place(); |
298 |
breakLabel.place(); |
298 |
codeStream.exitUserScope(scope); |
299 |
codeStream.exitUserScope(scope); |