143
144 /** Does the VM support polymorphic method handle invocation?
145 * Affects the linkage information output to the classfile.
146 * An alias for {@code hasInvokedynamic}, since all the JSR 292 features appear together.
147 */
148 public boolean hasMethodHandles() {
149 return hasInvokedynamic();
150 }
151
152 /** Does the target JDK contain StringConcatFactory class?
153 */
154 public boolean hasStringConcatFactory() {
155 return compareTo(JDK1_9) >= 0;
156 }
157
158 /** Value of platform release used to access multi-release jar files
159 */
160 public String multiReleaseValue() {
161 return Integer.toString(this.ordinal() - Target.JDK1_1.ordinal() + 1);
162 }
163 }
|
143
144 /** Does the VM support polymorphic method handle invocation?
145 * Affects the linkage information output to the classfile.
146 * An alias for {@code hasInvokedynamic}, since all the JSR 292 features appear together.
147 */
148 public boolean hasMethodHandles() {
149 return hasInvokedynamic();
150 }
151
152 /** Does the target JDK contain StringConcatFactory class?
153 */
154 public boolean hasStringConcatFactory() {
155 return compareTo(JDK1_9) >= 0;
156 }
157
158 /** Value of platform release used to access multi-release jar files
159 */
160 public String multiReleaseValue() {
161 return Integer.toString(this.ordinal() - Target.JDK1_1.ordinal() + 1);
162 }
163
164 /** Does the target VM support nestmate access?
165 */
166 public boolean hasNestmateAccess() {
167 return compareTo(JDK1_11) >= 0;
168 }
169
170 /** Does the target VM support virtual private invocations?
171 */
172 public boolean hasVirtualPrivateInvoke() {
173 return compareTo(JDK1_11) >= 0;
174 }
175
176 }
|