1 package org.codehaus.gmavenplus.javaparser;
2
3 import java.util.Arrays;
4
5 public enum LanguageLevel {
6 JAVA_1_0,
7 JAVA_1_1,
8 JAVA_1_2,
9 JAVA_1_3,
10 JAVA_1_4,
11 JAVA_5,
12 JAVA_6,
13 JAVA_7,
14 JAVA_8,
15 JAVA_9,
16 JAVA_10,
17 JAVA_10_PREVIEW,
18 JAVA_11,
19 JAVA_11_PREVIEW,
20 JAVA_12,
21 JAVA_12_PREVIEW,
22 JAVA_13,
23 JAVA_13_PREVIEW,
24 JAVA_14,
25 JAVA_14_PREVIEW,
26 JAVA_15,
27 JAVA_15_PREVIEW,
28 JAVA_16,
29 JAVA_16_PREVIEW,
30 JAVA_17,
31 JAVA_17_PREVIEW,
32 JAVA_18,
33 JAVA_19,
34 JAVA_20,
35 JAVA_21;
36
37 public static final LanguageLevel RAW = null;
38 public static final LanguageLevel POPULAR = JAVA_11;
39 public static final LanguageLevel CURRENT = JAVA_18;
40 public static final LanguageLevel BLEEDING_EDGE = JAVA_21;
41 private static final LanguageLevel[] yieldSupport = new LanguageLevel[]{
42 JAVA_1_0, JAVA_13, JAVA_13_PREVIEW, JAVA_14, JAVA_14_PREVIEW, JAVA_15, JAVA_15_PREVIEW, JAVA_16,
43 JAVA_16_PREVIEW, JAVA_17, JAVA_17_PREVIEW, JAVA_18, JAVA_19, JAVA_20, JAVA_21};
44
45 public boolean isYieldSupported() {
46 return Arrays.stream(yieldSupport).anyMatch((level) -> level == this);
47 }
48 }