/** * Constructs a new {@code ExpressionStatement} wrapping the specified expression. Sets this * node's position to the position of the wrapped node, and sets the wrapped node's position to * zero. Sets this node's length to the length of the wrapped node. * * @param expr the wrapped expression * @param hasResult {@code true} if this expression has side effects. If true, sets node type to * EXPR_RESULT, else to EXPR_VOID. */ public ExpressionStatement(AstNode expr, boolean hasResult) { this(expr); if (hasResult) setHasResult(); }