зеркало из https://github.com/mozilla/pjs.git
Fix bug 114491: if (true) function f(){}()
This commit is contained in:
Родитель
e2ede46f4a
Коммит
e5934f2287
|
@ -82,6 +82,11 @@ public class IRFactory {
|
|||
return new Node(nodeType, nodeOp);
|
||||
}
|
||||
|
||||
public int getLeafType(Object leaf) {
|
||||
Node n = (Node) leaf;
|
||||
return n.getType();
|
||||
}
|
||||
|
||||
/**
|
||||
* Statement leaf nodes.
|
||||
*/
|
||||
|
|
|
@ -809,8 +809,12 @@ class Parser {
|
|||
return pn;
|
||||
}
|
||||
|
||||
if (lastExprType == ts.FUNCTION)
|
||||
if (lastExprType == ts.FUNCTION) {
|
||||
if (nf.getLeafType(pn) != ts.FUNCTION) {
|
||||
reportError(ts, "msg.syntax");
|
||||
}
|
||||
nf.setFunctionExpressionStatement(pn);
|
||||
}
|
||||
|
||||
pn = nf.createExprStatement(pn, lineno);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче