src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java
changeset 59021 cfc7bb9a5a92
parent 58713 ad69fd32778e
child 59285 7799a51dbe30
equal deleted inserted replaced
59020:aebd72de84b0 59021:cfc7bb9a5a92
  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("preview")
       
  1436         CaseTree.CaseKind kind;
  1435         CaseTree.CaseKind kind;
  1437         switch (token.kind) {
  1436         switch (token.kind) {
  1438             case ARROW:
  1437             case ARROW:
  1439                 checkSourceLevel(Feature.SWITCH_RULE);
  1438                 checkSourceLevel(Feature.SWITCH_RULE);
  1440                 nextToken();
  1439                 nextToken();
  2895                 pats.append(term(EXPR | NOLAMBDA));
  2894                 pats.append(term(EXPR | NOLAMBDA));
  2896                 if (token.kind != COMMA) break;
  2895                 if (token.kind != COMMA) break;
  2897                 nextToken();
  2896                 nextToken();
  2898                 checkSourceLevel(Feature.SWITCH_MULTIPLE_CASE_LABELS);
  2897                 checkSourceLevel(Feature.SWITCH_MULTIPLE_CASE_LABELS);
  2899             };
  2898             };
  2900             @SuppressWarnings("preview")
       
  2901             CaseTree.CaseKind caseKind;
  2899             CaseTree.CaseKind caseKind;
  2902             JCTree body = null;
  2900             JCTree body = null;
  2903             if (token.kind == ARROW) {
  2901             if (token.kind == ARROW) {
  2904                 checkSourceLevel(Feature.SWITCH_RULE);
  2902                 checkSourceLevel(Feature.SWITCH_RULE);
  2905                 accept(ARROW);
  2903                 accept(ARROW);
  2920                 storeEnd(c, S.prevToken().endPos);
  2918                 storeEnd(c, S.prevToken().endPos);
  2921             return cases.append(c).toList();
  2919             return cases.append(c).toList();
  2922         }
  2920         }
  2923         case DEFAULT: {
  2921         case DEFAULT: {
  2924             nextToken();
  2922             nextToken();
  2925             @SuppressWarnings("preview")
       
  2926             CaseTree.CaseKind caseKind;
  2923             CaseTree.CaseKind caseKind;
  2927             JCTree body = null;
  2924             JCTree body = null;
  2928             if (token.kind == ARROW) {
  2925             if (token.kind == ARROW) {
  2929                 checkSourceLevel(Feature.SWITCH_RULE);
  2926                 checkSourceLevel(Feature.SWITCH_RULE);
  2930                 accept(ARROW);
  2927                 accept(ARROW);
  3298         }
  3295         }
  3299         if (name == names.yield) {
  3296         if (name == names.yield) {
  3300             if (allowYieldStatement) {
  3297             if (allowYieldStatement) {
  3301                 return true;
  3298                 return true;
  3302             } else if (shouldWarn) {
  3299             } else if (shouldWarn) {
  3303                 log.warning(pos, Warnings.RestrictedTypeNotAllowedPreview(name, Source.JDK13));
  3300                 log.warning(pos, Warnings.RestrictedTypeNotAllowed(name, Source.JDK14));
  3304             }
  3301             }
  3305         }
  3302         }
  3306         return false;
  3303         return false;
  3307     }
  3304     }
  3308 
  3305