< 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 >