152 153 /** Value of platform release used to access multi-release jar files 154 */ 155 public String multiReleaseValue() { 156 return Integer.toString(this.ordinal() - Target.JDK1_1.ordinal() + 1); 157 } 158 159 /** All modules that export an API are roots when compiling code in the unnamed 160 * module and targeting 11 or newer. 161 */ 162 public boolean allApiModulesAreRoots() { 163 return compareTo(JDK1_11) >= 0; 164 } 165 166 /** Does the target VM support nestmate access? 167 */ 168 public boolean hasNestmateAccess() { 169 return compareTo(JDK1_11) >= 0; 170 } 171 172 /** Does the target VM support virtual private invocations? 173 */ 174 public boolean hasVirtualPrivateInvoke() { 175 return compareTo(JDK1_11) >= 0; 176 } 177 178 } | 152 153 /** Value of platform release used to access multi-release jar files 154 */ 155 public String multiReleaseValue() { 156 return Integer.toString(this.ordinal() - Target.JDK1_1.ordinal() + 1); 157 } 158 159 /** All modules that export an API are roots when compiling code in the unnamed 160 * module and targeting 11 or newer. 161 */ 162 public boolean allApiModulesAreRoots() { 163 return compareTo(JDK1_11) >= 0; 164 } 165 166 /** Does the target VM support nestmate access? 167 */ 168 public boolean hasNestmateAccess() { 169 return compareTo(JDK1_11) >= 0; 170 } 171 172 /** language runtime uses nest-based access. 173 * e.g. lambda and string concat spin dynamic proxy class as a nestmate 174 * of the target class 175 */ 176 public boolean runtimeUseNestAccess() { 177 return compareTo(JDK1_15) >= 0; 178 } 179 180 /** Does the target VM support virtual private invocations? 181 */ 182 public boolean hasVirtualPrivateInvoke() { 183 return compareTo(JDK1_11) >= 0; 184 } 185 186 } |