src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Parser.java

Print this page
rev 1118 : [mq]: JDK8066238

*** 2289,2301 **** expect(RPAREN); final ParserContextFunctionNode functionNode = createParserContextFunctionNode(getNameNode, getSetToken, FunctionNode.Kind.GETTER, functionLine, Collections.<IdentNode>emptyList()); lc.push(functionNode); ! final Block functionBody = functionBody(functionNode); lc.pop(functionNode); final FunctionNode function = createFunctionNode( functionNode, getSetToken, getNameNode, --- 2289,2306 ---- expect(RPAREN); final ParserContextFunctionNode functionNode = createParserContextFunctionNode(getNameNode, getSetToken, FunctionNode.Kind.GETTER, functionLine, Collections.<IdentNode>emptyList()); lc.push(functionNode); ! Block functionBody; + + try { + functionBody = functionBody(functionNode); + } finally { lc.pop(functionNode); + } final FunctionNode function = createFunctionNode( functionNode, getSetToken, getNameNode,
*** 2329,2341 **** final ParserContextFunctionNode functionNode = createParserContextFunctionNode(setNameNode, getSetToken, FunctionNode.Kind.SETTER, functionLine, parameters); lc.push(functionNode); ! final Block functionBody = functionBody(functionNode); ! lc.pop(functionNode); final FunctionNode function = createFunctionNode( functionNode, getSetToken, setNameNode, --- 2334,2350 ---- final ParserContextFunctionNode functionNode = createParserContextFunctionNode(setNameNode, getSetToken, FunctionNode.Kind.SETTER, functionLine, parameters); lc.push(functionNode); ! Block functionBody; ! try { ! functionBody = functionBody(functionNode); ! } finally { lc.pop(functionNode); + } + final FunctionNode function = createFunctionNode( functionNode, getSetToken, setNameNode,