},
loopcontrol_target: function(label) {
var stack = this.stack;
- if (label) {
- for (var i = stack.length; --i >= 0;) {
- var x = stack[i];
- if (x instanceof AST_LabeledStatement && x.label.name == label.name) {
- return x.body;
- }
- }
- } else {
- for (var i = stack.length; --i >= 0;) {
- var x = stack[i];
- if (x instanceof AST_Switch
- || x instanceof AST_For
- || x instanceof AST_ForIn
- || x instanceof AST_DWLoop) return x;
+ if (label) for (var i = stack.length; --i >= 0;) {
+ var x = stack[i];
+ if (x instanceof AST_LabeledStatement && x.label.name == label.name) {
+ return x.body;
}
+ } else for (var i = stack.length; --i >= 0;) {
+ var x = stack[i];
+ if (x instanceof AST_Switch || x instanceof AST_IterationStatement)
+ return x;
}
}
};