src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java
changeset 58713 ad69fd32778e
parent 57724 447d48371b41
child 59021 cfc7bb9a5a92
equal deleted inserted replaced
58712:14e098407bb0 58713:ad69fd32778e
    27 
    27 
    28 import java.util.*;
    28 import java.util.*;
    29 import java.util.function.Function;
    29 import java.util.function.Function;
    30 import java.util.stream.Collectors;
    30 import java.util.stream.Collectors;
    31 
    31 
    32 import com.sun.source.tree.CaseTree.CaseKind;
    32 import com.sun.source.tree.CaseTree;
    33 import com.sun.source.tree.MemberReferenceTree.ReferenceMode;
    33 import com.sun.source.tree.MemberReferenceTree.ReferenceMode;
    34 import com.sun.source.tree.ModuleTree.ModuleKind;
    34 import com.sun.source.tree.ModuleTree.ModuleKind;
    35 
    35 
    36 import com.sun.tools.javac.code.*;
    36 import com.sun.tools.javac.code.*;
    37 import com.sun.tools.javac.code.Source.Feature;
    37 import com.sun.tools.javac.code.Source.Feature;
  1430                 nextToken();
  1430                 nextToken();
  1431             };
  1431             };
  1432         }
  1432         }
  1433         List<JCStatement> stats = null;
  1433         List<JCStatement> stats = null;
  1434         JCTree body = null;
  1434         JCTree body = null;
  1435         @SuppressWarnings("removal")
  1435         @SuppressWarnings("preview")
  1436         CaseKind kind;
  1436         CaseTree.CaseKind kind;
  1437         switch (token.kind) {
  1437         switch (token.kind) {
  1438             case ARROW:
  1438             case ARROW:
  1439                 checkSourceLevel(Feature.SWITCH_RULE);
  1439                 checkSourceLevel(Feature.SWITCH_RULE);
  1440                 nextToken();
  1440                 nextToken();
  1441                 if (token.kind == TokenKind.THROW || token.kind == TokenKind.LBRACE) {
  1441                 if (token.kind == TokenKind.THROW || token.kind == TokenKind.LBRACE) {
  2895                 pats.append(term(EXPR | NOLAMBDA));
  2895                 pats.append(term(EXPR | NOLAMBDA));
  2896                 if (token.kind != COMMA) break;
  2896                 if (token.kind != COMMA) break;
  2897                 nextToken();
  2897                 nextToken();
  2898                 checkSourceLevel(Feature.SWITCH_MULTIPLE_CASE_LABELS);
  2898                 checkSourceLevel(Feature.SWITCH_MULTIPLE_CASE_LABELS);
  2899             };
  2899             };
  2900             @SuppressWarnings("removal")
  2900             @SuppressWarnings("preview")
  2901             CaseKind caseKind;
  2901             CaseTree.CaseKind caseKind;
  2902             JCTree body = null;
  2902             JCTree body = null;
  2903             if (token.kind == ARROW) {
  2903             if (token.kind == ARROW) {
  2904                 checkSourceLevel(Feature.SWITCH_RULE);
  2904                 checkSourceLevel(Feature.SWITCH_RULE);
  2905                 accept(ARROW);
  2905                 accept(ARROW);
  2906                 caseKind = JCCase.RULE;
  2906                 caseKind = JCCase.RULE;
  2920                 storeEnd(c, S.prevToken().endPos);
  2920                 storeEnd(c, S.prevToken().endPos);
  2921             return cases.append(c).toList();
  2921             return cases.append(c).toList();
  2922         }
  2922         }
  2923         case DEFAULT: {
  2923         case DEFAULT: {
  2924             nextToken();
  2924             nextToken();
  2925             @SuppressWarnings("removal")
  2925             @SuppressWarnings("preview")
  2926             CaseKind caseKind;
  2926             CaseTree.CaseKind caseKind;
  2927             JCTree body = null;
  2927             JCTree body = null;
  2928             if (token.kind == ARROW) {
  2928             if (token.kind == ARROW) {
  2929                 checkSourceLevel(Feature.SWITCH_RULE);
  2929                 checkSourceLevel(Feature.SWITCH_RULE);
  2930                 accept(ARROW);
  2930                 accept(ARROW);
  2931                 caseKind = JCCase.RULE;
  2931                 caseKind = JCCase.RULE;