< prev index next >
src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/Parser.java
Print this page
@@ -3235,10 +3235,11 @@
return expression;
}
/**
+ * {@code
* MultiplicativeExpression :
* UnaryExpression
* MultiplicativeExpression * UnaryExpression
* MultiplicativeExpression / UnaryExpression
* MultiplicativeExpression % UnaryExpression
@@ -3321,25 +3322,29 @@
* Expression :
* AssignmentExpression
* Expression , AssignmentExpression
*
* See 11.14
+ * }
*
* Parse expression.
* @return Expression node.
*/
- private Expression expression() {
+ 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());
}
- private Expression expression(final Expression exprLhs, final int minPrecedence, final boolean noIn) {
+ 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,11 +3401,14 @@
}
return lhs;
}
- private Expression assignmentExpression(final boolean noIn) {
+ 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 >