aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMihai Bazon <mihai@bazon.net>2013-09-06 09:52:56 +0300
committerMihai Bazon <mihai@bazon.net>2013-09-06 09:52:56 +0300
commitcb9d16fbe4b9af135209e7f01cf1d40bf388c3d7 (patch)
treea9c4a00dc9be716dddffeaf8721c3bef4024252c
parent5d8da864c55ad6f56a7ea82dd702339df04e2d3d (diff)
downloadtracifyjs-cb9d16fbe4b9af135209e7f01cf1d40bf388c3d7.tar.gz
tracifyjs-cb9d16fbe4b9af135209e7f01cf1d40bf388c3d7.zip
minor
-rw-r--r--lib/ast.js22
1 files changed, 8 insertions, 14 deletions
diff --git a/lib/ast.js b/lib/ast.js
index 878ceb94..1e6c836e 100644
--- a/lib/ast.js
+++ b/lib/ast.js
@@ -976,21 +976,15 @@ TreeWalker.prototype = {
},
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;
}
}
};