nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/parser/TokenType.java
changeset 37732 3673fec68d16
parent 33414 2e284c36d51f
child 46169 b385216af0ed
equal deleted inserted replaced
37646:84aba7335005 37732:3673fec68d16
    80     ASSIGN_SHL     (BINARY,  "<<=",   2, false),
    80     ASSIGN_SHL     (BINARY,  "<<=",   2, false),
    81     LE             (BINARY,  "<=",   10, true),
    81     LE             (BINARY,  "<=",   10, true),
    82     ASSIGN         (BINARY,  "=",     2, false),
    82     ASSIGN         (BINARY,  "=",     2, false),
    83     EQ             (BINARY,  "==",    9, true),
    83     EQ             (BINARY,  "==",    9, true),
    84     EQ_STRICT      (BINARY,  "===",   9, true),
    84     EQ_STRICT      (BINARY,  "===",   9, true),
    85     BIND           (BINARY,  "=>",    9, true),
    85     ARROW          (BINARY,  "=>",    2, true),
    86     GT             (BINARY,  ">",    10, true),
    86     GT             (BINARY,  ">",    10, true),
    87     GE             (BINARY,  ">=",   10, true),
    87     GE             (BINARY,  ">=",   10, true),
    88     SAR            (BINARY,  ">>",   11, true),
    88     SAR            (BINARY,  ">>",   11, true),
    89     ASSIGN_SAR     (BINARY,  ">>=",   2, false),
    89     ASSIGN_SAR     (BINARY,  ">>=",   2, false),
    90     SHR            (BINARY,  ">>>",  11, true),
    90     SHR            (BINARY,  ">>>",  11, true),
    98     BIT_OR         (BINARY,  "|",     6, true),
    98     BIT_OR         (BINARY,  "|",     6, true),
    99     ASSIGN_BIT_OR  (BINARY,  "|=",    2, false),
    99     ASSIGN_BIT_OR  (BINARY,  "|=",    2, false),
   100     OR             (BINARY,  "||",    4, true),
   100     OR             (BINARY,  "||",    4, true),
   101     RBRACE         (BRACKET, "}"),
   101     RBRACE         (BRACKET, "}"),
   102     BIT_NOT        (UNARY,   "~",     14, false),
   102     BIT_NOT        (UNARY,   "~",     14, false),
       
   103     ELLIPSIS       (UNARY,   "..."),
   103 
   104 
   104     // ECMA 7.6.1.1 Keywords, 7.6.1.2 Future Reserved Words.
   105     // ECMA 7.6.1.1 Keywords, 7.6.1.2 Future Reserved Words.
   105     // All other Java keywords are commented out.
   106     // All other Java keywords are commented out.
   106 
   107 
   107 //  ABSTRACT       (FUTURE,   "abstract"),
   108 //  ABSTRACT       (FUTURE,   "abstract"),
   188     TEMPLATE_MIDDLE(LITERAL,  null),
   189     TEMPLATE_MIDDLE(LITERAL,  null),
   189     TEMPLATE_TAIL  (LITERAL,  null),
   190     TEMPLATE_TAIL  (LITERAL,  null),
   190 
   191 
   191     COMMALEFT      (IR,       null),
   192     COMMALEFT      (IR,       null),
   192     DECPOSTFIX     (IR,       null),
   193     DECPOSTFIX     (IR,       null),
   193     INCPOSTFIX     (IR,       null);
   194     INCPOSTFIX     (IR,       null),
       
   195     SPREAD_ARGUMENT(IR,       null),
       
   196     SPREAD_ARRAY   (IR,       null),
       
   197     YIELD_STAR     (IR,       null);
   194 
   198 
   195     /** Next token kind in token lookup table. */
   199     /** Next token kind in token lookup table. */
   196     private TokenType next;
   200     private TokenType next;
   197 
   201 
   198     /** Classification of token. */
   202     /** Classification of token. */
   249      */
   253      */
   250     public boolean isOperator(final boolean noIn) {
   254     public boolean isOperator(final boolean noIn) {
   251         return kind == BINARY && (!noIn || this != IN) && precedence != 0;
   255         return kind == BINARY && (!noIn || this != IN) && precedence != 0;
   252     }
   256     }
   253 
   257 
   254 
       
   255     public int getLength() {
   258     public int getLength() {
   256         assert name != null : "Token name not set";
   259         assert name != null : "Token name not set";
   257         return name.length();
   260         return name.length();
   258     }
   261     }
   259 
   262