< prev index next >
src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Parser.java
Print this page
*** 3235,3244 ****
--- 3235,3245 ----
return expression;
}
/**
+ * {@code
* MultiplicativeExpression :
* UnaryExpression
* MultiplicativeExpression * UnaryExpression
* MultiplicativeExpression / UnaryExpression
* MultiplicativeExpression % UnaryExpression
*** 3321,3345 ****
* Expression :
* AssignmentExpression
* Expression , AssignmentExpression
*
* See 11.14
*
* Parse expression.
* @return Expression node.
*/
! private Expression expression() {
// TODO - Destructuring array.
// Include commas in expression parsing.
return expression(unaryExpression(), COMMARIGHT.getPrecedence(), false);
}
private JoinPredecessorExpression joinPredecessorExpression() {
return new JoinPredecessorExpression(expression());
}
! private Expression expression(final Expression exprLhs, final int minPrecedence, final boolean noIn) {
// Get the precedence of the next operator.
int precedence = type.getPrecedence();
Expression lhs = exprLhs;
// While greater precedence.
--- 3322,3350 ----
* Expression :
* AssignmentExpression
* Expression , AssignmentExpression
*
* See 11.14
+ * }
*
* Parse expression.
* @return Expression node.
*/
! protected Expression expression() {
! // This method is protected so that subclass can get details
! // at expression start point!
!
// TODO - Destructuring array.
// Include commas in expression parsing.
return expression(unaryExpression(), COMMARIGHT.getPrecedence(), false);
}
private JoinPredecessorExpression joinPredecessorExpression() {
return new JoinPredecessorExpression(expression());
}
! protected Expression expression(final Expression exprLhs, final int minPrecedence, final boolean noIn) {
// Get the precedence of the next operator.
int precedence = type.getPrecedence();
Expression lhs = exprLhs;
// While greater precedence.
*** 3396,3406 ****
}
return lhs;
}
! private Expression assignmentExpression(final boolean noIn) {
// TODO - Handle decompose.
// Exclude commas in expression parsing.
return expression(unaryExpression(), ASSIGN.getPrecedence(), noIn);
}
--- 3401,3414 ----
}
return lhs;
}
! protected Expression assignmentExpression(final boolean noIn) {
! // This method is protected so that subclass can get details
! // at assignment expression start point!
!
// TODO - Handle decompose.
// Exclude commas in expression parsing.
return expression(unaryExpression(), ASSIGN.getPrecedence(), noIn);
}
< prev index next >