50
51 /** JDK 5, codename Tiger. */
52 JDK1_5("1.5", 49, 0),
53
54 /** JDK 6. */
55 JDK1_6("1.6", 50, 0),
56
57 /** JDK 7. */
58 JDK1_7("1.7", 51, 0),
59
60 /** JDK 8. */
61 JDK1_8("1.8", 52, 0),
62
63 /** JDK 9. */
64 JDK1_9("1.9", 53, 0),
65
66 /** JDK 10. */
67 JDK1_10("1.10", 54, 0),
68
69 /** JDK 11. */
70 JDK1_11("11", 55, 0);
71
72 private static final Context.Key<Target> targetKey = new Context.Key<>();
73
74 public static Target instance(Context context) {
75 Target instance = context.get(targetKey);
76 if (instance == null) {
77 Options options = Options.instance(context);
78 String targetString = options.get(TARGET);
79 if (targetString != null) instance = lookup(targetString);
80 if (instance == null) instance = DEFAULT;
81 context.put(targetKey, instance);
82 }
83 return instance;
84 }
85
86 public static final Target MIN = Target.JDK1_6;
87
88 private static final Target MAX = values()[values().length - 1];
89
90 private static final Map<String,Target> tab = new HashMap<>();
91 static {
92 for (Target t : values()) {
93 tab.put(t.name, t);
94 }
95 tab.put("5", JDK1_5);
96 tab.put("6", JDK1_6);
97 tab.put("7", JDK1_7);
98 tab.put("8", JDK1_8);
99 tab.put("9", JDK1_9);
100 tab.put("10", JDK1_10);
101 tab.put("11", JDK1_11);
102 }
103
104 public final String name;
105 public final int majorVersion;
106 public final int minorVersion;
107 private Target(String name, int majorVersion, int minorVersion) {
108 this.name = name;
109 this.majorVersion = majorVersion;
110 this.minorVersion = minorVersion;
111 }
112
113 public static final Target DEFAULT = values()[values().length - 1];
114
115 public static Target lookup(String name) {
116 return tab.get(name);
117 }
118
119 /** Return the character to be used in constructing synthetic
120 * identifiers, where not specified by the JLS.
121 */
|
50
51 /** JDK 5, codename Tiger. */
52 JDK1_5("1.5", 49, 0),
53
54 /** JDK 6. */
55 JDK1_6("1.6", 50, 0),
56
57 /** JDK 7. */
58 JDK1_7("1.7", 51, 0),
59
60 /** JDK 8. */
61 JDK1_8("1.8", 52, 0),
62
63 /** JDK 9. */
64 JDK1_9("1.9", 53, 0),
65
66 /** JDK 10. */
67 JDK1_10("1.10", 54, 0),
68
69 /** JDK 11. */
70 JDK1_11("11", 55, 0),
71
72 /** JDK 12. */
73 JDK1_12("12", 56, 0);
74
75 private static final Context.Key<Target> targetKey = new Context.Key<>();
76
77 public static Target instance(Context context) {
78 Target instance = context.get(targetKey);
79 if (instance == null) {
80 Options options = Options.instance(context);
81 String targetString = options.get(TARGET);
82 if (targetString != null) instance = lookup(targetString);
83 if (instance == null) instance = DEFAULT;
84 context.put(targetKey, instance);
85 }
86 return instance;
87 }
88
89 public static final Target MIN = Target.JDK1_6;
90
91 private static final Target MAX = values()[values().length - 1];
92
93 private static final Map<String,Target> tab = new HashMap<>();
94 static {
95 for (Target t : values()) {
96 tab.put(t.name, t);
97 }
98 tab.put("5", JDK1_5);
99 tab.put("6", JDK1_6);
100 tab.put("7", JDK1_7);
101 tab.put("8", JDK1_8);
102 tab.put("9", JDK1_9);
103 tab.put("10", JDK1_10);
104 tab.put("11", JDK1_11);
105 tab.put("12", JDK1_12);
106 }
107
108 public final String name;
109 public final int majorVersion;
110 public final int minorVersion;
111 private Target(String name, int majorVersion, int minorVersion) {
112 this.name = name;
113 this.majorVersion = majorVersion;
114 this.minorVersion = minorVersion;
115 }
116
117 public static final Target DEFAULT = values()[values().length - 1];
118
119 public static Target lookup(String name) {
120 return tab.get(name);
121 }
122
123 /** Return the character to be used in constructing synthetic
124 * identifiers, where not specified by the JLS.
125 */
|