JS: fix crash on some JavaScript constructs in hand-written runtime code

This commit is contained in:
Alexey Andreev 2019-09-30 18:36:05 +03:00
parent 3b170df2ca
commit 810ee0f49e

View File

@ -29,6 +29,7 @@ import org.mozilla.javascript.ast.ConditionalExpression;
import org.mozilla.javascript.ast.ContinueStatement;
import org.mozilla.javascript.ast.DoLoop;
import org.mozilla.javascript.ast.ElementGet;
import org.mozilla.javascript.ast.EmptyExpression;
import org.mozilla.javascript.ast.EmptyStatement;
import org.mozilla.javascript.ast.ExpressionStatement;
import org.mozilla.javascript.ast.ForInLoop;
@ -133,7 +134,11 @@ public class AstVisitor {
visitParenthesized((ParenthesizedExpression) node);
break;
case Token.EMPTY:
visitEmpty((EmptyStatement) node);
if (node instanceof EmptyStatement) {
visitEmpty((EmptyStatement) node);
} else {
visitEmpty((EmptyExpression) node);
}
break;
case Token.EXPR_VOID:
case Token.EXPR_RESULT:
@ -377,6 +382,9 @@ public class AstVisitor {
protected void visitEmpty(EmptyStatement node) {
}
protected void visitEmpty(EmptyExpression node) {
}
protected void visitName(Name node) {
}