23 * questions.
24 */
25
26 package jdk.nashorn.api.tree;
27
28 import java.util.List;
29 import jdk.nashorn.internal.ir.FunctionNode;
30
31 final class FunctionExpressionTreeImpl extends ExpressionTreeImpl
32 implements FunctionExpressionTree {
33 private final FunctionNode funcNode;
34 private final String funcName;
35 private final List<? extends ExpressionTree> params;
36 private final BlockTree body;
37
38 FunctionExpressionTreeImpl(final FunctionNode node,
39 final List<? extends ExpressionTree> params,
40 final BlockTree body) {
41 super(node);
42 funcNode = node;
43 assert !funcNode.isDeclared() : "function expression expected";
44
45 final FunctionNode.Kind kind = node.getKind();
46 if (node.isAnonymous() || kind == FunctionNode.Kind.GETTER || kind == FunctionNode.Kind.SETTER) {
47 funcName = null;
48 } else {
49 funcName = node.getIdent().getName();
50 }
51
52 this.params = params;
53 this.body = body;
54 }
55
56 @Override
57 public Tree.Kind getKind() {
58 return Tree.Kind.FUNCTION_EXPRESSION;
59 }
60
61 @Override
62 public String getName() {
63 return funcName;
|
23 * questions.
24 */
25
26 package jdk.nashorn.api.tree;
27
28 import java.util.List;
29 import jdk.nashorn.internal.ir.FunctionNode;
30
31 final class FunctionExpressionTreeImpl extends ExpressionTreeImpl
32 implements FunctionExpressionTree {
33 private final FunctionNode funcNode;
34 private final String funcName;
35 private final List<? extends ExpressionTree> params;
36 private final BlockTree body;
37
38 FunctionExpressionTreeImpl(final FunctionNode node,
39 final List<? extends ExpressionTree> params,
40 final BlockTree body) {
41 super(node);
42 funcNode = node;
43 assert !funcNode.isDeclared() || funcNode.isAnonymous() : "function expression expected";
44
45 final FunctionNode.Kind kind = node.getKind();
46 if (node.isAnonymous() || kind == FunctionNode.Kind.GETTER || kind == FunctionNode.Kind.SETTER) {
47 funcName = null;
48 } else {
49 funcName = node.getIdent().getName();
50 }
51
52 this.params = params;
53 this.body = body;
54 }
55
56 @Override
57 public Tree.Kind getKind() {
58 return Tree.Kind.FUNCTION_EXPRESSION;
59 }
60
61 @Override
62 public String getName() {
63 return funcName;
|