From c129a736ab5b506de18a7a69f6c1a1a23c737692 Mon Sep 17 00:00:00 2001 From: Wagyourtail Date: Thu, 23 May 2024 16:43:25 -0500 Subject: [PATCH] optimize imports and reformat code --- LICENSE.md | 6 +- README.md | 34 +- build.gradle.kts | 3 +- .../gradle/ctsym/GenerateCtSymTask.kt | 7 +- .../gradle/shadow/PackageRelocateReader.kt | 5 +- .../downgradetest/TestException.java | 1 - .../downgradetest/TestInterface.java | 16 +- .../wagyourtail/downgradetest/TestStream.java | 52 +-- .../wagyourtail/downgradetest/TestString.java | 8 +- .../jvmdg/gradle/JVMDowngraderExtension.kt | 5 - .../jvmdg/gradle/JVMDowngraderPlugin.kt | 2 +- .../jvmdg/gradle/task/DowngradeFiles.kt | 30 +- .../jvmdg/gradle/task/DowngradeJar.kt | 6 +- .../xyz/wagyourtail/jvmdg/util/DefaultMap.kt | 5 +- .../wagyourtail/jvmdg/util/FinalizeOnRead.kt | 5 +- .../xyz/wagyourtail/jvmdg/util/LazyMutable.kt | 2 +- gradle.properties | 6 - java-api/build.gradle.kts | 6 +- .../j10/stub/java_base/J_U_S_Collectors.java | 50 +-- .../jvmdg/j10/stub/java_base/J_U_Scanner.java | 4 +- .../j11/stub/java_base/J_I_InputStream.java | 2 +- .../jvmdg/j11/stub/java_base/J_L_Class.java | 1 - .../j11/stub/java_base/J_U_C_TimeUnit.java | 4 +- .../j11/stub/java_base/J_U_Z_Deflater.java | 2 +- .../j11/stub/java_base/J_U_Z_Inflater.java | 2 +- .../j12/stub/java_base/J_U_S_Collectors.java | 10 +- .../jvmdg/j15/stub/java_base/J_L_String.java | 6 +- .../java_base/J_U_NoSuchElementException.java | 5 +- .../J_L_IndexOutOfBoundsException.java | 22 +- .../stub/java_base/J_L_R_ObjectMethods.java | 195 +++++----- .../j16/stub/java_base/J_N_H_HttpRequest.java | 2 +- .../jvmdg/j16/stub/java_base/J_U_Objects.java | 4 +- .../jvmdg/j17/stub/java_base/J_L_Class.java | 2 - .../stub/java_base/J_U_R_RandomGenerator.java | 366 +++++++++--------- .../jvmdg/j17/stub/java_base/J_U_Random.java | 8 +- .../stub/java_base/J_U_SplittableRandom.java | 20 +- .../java_base/J_I_InvalidObjectException.java | 5 +- .../java_base/J_I_ObjectStreamException.java | 5 +- .../J_N_S_SSLHandshakeException.java | 5 +- .../stub/java_base/J_N_S_SSLKeyException.java | 5 +- .../stub/java_base/J_N_SocketException.java | 5 +- .../jvmdg/j20/stub/java_base/J_L_Float.java | 4 +- .../java_base/J_L_M_ModuleDescriptor.java | 3 +- .../j20/stub/java_base/J_L_R_AccessFlag.java | 274 ++++++------- .../jvmdg/j20/stub/java_base/J_N_URL.java | 10 +- .../J_S_InvalidParameterException.java | 5 +- .../jvmdg/j21/impl/FakeVirtualThread.java | 1 + .../jvmdg/j21/impl/ReverseCollection.java | 3 +- .../jvmdg/j21/impl/ReverseSet.java | 4 +- .../jvmdg/j21/impl/SequencedSet.java | 5 +- .../java_base/J_L_R_SwitchBootstraps.java | 16 +- .../java_base/J_U_SequencedCollection.java | 10 +- .../j21/stub/java_base/J_U_SequencedMap.java | 6 +- .../j21/stub/java_base/J_U_SequencedSet.java | 4 +- .../intl/collections/BackingCollection.java | 1 - .../intl/collections/CheckedNavigableMap.java | 4 +- .../intl/collections/CheckedNavigableSet.java | 2 +- .../j8/intl/collections/CheckedQueue.java | 2 +- .../collections/SynchronizedNavigableMap.java | 5 +- .../DoubleIteratorFromSpliterator.java | 3 +- .../LongIteratorFromSpliterator.java | 1 - .../spliterator/LongIteratorSpliterator.java | 1 - .../jvmdg/j8/stub/J_I_BufferedReader.java | 1 - .../j8/stub/J_I_UncheckedIOException.java | 3 - .../jvmdg/j8/stub/J_L_Boolean.java | 1 - .../wagyourtail/jvmdg/j8/stub/J_L_Byte.java | 1 - .../jvmdg/j8/stub/J_L_CharSequence.java | 1 - .../jvmdg/j8/stub/J_L_Character.java | 1 - .../wagyourtail/jvmdg/j8/stub/J_L_Class.java | 1 - .../wagyourtail/jvmdg/j8/stub/J_L_Double.java | 1 - .../wagyourtail/jvmdg/j8/stub/J_L_Float.java | 1 - .../j8/stub/J_L_FunctionalInterface.java | 3 - .../stub/J_L_I_LambdaConversionException.java | 3 - .../jvmdg/j8/stub/J_L_Integer.java | 5 +- .../jvmdg/j8/stub/J_L_InternalError.java | 6 +- .../jvmdg/j8/stub/J_L_Iterable.java | 1 - .../wagyourtail/jvmdg/j8/stub/J_L_Long.java | 3 +- .../wagyourtail/jvmdg/j8/stub/J_L_Math.java | 3 +- .../jvmdg/j8/stub/J_L_Package.java | 1 - .../jvmdg/j8/stub/J_L_Process.java | 1 - .../jvmdg/j8/stub/J_L_R_AccessibleObject.java | 1 - .../jvmdg/j8/stub/J_L_R_AnnotatedElement.java | 1 - .../jvmdg/j8/stub/J_L_R_Constructor.java | 1 - .../jvmdg/j8/stub/J_L_R_Field.java | 1 - .../J_L_R_MalformedParametersException.java | 3 - .../jvmdg/j8/stub/J_L_R_Method.java | 1 - .../jvmdg/j8/stub/J_L_R_Modifier.java | 1 - .../wagyourtail/jvmdg/j8/stub/J_L_R_Type.java | 1 - .../wagyourtail/jvmdg/j8/stub/J_L_Short.java | 1 - .../jvmdg/j8/stub/J_L_StrictMath.java | 1 - .../j8/stub/J_L_VirtualMachineError.java | 5 +- .../jvmdg/j8/stub/J_M_BigInteger.java | 1 - .../jvmdg/j8/stub/J_N_F_Files.java | 3 +- .../wagyourtail/jvmdg/j8/stub/J_U_Arrays.java | 1 - .../wagyourtail/jvmdg/j8/stub/J_U_Base64.java | 39 +- .../wagyourtail/jvmdg/j8/stub/J_U_BitSet.java | 1 - .../j8/stub/J_U_C_CompletableFuture.java | 45 ++- .../j8/stub/J_U_C_CompletionException.java | 3 - .../jvmdg/j8/stub/J_U_C_CompletionStage.java | 3 - .../jvmdg/j8/stub/J_U_C_ConcurrentMap.java | 16 +- .../jvmdg/j8/stub/J_U_C_Executors.java | 1 - .../jvmdg/j8/stub/J_U_C_ForkJoinPool.java | 2 - .../jvmdg/j8/stub/J_U_Collection.java | 2 - .../jvmdg/j8/stub/J_U_Collections.java | 3 +- .../jvmdg/j8/stub/J_U_Comparator.java | 3 +- .../j8/stub/J_U_DoubleSummaryStatistics.java | 5 +- .../j8/stub/J_U_IntSummaryStatistics.java | 4 +- .../jvmdg/j8/stub/J_U_Iterator.java | 3 +- .../wagyourtail/jvmdg/j8/stub/J_U_List.java | 3 +- .../j8/stub/J_U_LongSummaryStatistics.java | 4 +- .../wagyourtail/jvmdg/j8/stub/J_U_Map.java | 17 +- .../jvmdg/j8/stub/J_U_Objects.java | 3 +- .../jvmdg/j8/stub/J_U_Optional.java | 5 +- .../jvmdg/j8/stub/J_U_OptionalDouble.java | 14 +- .../jvmdg/j8/stub/J_U_OptionalInt.java | 12 +- .../jvmdg/j8/stub/J_U_OptionalLong.java | 14 +- .../jvmdg/j8/stub/J_U_PrimitiveIterator.java | 5 +- .../jvmdg/j8/stub/J_U_Spliterator.java | 74 ++-- ...pliterators$AbstractDoubleSpliterator.java | 2 +- ...U_Spliterators$AbstractIntSpliterator.java | 3 +- ..._Spliterators$AbstractLongSpliterator.java | 5 +- .../J_U_Spliterators$AbstractSpliterator.java | 2 +- .../jvmdg/j8/stub/J_U_Spliterators.java | 5 +- .../jvmdg/j8/stub/J_U_StringJoiner.java | 3 - .../j8/stub/function/J_U_F_BiConsumer.java | 4 +- .../j8/stub/function/J_U_F_BiFunction.java | 6 +- .../j8/stub/function/J_U_F_BiPredicate.java | 4 +- .../stub/function/J_U_F_BinaryOperator.java | 3 +- .../stub/function/J_U_F_BooleanSupplier.java | 5 +- .../j8/stub/function/J_U_F_Consumer.java | 3 +- .../function/J_U_F_DoubleBinaryOperator.java | 5 +- .../stub/function/J_U_F_DoubleConsumer.java | 4 +- .../stub/function/J_U_F_DoubleFunction.java | 5 +- .../stub/function/J_U_F_DoublePredicate.java | 4 +- .../stub/function/J_U_F_DoubleSupplier.java | 5 +- .../function/J_U_F_DoubleToIntFunction.java | 5 +- .../function/J_U_F_DoubleToLongFunction.java | 5 +- .../function/J_U_F_DoubleUnaryOperator.java | 3 +- .../j8/stub/function/J_U_F_Function.java | 3 +- .../function/J_U_F_IntBinaryOperator.java | 5 +- .../j8/stub/function/J_U_F_IntConsumer.java | 4 +- .../j8/stub/function/J_U_F_IntFunction.java | 5 +- .../j8/stub/function/J_U_F_IntPredicate.java | 4 +- .../j8/stub/function/J_U_F_IntSupplier.java | 5 +- .../function/J_U_F_IntToDoubleFunction.java | 5 +- .../function/J_U_F_IntToLongFunction.java | 5 +- .../stub/function/J_U_F_IntUnaryOperator.java | 3 +- .../function/J_U_F_LongBinaryOperator.java | 5 +- .../j8/stub/function/J_U_F_LongConsumer.java | 4 +- .../j8/stub/function/J_U_F_LongFunction.java | 5 +- .../j8/stub/function/J_U_F_LongPredicate.java | 4 +- .../j8/stub/function/J_U_F_LongSupplier.java | 5 +- .../function/J_U_F_LongToDoubleFunction.java | 5 +- .../function/J_U_F_LongToIntFunction.java | 5 +- .../function/J_U_F_LongUnaryOperator.java | 3 +- .../function/J_U_F_ObjDoubleConsumer.java | 5 +- .../stub/function/J_U_F_ObjIntConsumer.java | 5 +- .../stub/function/J_U_F_ObjLongConsumer.java | 5 +- .../j8/stub/function/J_U_F_Predicate.java | 5 +- .../j8/stub/function/J_U_F_Supplier.java | 5 +- .../function/J_U_F_ToDoubleBiFunction.java | 5 +- .../stub/function/J_U_F_ToDoubleFunction.java | 5 +- .../stub/function/J_U_F_ToIntBiFunction.java | 5 +- .../j8/stub/function/J_U_F_ToIntFunction.java | 5 +- .../stub/function/J_U_F_ToLongBiFunction.java | 5 +- .../stub/function/J_U_F_ToLongFunction.java | 5 +- .../j8/stub/function/J_U_F_UnaryOperator.java | 5 +- .../j8/stub/stream/J_U_S_BaseStream.java | 3 - .../jvmdg/j8/stub/stream/J_U_S_Collector.java | 2 - .../j8/stub/stream/J_U_S_Collectors.java | 98 +++-- .../jvmdg/j8/stub/stream/J_U_S_Stream.java | 45 ++- .../java_base/J_L_I_StringConcatFactory.java | 191 +++++---- .../J_L_IndexOutOfBoundsException.java | 1 - .../jvmdg/j9/stub/java_base/J_L_Math.java | 8 +- .../java_base/J_L_R_AccessibleObject.java | 14 +- .../jvmdg/j9/stub/java_base/J_L_Runtime.java | 48 +-- .../j9/stub/java_base/J_L_StackWalker.java | 8 +- .../jvmdg/j9/stub/java_base/J_L_Thread.java | 1 - .../j9/stub/java_base/J_M_BigDecimal.java | 12 +- .../j9/stub/java_base/J_M_BigInteger.java | 6 +- .../stub/java_base/J_T_C_IsoChronology.java | 6 +- .../j9/stub/java_base/J_T_LocalDate.java | 6 +- .../jvmdg/j9/stub/java_base/J_U_Arrays.java | 146 +++---- .../jvmdg/j9/stub/java_base/J_U_Objects.java | 6 +- .../j9/stub/java_base/J_U_S_Collectors.java | 25 +- .../j9/stub/java_base/J_U_S_DoubleStream.java | 2 +- .../j9/stub/java_base/J_U_S_IntStream.java | 2 +- .../j9/stub/java_base/J_U_S_LongStream.java | 2 +- .../jvmdg/j9/stub/java_base/J_U_S_Stream.java | 2 +- .../j9/stub/java_base/J_U_ServiceLoader.java | 2 +- .../jvmdg/providers/Java11Downgrader.java | 2 - .../jvmdg/providers/Java17Downgrader.java | 2 - .../jvmdg/providers/Java8Downgrader.java | 93 +++-- .../jvmdg/providers/Java9Downgrader.java | 4 +- .../wagyourtail/jvmdg/ClassDowngrader.java | 11 +- .../xyz/wagyourtail/jvmdg/asm/ASMUtils.java | 5 - .../jvmdg/asm/AnnotationUtils.java | 80 ++-- .../xyz/wagyourtail/jvmdg/cli/Arguments.java | 20 +- .../java/xyz/wagyourtail/jvmdg/cli/Flags.java | 4 +- .../java/xyz/wagyourtail/jvmdg/cli/Main.java | 46 +-- .../wagyourtail/jvmdg/compile/ApiShader.java | 3 - .../jvmdg/compile/PathDowngrader.java | 6 +- .../jvmdg/compile/ZipDowngrader.java | 4 +- .../jvmdg/compile/shade/ReferenceGraph.java | 9 +- .../wagyourtail/jvmdg/runtime/Bootstrap.java | 7 +- .../jvmdg/runtime/ClassDowngradingAgent.java | 4 +- .../jvmdg/version/VersionProvider.java | 52 ++- .../jvmdg/version/all/stub/J_L_Class.java | 9 +- .../jvmdg/version/map/ClassMapping.java | 10 +- .../map/FullyQualifiedMemberNameAndDesc.java | 1 - .../jvmdg/version/map/MemberNameAndDesc.java | 16 +- .../wagyourtail/jvmdg/util/AsyncUtils.java | 5 +- .../jvmdg/internal/JvmDowngraderTest.java | 167 ++++---- 213 files changed, 1438 insertions(+), 1607 deletions(-) diff --git a/LICENSE.md b/LICENSE.md index a511e04d..74edcd72 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,5 +1,5 @@ JvmDowngrader -Copyright (C) 2024 William Gray +Copyright (C) 2024 William Gray This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -8,12 +8,12 @@ version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA =============================================================================== diff --git a/README.md b/README.md index 88825513..48ffab32 100644 --- a/README.md +++ b/README.md @@ -5,10 +5,12 @@ downgrades modern java bytecode to older versions. at either compile or runtime. ## Gradle Plugin This downgrades the output of a jar task using another task. -Note that certain things like reflection and dynamic class definition downgrading will not work without runtime downgrading. +Note that certain things like reflection and dynamic class definition downgrading will not work without runtime +downgrading. dynamic class definitions being things like `MethodHandles$Lookup#defineClass` and classloader shenanigans. add my maven in `settings.gradle`: + ```gradle pluginManagement { repositories { @@ -26,6 +28,7 @@ pluginManagement { ``` in `build.gradle`: + ```gradle // add the plugin plugins { @@ -44,10 +47,13 @@ jvmdg.asmVersion = "9.7" // default ``` -This will create a default downgrade task for `jar` (or `shadowJar` if present) called `downgradeJar` that will downgrade the output to java 8 by default. -as well as a `shadeDowngradedApi` to then insert the required classes for not having a runtime dependency on the api jar. +This will create a default downgrade task for `jar` (or `shadowJar` if present) called `downgradeJar` that will +downgrade the output to java 8 by default. +as well as a `shadeDowngradedApi` to then insert the required classes for not having a runtime dependency on the api +jar. you can change the downgrade version by doing: + ```gradle downgradeJar { downgradeVersion = JavaVersion.VERSION_1_11 @@ -61,11 +67,13 @@ shadeDowngradedApi { ``` Optionally, you can also depend on the sahdeDowngradedApi task when running build. + ```gradle assemble.dependsOn shadeDowngradedApi ``` you can create a custom task by doing: + ```gradle task customDowngrade(type: xyz.wagyourtail.jvmdg.gradle.task.DowngradeJar) { inputFile = tasks.jar.archiveFile @@ -93,7 +101,8 @@ task customShadeDowngradedApi(type: xyz.wagyourtail.jvmdg.gradle.task.ShadeApi) ### Zip/Path Downgrading Downgrades the contents of a zip file or path to an older version. -you can specify multiple targets for bulk operations. (and they will include eachother in classpath searches during downgrading) +you can specify multiple targets for bulk operations. (and they will include eachother in classpath searches during +downgrading) ex. `java -jar JvmDowngrader-all.jar -c 52 downgrade -t input.jar output.jar -cp classpath.jar -cp classpath2.jar` @@ -110,12 +119,14 @@ The class version can be replaced with a path to the pre-downgraded api jar to s Some people think that shading would mean they're bound by the stricter GPL license. I don't belive this to be the case. -For the purpose of Licensing, the produced jar from this task, or the downgrading task, should be considered a "Combined Work", +For the purpose of Licensing, the produced jar from this task, or the downgrading task, should be considered a "Combined +Work", as it contains the original code from the input jar and the shaded code from jvmdowngrader's api. And this does, usually, mean that you shouldn't need to use the *exact* same license. Running this tool, should be a thing the end-user is capable of doing, thus section 6.a should be satisfied as long as -your project provides the unshaded/undowngraded jar as well, or alternatively provides source code to build said jar, or the post-shaded jar. +your project provides the unshaded/undowngraded jar as well, or alternatively provides source code to build said jar, or +the post-shaded jar. ## Runtime Downgrading @@ -123,35 +134,38 @@ This is basically only here so I can take funny screenshots of minecraft running I recommend the agent method, as it's most reliable. ### Agent Downgrading + Uses the java agent to downgrade at runtime. ex. `java -javaagent:JvmDowngrader-all.jar -jar myapp.jar` ### Bootstrap Downgrading + Uses the bootstrap main class ex. `java -jar JvmDowngrader-all.jar bootstrap -cp myapp.jar;classpath.jar;classpath2.jar --main mainclass args` - ## From Code ### Downgrading ClassLoader This is what the bootstrap downgrader essentially uses internally. + ```groovy // add jar to default downgrading classloader -ClassDowngrader.getCurrentVersionDowngrader().getClassLoader().addDelegate(new URL[] { new File("jarname.jar").toURI().toURL() }); +ClassDowngrader.getCurrentVersionDowngrader().getClassLoader().addDelegate(new URL[]{new File("jarname.jar").toURI().toURL()}); // call main method -ClassDowngrader.getCurrentVersionDowngrader().getClassLoader().loadClass("mainclass").getMethod("main", String[].class).invoke(null, new Object[] { new String[] { "args" } }); +ClassDowngrader.getCurrentVersionDowngrader().getClassLoader().loadClass("mainclass").getMethod("main", String[].class).invoke(null, new Object[]{new String[]{"args"}}); ``` You can also create your own downgrading classloader, for more complicated environments. + ```groovy DowngradingClassLoader loader = new DowngradingClassLoader(ClassDowngrader.getCurrentVersionDowngrader(), parent); // adding jars -loader.addDelegate(new URL[] { new File("jarname.jar").toURI().toURL() }); +loader.addDelegate(new URL[]{new File("jarname.jar").toURI().toURL()}); ``` ### inspired by diff --git a/build.gradle.kts b/build.gradle.kts index 4f8258c1..7e02d6c8 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -48,7 +48,8 @@ allprojects { } } - version = if (project.hasProperty("version_snapshot")) "${project.properties["version"]}-SNAPSHOT" else project.properties["version"] as String + version = + if (project.hasProperty("version_snapshot")) "${project.properties["version"]}-SNAPSHOT" else project.properties["version"] as String group = project.properties["maven_group"] as String base { diff --git a/buildSrc/src/main/kotlin/xyz/wagyourtail/gradle/ctsym/GenerateCtSymTask.kt b/buildSrc/src/main/kotlin/xyz/wagyourtail/gradle/ctsym/GenerateCtSymTask.kt index fa4f3034..90ecc870 100644 --- a/buildSrc/src/main/kotlin/xyz/wagyourtail/gradle/ctsym/GenerateCtSymTask.kt +++ b/buildSrc/src/main/kotlin/xyz/wagyourtail/gradle/ctsym/GenerateCtSymTask.kt @@ -70,12 +70,15 @@ abstract class GenerateCtSymTask : ConventionTask() { val toolchain = project.extensions.getByType(JavaToolchainService::class.java) - ZipArchiveOutputStream(ctSym.toPath().outputStream(StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING)).use { zos -> + ZipArchiveOutputStream( + ctSym.toPath().outputStream(StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING) + ).use { zos -> val prevJava = mutableMapOf() for (java in (JavaVersion.VERSION_1_6..JavaVersion.VERSION_22).reversed()) { val home = toolchain.getJavaHome(java) project.logger.lifecycle("[ct.sym] Processing $java at $home") - for (path in home.walk().filter { it.exists() && it.isRegularFile() && it.extension in setOf("jar", "jmod") }) { + for (path in home.walk() + .filter { it.exists() && it.isRegularFile() && it.extension in setOf("jar", "jmod") }) { if (path.extension == "jar" && path.nameWithoutExtension != "rt") continue // for each jar/jmod list its contents project.logger.info("[ct.sym] Found ${path.fileName}") diff --git a/buildSrc/src/main/kotlin/xyz/wagyourtail/gradle/shadow/PackageRelocateReader.kt b/buildSrc/src/main/kotlin/xyz/wagyourtail/gradle/shadow/PackageRelocateReader.kt index 340f502a..6d0c90c9 100644 --- a/buildSrc/src/main/kotlin/xyz/wagyourtail/gradle/shadow/PackageRelocateReader.kt +++ b/buildSrc/src/main/kotlin/xyz/wagyourtail/gradle/shadow/PackageRelocateReader.kt @@ -8,10 +8,9 @@ import java.io.ByteArrayInputStream import java.io.ByteArrayOutputStream import java.io.FilterReader import java.io.Reader -import java.nio.CharBuffer import java.nio.charset.StandardCharsets -class PackageRelocateReader(input: Reader): FilterReader(input) { +class PackageRelocateReader(input: Reader) : FilterReader(input) { var remapper: PackageRelocator by MustSet() @@ -22,7 +21,7 @@ class PackageRelocateReader(input: Reader): FilterReader(input) { input.close() out.toByteArray() } - + val changedContents: Reader by lazy { val reader = ClassReader(contents) val writer = ClassWriter(0) diff --git a/downgradetest/src/main/java/xyz/wagyourtail/downgradetest/TestException.java b/downgradetest/src/main/java/xyz/wagyourtail/downgradetest/TestException.java index fe9e358a..6f7bcb92 100644 --- a/downgradetest/src/main/java/xyz/wagyourtail/downgradetest/TestException.java +++ b/downgradetest/src/main/java/xyz/wagyourtail/downgradetest/TestException.java @@ -1,7 +1,6 @@ package xyz.wagyourtail.downgradetest; import java.util.function.Function; -import java.util.function.Supplier; public class TestException { diff --git a/downgradetest/src/main/java/xyz/wagyourtail/downgradetest/TestInterface.java b/downgradetest/src/main/java/xyz/wagyourtail/downgradetest/TestInterface.java index 539847dc..7ccbd100 100644 --- a/downgradetest/src/main/java/xyz/wagyourtail/downgradetest/TestInterface.java +++ b/downgradetest/src/main/java/xyz/wagyourtail/downgradetest/TestInterface.java @@ -13,14 +13,6 @@ static void main(String[] args) { test3(); } - default void test2() { - test(); - } - - private void test() { - System.out.println("test"); - } - static void test3() { System.out.println("test3" + 4); @@ -40,4 +32,12 @@ static void test3() { } } + default void test2() { + test(); + } + + private void test() { + System.out.println("test"); + } + } diff --git a/downgradetest/src/main/java/xyz/wagyourtail/downgradetest/TestStream.java b/downgradetest/src/main/java/xyz/wagyourtail/downgradetest/TestStream.java index dba58efc..8997654b 100644 --- a/downgradetest/src/main/java/xyz/wagyourtail/downgradetest/TestStream.java +++ b/downgradetest/src/main/java/xyz/wagyourtail/downgradetest/TestStream.java @@ -8,47 +8,47 @@ public class TestStream { public static void main(String[] args) { DoubleStream.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) - .mapMulti((d, dc) -> { - dc.accept(d); - dc.accept(d * 2); - dc.accept(d * 3); - }).mapToObj(Double::toString) - .forEach(System.out::print); + .mapMulti((d, dc) -> { + dc.accept(d); + dc.accept(d * 2); + dc.accept(d * 3); + }).mapToObj(Double::toString) + .forEach(System.out::print); System.out.println(); IntStream.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) - .mapMulti((d, dc) -> { - dc.accept(d); - dc.accept(d * 2); - dc.accept(d * 3); - }).mapToObj(Integer::toString) - .forEach(System.out::print); + .mapMulti((d, dc) -> { + dc.accept(d); + dc.accept(d * 2); + dc.accept(d * 3); + }).mapToObj(Integer::toString) + .forEach(System.out::print); System.out.println(); LongStream.of(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) - .mapMulti((d, dc) -> { - dc.accept(d); - dc.accept(d * 2); - dc.accept(d * 3); - }).mapToObj(Long::toString) - .forEach(System.out::print); + .mapMulti((d, dc) -> { + dc.accept(d); + dc.accept(d * 2); + dc.accept(d * 3); + }).mapToObj(Long::toString) + .forEach(System.out::print); System.out.println(); DoubleStream.of(1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) - .takeWhile(d -> d % 10 < 4) - .mapToObj(Double::toString) - .forEach(System.out::print); + .takeWhile(d -> d % 10 < 4) + .mapToObj(Double::toString) + .forEach(System.out::print); System.out.println(); IntStream.of(1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) - .dropWhile(d -> d % 10 < 4) - .mapToObj(Integer::toString) - .forEach(System.out::print); + .dropWhile(d -> d % 10 < 4) + .mapToObj(Integer::toString) + .forEach(System.out::print); System.out.println(); DoubleStream.iterate(0, d -> d < 10, d -> d + 1) - .mapToObj(Double::toString) - .forEach(System.out::print); + .mapToObj(Double::toString) + .forEach(System.out::print); System.out.println(); } diff --git a/downgradetest/src/main/java/xyz/wagyourtail/downgradetest/TestString.java b/downgradetest/src/main/java/xyz/wagyourtail/downgradetest/TestString.java index 492d9b4e..c374c8c0 100644 --- a/downgradetest/src/main/java/xyz/wagyourtail/downgradetest/TestString.java +++ b/downgradetest/src/main/java/xyz/wagyourtail/downgradetest/TestString.java @@ -16,10 +16,10 @@ public static void main(String[] args) { System.out.println(a + b + "ccc"); System.out.println(""" - This is a test - \t \tof the new multiline - string literal - """.stripIndent()); + This is a test + \t \tof the new multiline + string literal + """.stripIndent()); System.out.println("this is a \\t test \\\" \\n ".translateEscapes()); System.out.println("test %s".formatted("test2")); diff --git a/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/JVMDowngraderExtension.kt b/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/JVMDowngraderExtension.kt index d780e154..7d865e41 100644 --- a/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/JVMDowngraderExtension.kt +++ b/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/JVMDowngraderExtension.kt @@ -6,7 +6,6 @@ import org.gradle.jvm.tasks.Jar import org.jetbrains.annotations.ApiStatus import xyz.wagyourtail.jvmdg.ClassDowngrader import xyz.wagyourtail.jvmdg.cli.Flags -import xyz.wagyourtail.jvmdg.compile.ApiShader import xyz.wagyourtail.jvmdg.compile.ZipDowngrader import xyz.wagyourtail.jvmdg.gradle.task.DowngradeJar import xyz.wagyourtail.jvmdg.gradle.task.ShadeAPI @@ -15,10 +14,6 @@ import xyz.wagyourtail.jvmdg.util.LazyMutable import xyz.wagyourtail.jvmdg.util.defaultedMapOf import xyz.wagyourtail.jvmdg.util.toOpcode import java.io.File -import java.nio.file.StandardOpenOption -import java.util.zip.ZipInputStream -import java.util.zip.ZipOutputStream -import kotlin.io.path.outputStream abstract class JVMDowngraderExtension(val project: Project) { diff --git a/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/JVMDowngraderPlugin.kt b/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/JVMDowngraderPlugin.kt index 3ab7cfcf..920f4425 100644 --- a/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/JVMDowngraderPlugin.kt +++ b/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/JVMDowngraderPlugin.kt @@ -3,7 +3,7 @@ package xyz.wagyourtail.jvmdg.gradle import org.gradle.api.Plugin import org.gradle.api.Project -class JVMDowngraderPlugin: Plugin { +class JVMDowngraderPlugin : Plugin { override fun apply(project: Project) { project.extensions.create("jvmdg", JVMDowngraderExtension::class.java, project) diff --git a/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/task/DowngradeFiles.kt b/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/task/DowngradeFiles.kt index ac5649ba..7d67e9fd 100644 --- a/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/task/DowngradeFiles.kt +++ b/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/task/DowngradeFiles.kt @@ -13,7 +13,9 @@ import xyz.wagyourtail.jvmdg.compile.PathDowngrader import xyz.wagyourtail.jvmdg.gradle.JVMDowngraderExtension import xyz.wagyourtail.jvmdg.util.* import java.nio.file.FileSystem -import kotlin.io.path.* +import kotlin.io.path.exists +import kotlin.io.path.isDirectory +import kotlin.io.path.name abstract class DowngradeFiles : ConventionTask() { private val jvmdg by lazy { @@ -73,17 +75,21 @@ abstract class DowngradeFiles : ConventionTask() { outputs.files.forEach { it.deleteRecursively() } - val downgraded = toDowngrade.map { temporaryDir.resolve(it.name) }.map { if (it.extension == "jar" || it.extension == "zip") { - val fs = Utils.openZipFileSystem(it.toPath(), mapOf("create" to "true")) - fileSystems.add(fs) - fs.getPath("/") - } else it.toPath() } - - toDowngrade = toDowngrade.map { if (it.isDirectory()) it else run { - val fs = Utils.openZipFileSystem(it, mapOf()) - fileSystems.add(fs) - fs.getPath("/") - } } + val downgraded = toDowngrade.map { temporaryDir.resolve(it.name) }.map { + if (it.extension == "jar" || it.extension == "zip") { + val fs = Utils.openZipFileSystem(it.toPath(), mapOf("create" to "true")) + fileSystems.add(fs) + fs.getPath("/") + } else it.toPath() + } + + toDowngrade = toDowngrade.map { + if (it.isDirectory()) it else run { + val fs = Utils.openZipFileSystem(it, mapOf()) + fileSystems.add(fs) + fs.getPath("/") + } + } ClassDowngrader.downgradeTo(flags).use { PathDowngrader.downgradePaths(it, toDowngrade, downgraded, classpath.map { it.toURI().toURL() }.toSet()) } diff --git a/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/task/DowngradeJar.kt b/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/task/DowngradeJar.kt index 05534e24..ff4d7d41 100644 --- a/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/task/DowngradeJar.kt +++ b/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/gradle/task/DowngradeJar.kt @@ -17,11 +17,7 @@ import xyz.wagyourtail.jvmdg.ClassDowngrader import xyz.wagyourtail.jvmdg.cli.Flags import xyz.wagyourtail.jvmdg.compile.ZipDowngrader import xyz.wagyourtail.jvmdg.gradle.JVMDowngraderExtension -import xyz.wagyourtail.jvmdg.util.deleteIfExists -import xyz.wagyourtail.jvmdg.util.readZipInputStreamFor -import xyz.wagyourtail.jvmdg.util.toOpcode -import xyz.wagyourtail.jvmdg.util.FinalizeOnRead -import xyz.wagyourtail.jvmdg.util.LazyMutable +import xyz.wagyourtail.jvmdg.util.* import java.nio.file.StandardOpenOption import kotlin.io.path.outputStream diff --git a/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/util/DefaultMap.kt b/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/util/DefaultMap.kt index 29986e96..b90ce720 100644 --- a/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/util/DefaultMap.kt +++ b/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/util/DefaultMap.kt @@ -2,9 +2,10 @@ package xyz.wagyourtail.jvmdg.util // https://discuss.kotlinlang.org/t/map-withdefault-not-defaulting/7691/2 // doing it anyway -class DefaultMap(val initializer: (T) -> U, val map: MutableMap = mutableMapOf()): MutableMap by map { +class DefaultMap(val initializer: (T) -> U, val map: MutableMap = mutableMapOf()) : + MutableMap by map { - class NeverException: Exception() + class NeverException : Exception() override fun get(key: T): U { if (!containsKey(key)) { diff --git a/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/util/FinalizeOnRead.kt b/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/util/FinalizeOnRead.kt index f16ddeaf..0e20332f 100644 --- a/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/util/FinalizeOnRead.kt +++ b/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/util/FinalizeOnRead.kt @@ -4,14 +4,15 @@ import kotlin.properties.ReadWriteProperty import kotlin.reflect.KProperty @Suppress("UNCHECKED_CAST") -class FinalizeOnRead(value: T): ReadWriteProperty { +class FinalizeOnRead(value: T) : ReadWriteProperty { companion object { val FINALIZED_DEBUG = System.getProperty("FINALIZED_DEBUG")?.toBoolean() ?: false } + var finalized = false var value: Any? = value - constructor(prop: ReadWriteProperty): this(prop as T) + constructor(prop: ReadWriteProperty) : this(prop as T) override fun getValue(thisRef: Any?, property: KProperty<*>): T { if (!finalized && FINALIZED_DEBUG) { diff --git a/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/util/LazyMutable.kt b/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/util/LazyMutable.kt index e385859a..ffe9b99d 100644 --- a/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/util/LazyMutable.kt +++ b/gradle-plugin/src/main/kotlin/xyz/wagyourtail/jvmdg/util/LazyMutable.kt @@ -4,7 +4,7 @@ import kotlin.properties.ReadWriteProperty import kotlin.reflect.KProperty // https://stackoverflow.com/questions/47947841/kotlin-var-lazy-init :) -class LazyMutable(val initializer: () -> T): ReadWriteProperty { +class LazyMutable(val initializer: () -> T) : ReadWriteProperty { @Suppress("ClassName") private object UNINITIALIZED_VALUE diff --git a/gradle.properties b/gradle.properties index 4fc04830..691a4c27 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,19 +1,13 @@ kotlin.code.style=official org.gradle.jvmargs=-Xmx4G org.gradle.parallel=true - version=0.5.0 - asm_version=9.7 - mainVersion=7 testVersion=21 - # because java 7 support is in beta* testTargetVersion=8 - stubFromVersion=8 stubToVersion=22 - maven_group=xyz.wagyourtail.jvmdowngrader archives_base_name=jvmdowngrader diff --git a/java-api/build.gradle.kts b/java-api/build.gradle.kts index 676fd878..93031e65 100644 --- a/java-api/build.gradle.kts +++ b/java-api/build.gradle.kts @@ -181,7 +181,8 @@ fun JavaCompile.configCompile(version: JavaVersion) { } } -val tempFile11 = project.layout.buildDirectory.get().asFile.resolve("jvmdg").resolve("java-api-${project.version}-downgraded-11.jar") +val tempFile11 = + project.layout.buildDirectory.get().asFile.resolve("jvmdg").resolve("java-api-${project.version}-downgraded-11.jar") val downgradeJar11Exec by tasks.registering(JavaExec::class) { group = "jvmdg" @@ -208,7 +209,8 @@ val downgradeJar11 by tasks.registering(Jar::class) { from(zipTree(tempFile11)) } -val tempFile8 = project.layout.buildDirectory.get().asFile.resolve("jvmdg").resolve("java-api-${project.version}-downgraded-8.jar") +val tempFile8 = + project.layout.buildDirectory.get().asFile.resolve("jvmdg").resolve("java-api-${project.version}-downgraded-8.jar") val downgradeJar8Exec by tasks.registering(JavaExec::class) { group = "jvmdg" diff --git a/java-api/src/java10/java/xyz/wagyourtail/jvmdg/j10/stub/java_base/J_U_S_Collectors.java b/java-api/src/java10/java/xyz/wagyourtail/jvmdg/j10/stub/java_base/J_U_S_Collectors.java index ffcaf6ec..9a6067ac 100644 --- a/java-api/src/java10/java/xyz/wagyourtail/jvmdg/j10/stub/java_base/J_U_S_Collectors.java +++ b/java-api/src/java10/java/xyz/wagyourtail/jvmdg/j10/stub/java_base/J_U_S_Collectors.java @@ -18,11 +18,11 @@ public class J_U_S_Collectors { public static Collector> toUnmodifiableList() { Collector, List> listCollector = (Collector) Collectors.toList(); return Collector.of( - listCollector.supplier(), - listCollector.accumulator(), - listCollector.combiner(), - J_U_List::copyOf, - listCollector.characteristics().toArray(new Collector.Characteristics[0]) + listCollector.supplier(), + listCollector.accumulator(), + listCollector.combiner(), + J_U_List::copyOf, + listCollector.characteristics().toArray(new Collector.Characteristics[0]) ); } @@ -30,26 +30,26 @@ public class J_U_S_Collectors { public static Collector> toUnmodifiableSet() { Collector, Set> setCollector = (Collector) Collectors.toSet(); return Collector.of( - setCollector.supplier(), - setCollector.accumulator(), - setCollector.combiner(), - J_U_Set::copyOf, - setCollector.characteristics().toArray(new Collector.Characteristics[0]) + setCollector.supplier(), + setCollector.accumulator(), + setCollector.combiner(), + J_U_Set::copyOf, + setCollector.characteristics().toArray(new Collector.Characteristics[0]) ); } @Stub(ref = @Ref("Ljava/util/stream/Collectors;")) public static Collector> toUnmodifiableMap( - Function keyMapper, - Function valueMapper + Function keyMapper, + Function valueMapper ) { Collector, Map> mapCollector = (Collector) Collectors.toMap(keyMapper, valueMapper); return Collector.of( - mapCollector.supplier(), - mapCollector.accumulator(), - mapCollector.combiner(), - J_U_Map::copyOf, - mapCollector.characteristics().toArray(new Collector.Characteristics[0]) + mapCollector.supplier(), + mapCollector.accumulator(), + mapCollector.combiner(), + J_U_Map::copyOf, + mapCollector.characteristics().toArray(new Collector.Characteristics[0]) ); } @@ -57,16 +57,16 @@ public class J_U_S_Collectors { public static Collector> toUnmodifiableMap(Function keyMapper, Function valueMapper, BinaryOperator mergeFunction) { Collector, Map> mapCollector = (Collector) Collectors.toMap( - keyMapper, - valueMapper, - mergeFunction + keyMapper, + valueMapper, + mergeFunction ); return Collector.of( - mapCollector.supplier(), - mapCollector.accumulator(), - mapCollector.combiner(), - J_U_Map::copyOf, - mapCollector.characteristics().toArray(new Collector.Characteristics[0]) + mapCollector.supplier(), + mapCollector.accumulator(), + mapCollector.combiner(), + J_U_Map::copyOf, + mapCollector.characteristics().toArray(new Collector.Characteristics[0]) ); } diff --git a/java-api/src/java10/java/xyz/wagyourtail/jvmdg/j10/stub/java_base/J_U_Scanner.java b/java-api/src/java10/java/xyz/wagyourtail/jvmdg/j10/stub/java_base/J_U_Scanner.java index 1a5fbbf0..9da4cd88 100644 --- a/java-api/src/java10/java/xyz/wagyourtail/jvmdg/j10/stub/java_base/J_U_Scanner.java +++ b/java-api/src/java10/java/xyz/wagyourtail/jvmdg/j10/stub/java_base/J_U_Scanner.java @@ -2,7 +2,9 @@ import org.objectweb.asm.Opcodes; -import org.objectweb.asm.tree.*; +import org.objectweb.asm.tree.InsnList; +import org.objectweb.asm.tree.MethodInsnNode; +import org.objectweb.asm.tree.MethodNode; import xyz.wagyourtail.jvmdg.version.Modify; import xyz.wagyourtail.jvmdg.version.Ref; diff --git a/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_I_InputStream.java b/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_I_InputStream.java index ecac68e4..fcde9fce 100644 --- a/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_I_InputStream.java +++ b/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_I_InputStream.java @@ -75,7 +75,7 @@ public byte[] readNBytes(int len) throws IOException { @Override public int readNBytes(byte[] b, int off, int len) - throws IOException { + throws IOException { Objects.checkFromIndexSize(off, len, b.length); ensureOpen(); return 0; diff --git a/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_L_Class.java b/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_L_Class.java index 39b8daa3..6a5e7da5 100644 --- a/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_L_Class.java +++ b/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_L_Class.java @@ -4,7 +4,6 @@ import xyz.wagyourtail.jvmdg.j11.NestMembers; import xyz.wagyourtail.jvmdg.version.Stub; -import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Arrays; import java.util.List; diff --git a/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_U_C_TimeUnit.java b/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_U_C_TimeUnit.java index 2777e7b7..a65aa776 100644 --- a/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_U_C_TimeUnit.java +++ b/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_U_C_TimeUnit.java @@ -11,8 +11,8 @@ public class J_U_C_TimeUnit { @Stub public static long convert(TimeUnit tu, Duration duration) { return tu.convert(duration.getSeconds(), TimeUnit.SECONDS) + tu.convert( - duration.getNano(), - TimeUnit.NANOSECONDS + duration.getNano(), + TimeUnit.NANOSECONDS ); } diff --git a/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_U_Z_Deflater.java b/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_U_Z_Deflater.java index 23240350..fa759eb8 100644 --- a/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_U_Z_Deflater.java +++ b/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_U_Z_Deflater.java @@ -21,7 +21,7 @@ public static int deflate(Deflater def, ByteBuffer buf, int flush) { @Stub public static void setInput(Deflater def, ByteBuffer buf) { throw new UnsupportedOperationException( - "JVMDowngrader, setInput(ByteBuffer) is not supported because it's impure."); + "JVMDowngrader, setInput(ByteBuffer) is not supported because it's impure."); } } diff --git a/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_U_Z_Inflater.java b/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_U_Z_Inflater.java index 0985cabf..86322850 100644 --- a/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_U_Z_Inflater.java +++ b/java-api/src/java11/java/xyz/wagyourtail/jvmdg/j11/stub/java_base/J_U_Z_Inflater.java @@ -23,7 +23,7 @@ public static void setDictionary(Inflater inf, ByteBuffer buf) { @Stub public static void setInput(Deflater def, ByteBuffer buf) { throw new UnsupportedOperationException( - "JVMDowngrader, setInput(ByteBuffer) is not supported because it's impure."); + "JVMDowngrader, setInput(ByteBuffer) is not supported because it's impure."); } } diff --git a/java-api/src/java12/java/xyz/wagyourtail/jvmdg/j12/stub/java_base/J_U_S_Collectors.java b/java-api/src/java12/java/xyz/wagyourtail/jvmdg/j12/stub/java_base/J_U_S_Collectors.java index 5a166ec3..45d1e426 100644 --- a/java-api/src/java12/java/xyz/wagyourtail/jvmdg/j12/stub/java_base/J_U_S_Collectors.java +++ b/java-api/src/java12/java/xyz/wagyourtail/jvmdg/j12/stub/java_base/J_U_S_Collectors.java @@ -71,11 +71,11 @@ public Teeing(Collector downstream1, Collector collector() { return Collector.of( - PairBox::new, - PairBox::add, - PairBox::combine, - PairBox::get, - characteristics.toArray(new Collector.Characteristics[0]) + PairBox::new, + PairBox::add, + PairBox::combine, + PairBox::get, + characteristics.toArray(new Collector.Characteristics[0]) ); } diff --git a/java-api/src/java15/java/xyz/wagyourtail/jvmdg/j15/stub/java_base/J_L_String.java b/java-api/src/java15/java/xyz/wagyourtail/jvmdg/j15/stub/java_base/J_L_String.java index 53d7fc68..37ddc084 100644 --- a/java-api/src/java15/java/xyz/wagyourtail/jvmdg/j15/stub/java_base/J_L_String.java +++ b/java-api/src/java15/java/xyz/wagyourtail/jvmdg/j15/stub/java_base/J_L_String.java @@ -80,9 +80,9 @@ public static String translateEscapes(String str) { c = (char) code; } default -> throw new IllegalArgumentException(String.format( - "Invalid escape sequence: \\%c \\\\u%04X", - d, - (int) d + "Invalid escape sequence: \\%c \\\\u%04X", + d, + (int) d )); } } else { diff --git a/java-api/src/java15/java/xyz/wagyourtail/jvmdg/j15/stub/java_base/J_U_NoSuchElementException.java b/java-api/src/java15/java/xyz/wagyourtail/jvmdg/j15/stub/java_base/J_U_NoSuchElementException.java index bb0dc734..97380720 100644 --- a/java-api/src/java15/java/xyz/wagyourtail/jvmdg/j15/stub/java_base/J_U_NoSuchElementException.java +++ b/java-api/src/java15/java/xyz/wagyourtail/jvmdg/j15/stub/java_base/J_U_NoSuchElementException.java @@ -2,7 +2,10 @@ import org.objectweb.asm.Opcodes; -import org.objectweb.asm.tree.*; +import org.objectweb.asm.tree.InsnList; +import org.objectweb.asm.tree.InsnNode; +import org.objectweb.asm.tree.MethodInsnNode; +import org.objectweb.asm.tree.MethodNode; import xyz.wagyourtail.jvmdg.version.Modify; import xyz.wagyourtail.jvmdg.version.Ref; diff --git a/java-api/src/java16/java/xyz/wagyourtail/jvmdg/j16/stub/java_base/J_L_IndexOutOfBoundsException.java b/java-api/src/java16/java/xyz/wagyourtail/jvmdg/j16/stub/java_base/J_L_IndexOutOfBoundsException.java index 8dcb32ac..d2cf547b 100644 --- a/java-api/src/java16/java/xyz/wagyourtail/jvmdg/j16/stub/java_base/J_L_IndexOutOfBoundsException.java +++ b/java-api/src/java16/java/xyz/wagyourtail/jvmdg/j16/stub/java_base/J_L_IndexOutOfBoundsException.java @@ -3,10 +3,12 @@ import org.objectweb.asm.Handle; import org.objectweb.asm.Opcodes; -import org.objectweb.asm.tree.*; +import org.objectweb.asm.tree.InsnList; +import org.objectweb.asm.tree.InvokeDynamicInsnNode; +import org.objectweb.asm.tree.MethodInsnNode; +import org.objectweb.asm.tree.MethodNode; import xyz.wagyourtail.jvmdg.version.Modify; import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.version.Stub; public class J_L_IndexOutOfBoundsException { @@ -16,15 +18,15 @@ public static void init(MethodNode mNode, int i) { InsnList list = new InsnList(); // string concat factory, "Index out of range: \u0001" list.add(new InvokeDynamicInsnNode( - "makeConcatWithConstants", - "(J)Ljava/lang/String;", - new Handle( - Opcodes.H_INVOKESTATIC, - "java/lang/invoke/StringConcatFactory", "makeConcatWithConstants", - "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;" - ), - "Index out of range: \u0001" + "(J)Ljava/lang/String;", + new Handle( + Opcodes.H_INVOKESTATIC, + "java/lang/invoke/StringConcatFactory", + "makeConcatWithConstants", + "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;" + ), + "Index out of range: \u0001" )); // call init list.add(new MethodInsnNode(Opcodes.INVOKESPECIAL, "java/lang/IndexOutOfBoundsException", "", "(Ljava/lang/String;)V", false)); diff --git a/java-api/src/java16/java/xyz/wagyourtail/jvmdg/j16/stub/java_base/J_L_R_ObjectMethods.java b/java-api/src/java16/java/xyz/wagyourtail/jvmdg/j16/stub/java_base/J_L_R_ObjectMethods.java index b83c93cd..1c76b2f9 100644 --- a/java-api/src/java16/java/xyz/wagyourtail/jvmdg/j16/stub/java_base/J_L_R_ObjectMethods.java +++ b/java-api/src/java16/java/xyz/wagyourtail/jvmdg/j16/stub/java_base/J_L_R_ObjectMethods.java @@ -8,7 +8,6 @@ import org.objectweb.asm.tree.InvokeDynamicInsnNode; import org.objectweb.asm.tree.MethodInsnNode; import org.objectweb.asm.tree.MethodNode; -import xyz.wagyourtail.jvmdg.Constants; import xyz.wagyourtail.jvmdg.version.Modify; import xyz.wagyourtail.jvmdg.version.Ref; @@ -35,13 +34,13 @@ public static void bootstrap(MethodNode mnode, int i, ClassNode cnode) { case "toString" -> makeToString(cnode, mname, indy.desc, recordClass, fieldNames, getters); } mnode.instructions.insert(indy, - new MethodInsnNode( - Opcodes.INVOKESTATIC, - cnode.name, - mname, - indy.desc, - false - ) + new MethodInsnNode( + Opcodes.INVOKESTATIC, + cnode.name, + mname, + indy.desc, + false + ) ); mnode.instructions.remove(indy); } @@ -96,11 +95,11 @@ private static void makeEquals(ClassNode cnode, String mname, String desc, Type } case Type.ARRAY, Type.OBJECT -> { visitor.visitMethodInsn( - Opcodes.INVOKESTATIC, - "java/util/Objects", - "equals", - "(Ljava/lang/Object;Ljava/lang/Object;)Z", - false + Opcodes.INVOKESTATIC, + "java/util/Objects", + "equals", + "(Ljava/lang/Object;Ljava/lang/Object;)Z", + false ); visitor.visitJumpInsn(Opcodes.IFEQ, notEqual); } @@ -135,74 +134,74 @@ private static void makeHashCode(ClassNode cnode, String mname, String desc, Typ switch (type.getSort()) { case Type.BOOLEAN -> { visitor.visitMethodInsn( - Opcodes.INVOKESTATIC, - "java/lang/Boolean", - "valueOf", - "(Z)Ljava/lang/Boolean;", - false + Opcodes.INVOKESTATIC, + "java/lang/Boolean", + "valueOf", + "(Z)Ljava/lang/Boolean;", + false ); } case Type.BYTE -> { visitor.visitMethodInsn( - Opcodes.INVOKESTATIC, - "java/lang/Byte", - "valueOf", - "(B)Ljava/lang/Byte;", - false + Opcodes.INVOKESTATIC, + "java/lang/Byte", + "valueOf", + "(B)Ljava/lang/Byte;", + false ); } case Type.CHAR -> { visitor.visitMethodInsn( - Opcodes.INVOKESTATIC, - "java/lang/Character", - "valueOf", - "(C)Ljava/lang/Character;", - false + Opcodes.INVOKESTATIC, + "java/lang/Character", + "valueOf", + "(C)Ljava/lang/Character;", + false ); } case Type.SHORT -> { visitor.visitMethodInsn( - Opcodes.INVOKESTATIC, - "java/lang/Short", - "valueOf", - "(S)Ljava/lang/Short;", - false + Opcodes.INVOKESTATIC, + "java/lang/Short", + "valueOf", + "(S)Ljava/lang/Short;", + false ); } case Type.INT -> { visitor.visitMethodInsn( - Opcodes.INVOKESTATIC, - "java/lang/Integer", - "valueOf", - "(I)Ljava/lang/Integer;", - false + Opcodes.INVOKESTATIC, + "java/lang/Integer", + "valueOf", + "(I)Ljava/lang/Integer;", + false ); } case Type.LONG -> { visitor.visitMethodInsn( - Opcodes.INVOKESTATIC, - "java/lang/Long", - "valueOf", - "(J)Ljava/lang/Long;", - false + Opcodes.INVOKESTATIC, + "java/lang/Long", + "valueOf", + "(J)Ljava/lang/Long;", + false ); } case Type.FLOAT -> { visitor.visitMethodInsn( - Opcodes.INVOKESTATIC, - "java/lang/Float", - "valueOf", - "(F)Ljava/lang/Float;", - false + Opcodes.INVOKESTATIC, + "java/lang/Float", + "valueOf", + "(F)Ljava/lang/Float;", + false ); } case Type.DOUBLE -> { visitor.visitMethodInsn( - Opcodes.INVOKESTATIC, - "java/lang/Double", - "valueOf", - "(D)Ljava/lang/Double;", - false + Opcodes.INVOKESTATIC, + "java/lang/Double", + "valueOf", + "(D)Ljava/lang/Double;", + false ); } case Type.ARRAY, Type.OBJECT -> { @@ -215,11 +214,11 @@ private static void makeHashCode(ClassNode cnode, String mname, String desc, Typ // return Objects.hashCode(fields); visitor.visitVarInsn(Opcodes.ALOAD, 1); visitor.visitMethodInsn( - Opcodes.INVOKESTATIC, - "java/util/Arrays", - "hashCode", - "([Ljava/lang/Object;)I", - false + Opcodes.INVOKESTATIC, + "java/util/Arrays", + "hashCode", + "([Ljava/lang/Object;)I", + false ); visitor.visitInsn(Opcodes.IRETURN); visitor.visitMaxs(0, 0); @@ -236,11 +235,11 @@ private static void makeToString(ClassNode cnode, String mname, String desc, Typ visitor.visitInsn(Opcodes.DUP); visitor.visitLdcInsn(last + "["); visitor.visitMethodInsn( - Opcodes.INVOKESPECIAL, - "java/lang/StringBuilder", - "", - "(Ljava/lang/String;)V", - false + Opcodes.INVOKESPECIAL, + "java/lang/StringBuilder", + "", + "(Ljava/lang/String;)V", + false ); String[] fns; if (fieldNames.isEmpty()) { @@ -254,11 +253,11 @@ private static void makeToString(ClassNode cnode, String mname, String desc, Typ for (int i = 0; i < fns.length; i++) { visitor.visitLdcInsn(fns[i] + "="); visitor.visitMethodInsn( - Opcodes.INVOKEVIRTUAL, - "java/lang/StringBuilder", - "append", - "(Ljava/lang/String;)Ljava/lang/StringBuilder;", - false + Opcodes.INVOKEVIRTUAL, + "java/lang/StringBuilder", + "append", + "(Ljava/lang/String;)Ljava/lang/StringBuilder;", + false ); visitor.visitVarInsn(Opcodes.ALOAD, 0); visitor.visitFieldInsn(Opcodes.GETFIELD, recordClass.getInternalName(), getters.get(i).getName(), getters.get(i).getDesc()); @@ -269,57 +268,57 @@ private static void makeToString(ClassNode cnode, String mname, String desc, Typ case Type.ARRAY: if (tdesc.equals("Ljava/lang/String;")) { visitor.visitMethodInsn( - Opcodes.INVOKEVIRTUAL, - "java/lang/StringBuilder", - "append", - "(Ljava/lang/String;)Ljava/lang/StringBuilder;", - false + Opcodes.INVOKEVIRTUAL, + "java/lang/StringBuilder", + "append", + "(Ljava/lang/String;)Ljava/lang/StringBuilder;", + false ); } else { visitor.visitMethodInsn( - Opcodes.INVOKEVIRTUAL, - "java/lang/StringBuilder", - "append", - "(Ljava/lang/Object;)Ljava/lang/StringBuilder;", - false + Opcodes.INVOKEVIRTUAL, + "java/lang/StringBuilder", + "append", + "(Ljava/lang/Object;)Ljava/lang/StringBuilder;", + false ); } break; default: visitor.visitMethodInsn( - Opcodes.INVOKEVIRTUAL, - "java/lang/StringBuilder", - "append", - "(" + tdesc + ")Ljava/lang/StringBuilder;", - false + Opcodes.INVOKEVIRTUAL, + "java/lang/StringBuilder", + "append", + "(" + tdesc + ")Ljava/lang/StringBuilder;", + false ); break; } if (i < fns.length - 1) { visitor.visitLdcInsn(", "); visitor.visitMethodInsn( - Opcodes.INVOKEVIRTUAL, - "java/lang/StringBuilder", - "append", - "(Ljava/lang/String;)Ljava/lang/StringBuilder;", - false + Opcodes.INVOKEVIRTUAL, + "java/lang/StringBuilder", + "append", + "(Ljava/lang/String;)Ljava/lang/StringBuilder;", + false ); } } visitor.visitLdcInsn("]"); visitor.visitMethodInsn( - Opcodes.INVOKEVIRTUAL, - "java/lang/StringBuilder", - "append", - "(Ljava/lang/String;)Ljava/lang/StringBuilder;", - false + Opcodes.INVOKEVIRTUAL, + "java/lang/StringBuilder", + "append", + "(Ljava/lang/String;)Ljava/lang/StringBuilder;", + false ); visitor.visitMethodInsn( - Opcodes.INVOKEVIRTUAL, - "java/lang/StringBuilder", - "toString", - "()Ljava/lang/String;", - false + Opcodes.INVOKEVIRTUAL, + "java/lang/StringBuilder", + "toString", + "()Ljava/lang/String;", + false ); visitor.visitInsn(Opcodes.ARETURN); visitor.visitMaxs(0, 0); diff --git a/java-api/src/java16/java/xyz/wagyourtail/jvmdg/j16/stub/java_base/J_N_H_HttpRequest.java b/java-api/src/java16/java/xyz/wagyourtail/jvmdg/j16/stub/java_base/J_N_H_HttpRequest.java index 37e4882c..3d85caaa 100644 --- a/java-api/src/java16/java/xyz/wagyourtail/jvmdg/j16/stub/java_base/J_N_H_HttpRequest.java +++ b/java-api/src/java16/java/xyz/wagyourtail/jvmdg/j16/stub/java_base/J_N_H_HttpRequest.java @@ -79,7 +79,7 @@ private static long reduceLength(long a, long b) { @Override public long contentLength() { long l = Arrays.stream(publishers).mapToLong(HttpRequest.BodyPublisher::contentLength).reduce( - AggregatePublisher::reduceLength).orElse(0L); + AggregatePublisher::reduceLength).orElse(0L); if (l < 0) { return -1; } else { diff --git a/java-api/src/java16/java/xyz/wagyourtail/jvmdg/j16/stub/java_base/J_U_Objects.java b/java-api/src/java16/java/xyz/wagyourtail/jvmdg/j16/stub/java_base/J_U_Objects.java index 081a67f1..1d3aa960 100644 --- a/java-api/src/java16/java/xyz/wagyourtail/jvmdg/j16/stub/java_base/J_U_Objects.java +++ b/java-api/src/java16/java/xyz/wagyourtail/jvmdg/j16/stub/java_base/J_U_Objects.java @@ -18,7 +18,7 @@ public static long checkIndex(long index, long length) { public static long checkFromToIndex(long fromIndex, long toIndex, long length) { if (fromIndex < 0 || fromIndex > toIndex || toIndex > length) { throw new IndexOutOfBoundsException( - "Range [" + fromIndex + ", " + toIndex + ") out of bounds for length " + length); + "Range [" + fromIndex + ", " + toIndex + ") out of bounds for length " + length); } return fromIndex; } @@ -27,7 +27,7 @@ public static long checkFromToIndex(long fromIndex, long toIndex, long length) { public static long checkFromIndexSize(long fromIndex, long size, long length) { if (fromIndex < 0 || size < 0 || fromIndex > length - size) { throw new IndexOutOfBoundsException( - "Range [" + fromIndex + ", " + (fromIndex + size) + ") out of bounds for length " + length); + "Range [" + fromIndex + ", " + (fromIndex + size) + ") out of bounds for length " + length); } return fromIndex; } diff --git a/java-api/src/java17/java/xyz/wagyourtail/jvmdg/j17/stub/java_base/J_L_Class.java b/java-api/src/java17/java/xyz/wagyourtail/jvmdg/j17/stub/java_base/J_L_Class.java index b199ce6e..34b5816f 100644 --- a/java-api/src/java17/java/xyz/wagyourtail/jvmdg/j17/stub/java_base/J_L_Class.java +++ b/java-api/src/java17/java/xyz/wagyourtail/jvmdg/j17/stub/java_base/J_L_Class.java @@ -4,8 +4,6 @@ import xyz.wagyourtail.jvmdg.j17.PermittedSubClasses; import xyz.wagyourtail.jvmdg.version.Stub; -import java.lang.reflect.Field; - public class J_L_Class { @Stub diff --git a/java-api/src/java17/java/xyz/wagyourtail/jvmdg/j17/stub/java_base/J_U_R_RandomGenerator.java b/java-api/src/java17/java/xyz/wagyourtail/jvmdg/j17/stub/java_base/J_U_R_RandomGenerator.java index 2b8fa78f..431afc62 100644 --- a/java-api/src/java17/java/xyz/wagyourtail/jvmdg/j17/stub/java_base/J_U_R_RandomGenerator.java +++ b/java-api/src/java17/java/xyz/wagyourtail/jvmdg/j17/stub/java_base/J_U_R_RandomGenerator.java @@ -19,8 +19,8 @@ public interface J_U_R_RandomGenerator { static boolean jvmdg$instanceof(Object obj) { return obj instanceof J_U_R_RandomGenerator || - obj instanceof Random || - obj instanceof SplittableRandom; + obj instanceof Random || + obj instanceof SplittableRandom; } static J_U_R_RandomGenerator jvmdg$checkcast(Object obj) { @@ -41,24 +41,164 @@ static J_U_R_RandomGenerator getDefault() { return new BasicRandomGeneratorImpl(new Random()); } - default boolean isDeprecated() { - return false; - } - @Stub(noSpecial = true) static boolean isDeprecated(@Coerce(J_U_R_RandomGenerator.class) Object obj) { return jvmdg$checkcast(obj).isDeprecated(); } - default DoubleStream doubles() { - return DoubleStream.generate(this::nextDouble).sequential(); - } - @Stub(noSpecial = true) static DoubleStream doubles(@Coerce(J_U_R_RandomGenerator.class) Object obj) { return jvmdg$checkcast(obj).doubles(); } + @Stub(noSpecial = true) + static DoubleStream doubles(@Coerce(J_U_R_RandomGenerator.class) Object obj, double lower, double upper) { + return jvmdg$checkcast(obj).doubles(lower, upper); + } + + @Stub(noSpecial = true) + static DoubleStream doubles(@Coerce(J_U_R_RandomGenerator.class) Object obj, long limit) { + return jvmdg$checkcast(obj).doubles(limit); + } + + @Stub(noSpecial = true) + static DoubleStream doubles(@Coerce(J_U_R_RandomGenerator.class) Object obj, long limit, double origin, double bound) { + return jvmdg$checkcast(obj).doubles(limit, origin, bound); + } + + @Stub(noSpecial = true) + static IntStream ints(@Coerce(J_U_R_RandomGenerator.class) Object obj) { + return jvmdg$checkcast(obj).ints(); + } + + @Stub(noSpecial = true) + static IntStream ints(@Coerce(J_U_R_RandomGenerator.class) Object obj, int origin, int bound) { + return jvmdg$checkcast(obj).ints(origin, bound); + } + + @Stub(noSpecial = true) + static IntStream ints(@Coerce(J_U_R_RandomGenerator.class) Object obj, long limit) { + return jvmdg$checkcast(obj).ints(limit); + } + + @Stub(noSpecial = true) + static IntStream ints(@Coerce(J_U_R_RandomGenerator.class) Object obj, long limit, int origin, int bound) { + return jvmdg$checkcast(obj).ints(limit, origin, bound); + } + + @Stub(noSpecial = true) + static LongStream longs(@Coerce(J_U_R_RandomGenerator.class) Object obj) { + return jvmdg$checkcast(obj).longs(); + } + + @Stub(noSpecial = true) + static LongStream longs(@Coerce(J_U_R_RandomGenerator.class) Object obj, long origin, long bound) { + return jvmdg$checkcast(obj).longs(origin, bound); + } + + @Stub(noSpecial = true) + static LongStream longs(@Coerce(J_U_R_RandomGenerator.class) Object obj, long limit) { + return jvmdg$checkcast(obj).longs(limit); + } + + @Stub(noSpecial = true) + static LongStream longs(@Coerce(J_U_R_RandomGenerator.class) Object obj, long limit, long origin, long bound) { + return jvmdg$checkcast(obj).longs(limit, origin, bound); + } + + @Stub(noSpecial = true) + static boolean nextBoolean(@Coerce(J_U_R_RandomGenerator.class) Object obj) { + return jvmdg$checkcast(obj).nextBoolean(); + } + + @Stub(noSpecial = true) + static void nextBytes(@Coerce(J_U_R_RandomGenerator.class) Object obj, byte[] bytes) { + jvmdg$checkcast(obj).nextBytes(bytes); + } + + @Stub(noSpecial = true) + static float nextFloat(@Coerce(J_U_R_RandomGenerator.class) Object obj) { + return jvmdg$checkcast(obj).nextFloat(); + } + + @Stub(noSpecial = true) + static float nextFloat(@Coerce(J_U_R_RandomGenerator.class) Object obj, float bound) { + return jvmdg$checkcast(obj).nextFloat(bound); + } + + @Stub(noSpecial = true) + static float nextFloat(@Coerce(J_U_R_RandomGenerator.class) Object obj, float origin, float bound) { + return jvmdg$checkcast(obj).nextFloat(origin, bound); + } + + @Stub(noSpecial = true) + static double nextDouble(@Coerce(J_U_R_RandomGenerator.class) Object obj) { + return jvmdg$checkcast(obj).nextDouble(); + } + + @Stub(noSpecial = true) + static double nextDouble(@Coerce(J_U_R_RandomGenerator.class) Object obj, double bound) { + return jvmdg$checkcast(obj).nextDouble(bound); + } + + @Stub(noSpecial = true) + static double nextDouble(@Coerce(J_U_R_RandomGenerator.class) Object obj, double origin, double bound) { + return jvmdg$checkcast(obj).nextDouble(origin, bound); + } + + @Stub(noSpecial = true) + static int nextInt(@Coerce(J_U_R_RandomGenerator.class) Object obj) { + return jvmdg$checkcast(obj).nextInt(); + } + + @Stub(noSpecial = true) + static int nextInt(@Coerce(J_U_R_RandomGenerator.class) Object obj, int bound) { + return jvmdg$checkcast(obj).nextInt(bound); + } + + @Stub(noSpecial = true) + static int nextInt(@Coerce(J_U_R_RandomGenerator.class) Object obj, int origin, int bound) { + return jvmdg$checkcast(obj).nextInt(origin, bound); + } + + @Stub(noSpecial = true) + static long nextLong(@Coerce(J_U_Random.class) Object obj) { + return jvmdg$checkcast(obj).nextLong(); + } + + @Stub(noSpecial = true) + static long nextLong(@Coerce(J_U_Random.class) Object obj, long bound) { + return jvmdg$checkcast(obj).nextLong(bound); + } + + @Stub(noSpecial = true) + static long nextLong(@Coerce(J_U_Random.class) Object obj, long origin, long bound) { + return jvmdg$checkcast(obj).nextLong(origin, bound); + } + + @Stub(noSpecial = true) + static double nextGaussian(@Coerce(J_U_Random.class) Object obj) { + return jvmdg$checkcast(obj).nextGaussian(); + } + + @Stub(noSpecial = true) + static double nextGaussian(@Coerce(J_U_Random.class) Object obj, double mean, double stdDev) { + return jvmdg$checkcast(obj).nextGaussian(mean, stdDev); + } + + @Stub(noSpecial = true) + static double nextExponential(@Coerce(J_U_Random.class) Object obj) { + return jvmdg$checkcast(obj).nextExponential(); + } + + default boolean isDeprecated() { + return false; + } + + default DoubleStream doubles() { + return DoubleStream.generate(this::nextDouble).sequential(); + } + default DoubleStream doubles(double lower, double upper) { if (!(lower < upper && (upper - lower) < Double.POSITIVE_INFINITY)) { throw new IllegalArgumentException("bound must be greater than origin"); @@ -66,11 +206,6 @@ default DoubleStream doubles(double lower, double upper) { return DoubleStream.generate(() -> nextDouble(lower, upper)).sequential(); } - @Stub(noSpecial = true) - static DoubleStream doubles(@Coerce(J_U_R_RandomGenerator.class) Object obj, double lower, double upper) { - return jvmdg$checkcast(obj).doubles(lower, upper); - } - default DoubleStream doubles(long limit) { if (limit < 0) { throw new IllegalArgumentException("size must be non-negative"); @@ -78,11 +213,6 @@ default DoubleStream doubles(long limit) { return doubles().limit(limit).sequential(); } - @Stub(noSpecial = true) - static DoubleStream doubles(@Coerce(J_U_R_RandomGenerator.class) Object obj, long limit) { - return jvmdg$checkcast(obj).doubles(limit); - } - default DoubleStream doubles(long limit, double origin, double bound) { if (limit < 0) { throw new IllegalArgumentException("size must be non-negative"); @@ -93,20 +223,10 @@ default DoubleStream doubles(long limit, double origin, double bound) { return DoubleStream.generate(() -> nextDouble(origin, bound)).limit(limit).sequential(); } - @Stub(noSpecial = true) - static DoubleStream doubles(@Coerce(J_U_R_RandomGenerator.class) Object obj, long limit, double origin, double bound) { - return jvmdg$checkcast(obj).doubles(limit, origin, bound); - } - default IntStream ints() { return IntStream.generate(this::nextInt).sequential(); } - @Stub(noSpecial = true) - static IntStream ints(@Coerce(J_U_R_RandomGenerator.class) Object obj) { - return jvmdg$checkcast(obj).ints(); - } - default IntStream ints(int origin, int bound) { if (origin >= bound) { throw new IllegalArgumentException("bound must be greater than origin"); @@ -114,11 +234,6 @@ default IntStream ints(int origin, int bound) { return IntStream.generate(() -> nextInt(origin, bound)).sequential(); } - @Stub(noSpecial = true) - static IntStream ints(@Coerce(J_U_R_RandomGenerator.class) Object obj, int origin, int bound) { - return jvmdg$checkcast(obj).ints(origin, bound); - } - default IntStream ints(long limit) { if (limit < 0) { throw new IllegalArgumentException("size must be non-negative"); @@ -126,11 +241,6 @@ default IntStream ints(long limit) { return ints().limit(limit).sequential(); } - @Stub(noSpecial = true) - static IntStream ints(@Coerce(J_U_R_RandomGenerator.class) Object obj, long limit) { - return jvmdg$checkcast(obj).ints(limit); - } - default IntStream ints(long limit, int origin, int bound) { if (limit < 0) { throw new IllegalArgumentException("size must be non-negative"); @@ -141,20 +251,10 @@ default IntStream ints(long limit, int origin, int bound) { return ints(origin, bound).limit(limit).sequential(); } - @Stub(noSpecial = true) - static IntStream ints(@Coerce(J_U_R_RandomGenerator.class) Object obj, long limit, int origin, int bound) { - return jvmdg$checkcast(obj).ints(limit, origin, bound); - } - default LongStream longs() { return LongStream.generate(this::nextLong).sequential(); } - @Stub(noSpecial = true) - static LongStream longs(@Coerce(J_U_R_RandomGenerator.class) Object obj) { - return jvmdg$checkcast(obj).longs(); - } - default LongStream longs(long origin, long bound) { if (origin >= bound) { throw new IllegalArgumentException("bound must be greater than origin"); @@ -162,11 +262,6 @@ default LongStream longs(long origin, long bound) { return LongStream.generate(() -> nextLong(origin, bound)).sequential(); } - @Stub(noSpecial = true) - static LongStream longs(@Coerce(J_U_R_RandomGenerator.class) Object obj, long origin, long bound) { - return jvmdg$checkcast(obj).longs(origin, bound); - } - default LongStream longs(long limit) { if (limit < 0) { throw new IllegalArgumentException("size must be non-negative"); @@ -174,11 +269,6 @@ default LongStream longs(long limit) { return longs().limit(limit).sequential(); } - @Stub(noSpecial = true) - static LongStream longs(@Coerce(J_U_R_RandomGenerator.class) Object obj, long limit) { - return jvmdg$checkcast(obj).longs(limit); - } - default LongStream longs(long limit, long origin, long bound) { if (limit < 0) { throw new IllegalArgumentException("size must be non-negative"); @@ -189,20 +279,10 @@ default LongStream longs(long limit, long origin, long bound) { return longs(origin, bound).limit(limit).sequential(); } - @Stub(noSpecial = true) - static LongStream longs(@Coerce(J_U_R_RandomGenerator.class) Object obj, long limit, long origin, long bound) { - return jvmdg$checkcast(obj).longs(limit, origin, bound); - } - default boolean nextBoolean() { return nextInt() < 0; } - @Stub(noSpecial = true) - static boolean nextBoolean(@Coerce(J_U_R_RandomGenerator.class) Object obj) { - return jvmdg$checkcast(obj).nextBoolean(); - } - default void nextBytes(byte[] bytes) { int i = 0; int len = bytes.length; @@ -223,20 +303,10 @@ default void nextBytes(byte[] bytes) { } } - @Stub(noSpecial = true) - static void nextBytes(@Coerce(J_U_R_RandomGenerator.class) Object obj, byte[] bytes) { - jvmdg$checkcast(obj).nextBytes(bytes); - } - default float nextFloat() { return (nextInt() >>> 8) * 0x1.0p-24f; } - @Stub(noSpecial = true) - static float nextFloat(@Coerce(J_U_R_RandomGenerator.class) Object obj) { - return jvmdg$checkcast(obj).nextFloat(); - } - default float nextFloat(float bound) { if (bound <= 0) { throw new IllegalArgumentException("bound must be positive"); @@ -250,11 +320,6 @@ default float nextFloat(float bound) { return r; } - @Stub(noSpecial = true) - static float nextFloat(@Coerce(J_U_R_RandomGenerator.class) Object obj, float bound) { - return jvmdg$checkcast(obj).nextFloat(bound); - } - default float nextFloat(float origin, float bound) { if (origin >= bound) { throw new IllegalArgumentException("bound must be greater than origin"); @@ -267,20 +332,10 @@ default float nextFloat(float origin, float bound) { return r; } - @Stub(noSpecial = true) - static float nextFloat(@Coerce(J_U_R_RandomGenerator.class) Object obj, float origin, float bound) { - return jvmdg$checkcast(obj).nextFloat(origin, bound); - } - default double nextDouble() { return (nextLong() >>> 11) * 0x1.0p-53; } - @Stub(noSpecial = true) - static double nextDouble(@Coerce(J_U_R_RandomGenerator.class) Object obj) { - return jvmdg$checkcast(obj).nextDouble(); - } - default double nextDouble(double bound) { if (bound <= 0) { throw new IllegalArgumentException("bound must be positive"); @@ -294,11 +349,6 @@ default double nextDouble(double bound) { return r; } - @Stub(noSpecial = true) - static double nextDouble(@Coerce(J_U_R_RandomGenerator.class) Object obj, double bound) { - return jvmdg$checkcast(obj).nextDouble(bound); - } - default double nextDouble(double origin, double bound) { if (origin >= bound) { throw new IllegalArgumentException("bound must be greater than origin"); @@ -311,20 +361,10 @@ default double nextDouble(double origin, double bound) { return r; } - @Stub(noSpecial = true) - static double nextDouble(@Coerce(J_U_R_RandomGenerator.class) Object obj, double origin, double bound) { - return jvmdg$checkcast(obj).nextDouble(origin, bound); - } - default int nextInt() { return (int) (nextLong() >>> 32); } - @Stub(noSpecial = true) - static int nextInt(@Coerce(J_U_R_RandomGenerator.class) Object obj) { - return jvmdg$checkcast(obj).nextInt(); - } - default int nextInt(int bound) { if (bound <= 0) { throw new IllegalArgumentException("bound must be positive"); @@ -342,11 +382,6 @@ default int nextInt(int bound) { return r; } - @Stub(noSpecial = true) - static int nextInt(@Coerce(J_U_R_RandomGenerator.class) Object obj, int bound) { - return jvmdg$checkcast(obj).nextInt(bound); - } - default int nextInt(int origin, int bound) { int r = nextInt(); @@ -371,18 +406,8 @@ default int nextInt(int origin, int bound) { return r; } - @Stub(noSpecial = true) - static int nextInt(@Coerce(J_U_R_RandomGenerator.class) Object obj, int origin, int bound) { - return jvmdg$checkcast(obj).nextInt(origin, bound); - } - long nextLong(); - @Stub(noSpecial = true) - static long nextLong(@Coerce(J_U_Random.class) Object obj) { - return jvmdg$checkcast(obj).nextLong(); - } - default long nextLong(long bound) { if (bound <= 0) { throw new IllegalArgumentException("bound must be positive"); @@ -402,11 +427,6 @@ default long nextLong(long bound) { return r; } - @Stub(noSpecial = true) - static long nextLong(@Coerce(J_U_Random.class) Object obj, long bound) { - return jvmdg$checkcast(obj).nextLong(bound); - } - default long nextLong(long origin, long bound) { if (origin >= bound) { throw new IllegalArgumentException("bound must be greater than origin"); @@ -432,44 +452,24 @@ default long nextLong(long origin, long bound) { return r; } - @Stub(noSpecial = true) - static long nextLong(@Coerce(J_U_Random.class) Object obj, long origin, long bound) { - return jvmdg$checkcast(obj).nextLong(origin, bound); - } - default double nextGaussian() { throw MissingStubError.create(); } - @Stub(noSpecial = true) - static double nextGaussian(@Coerce(J_U_Random.class) Object obj) { - return jvmdg$checkcast(obj).nextGaussian(); - } - default double nextGaussian(double mean, double stdDev) { throw MissingStubError.create(); } - @Stub(noSpecial = true) - static double nextGaussian(@Coerce(J_U_Random.class) Object obj, double mean, double stdDev) { - return jvmdg$checkcast(obj).nextGaussian(mean, stdDev); - } - default double nextExponential() { throw MissingStubError.create(); } - @Stub(noSpecial = true) - static double nextExponential(@Coerce(J_U_Random.class) Object obj) { - return jvmdg$checkcast(obj).nextExponential(); - } - @Adapter(value = "java/util/random/RandomGenerator$StreamableGenerator") interface StreamableGenerator extends J_U_R_RandomGenerator { static boolean jvmdg$instanceof(Object obj) { return obj instanceof StreamableGenerator || - obj instanceof SplittableRandom; + obj instanceof SplittableRandom; } static StreamableGenerator jvmdg$checkcast(Object obj) { @@ -483,13 +483,18 @@ static StreamableGenerator of(String name) { throw MissingStubError.create(); } - Stream rngs(); - @Stub(noSpecial = true) static Stream rngs(@Coerce(J_U_Random.class) Object obj) { return jvmdg$checkcast(obj).rngs(); } + @Stub(noSpecial = true) + static Stream rngs(@Coerce(J_U_Random.class) Object obj, long limit) { + return jvmdg$checkcast(obj).rngs(limit); + } + + Stream rngs(); + default Stream rngs(long limit) { if (limit < 0) { throw new IllegalArgumentException("size must be non-negative"); @@ -497,11 +502,6 @@ default Stream rngs(long limit) { return rngs().limit(limit); } - @Stub(noSpecial = true) - static Stream rngs(@Coerce(J_U_Random.class) Object obj, long limit) { - return jvmdg$checkcast(obj).rngs(limit); - } - } @Adapter(value = "java/util/random/RandomGenerator$SplittableGenerator") @@ -509,7 +509,7 @@ interface SplittableGenerator extends StreamableGenerator { static boolean jvmdg$instanceof(Object obj) { return obj instanceof SplittableGenerator || - obj instanceof SplittableRandom; + obj instanceof SplittableRandom; } static SplittableGenerator jvmdg$checkcast(Object obj) { @@ -523,72 +523,72 @@ static SplittableGenerator of(String name) { throw MissingStubError.create(); } - SplittableGenerator split(); - @Stub(noSpecial = true) static SplittableGenerator split(@Coerce(J_U_Random.class) Object obj) { return jvmdg$checkcast(obj).split(); } - SplittableGenerator split(SplittableGenerator source); - @Stub(noSpecial = true) static SplittableGenerator split(@Coerce(J_U_Random.class) Object obj, SplittableGenerator source) { return jvmdg$checkcast(obj).split(source); } - default Stream splits() { - return splits(this); - } - @Stub(noSpecial = true) static Stream splits(@Coerce(J_U_Random.class) Object obj) { return jvmdg$checkcast(obj).splits(); } - Stream splits(long size); - @Stub(noSpecial = true) static Stream splits(@Coerce(J_U_Random.class) Object obj, long size) { return jvmdg$checkcast(obj).splits(size); } - Stream splits(SplittableGenerator source); - @Stub(noSpecial = true) static Stream splits(@Coerce(J_U_Random.class) Object obj, SplittableGenerator source) { return jvmdg$checkcast(obj).splits(source); } - Stream splits(long size, SplittableGenerator source); - @Stub(noSpecial = true) static Stream splits(@Coerce(J_U_Random.class) Object obj, long size, SplittableGenerator source) { return jvmdg$checkcast(obj).splits(size, source); } + @Stub(noSpecial = true) + static Stream rngs(@Coerce(J_U_Random.class) Object obj) { + return jvmdg$checkcast(obj).rngs(); + } + + @Stub(noSpecial = true) + static Stream rngs(@Coerce(J_U_Random.class) Object obj, long limit) { + return jvmdg$checkcast(obj).rngs(limit); + } + + SplittableGenerator split(); + + SplittableGenerator split(SplittableGenerator source); + + default Stream splits() { + return splits(this); + } + + Stream splits(long size); + + Stream splits(SplittableGenerator source); + + Stream splits(long size, SplittableGenerator source); + @Override @SuppressWarnings({"unchecked", "rawtypes"}) default Stream rngs() { return (Stream) splits(); } - @Stub(noSpecial = true) - static Stream rngs(@Coerce(J_U_Random.class) Object obj) { - return jvmdg$checkcast(obj).rngs(); - } - @Override @SuppressWarnings({"unchecked", "rawtypes"}) default Stream rngs(long limit) { return (Stream) splits(limit); } - @Stub(noSpecial = true) - static Stream rngs(@Coerce(J_U_Random.class) Object obj, long limit) { - return jvmdg$checkcast(obj).rngs(limit); - } - } @Adapter(value = "java/util/random/RandomGenerator$JumpableGenerator") diff --git a/java-api/src/java17/java/xyz/wagyourtail/jvmdg/j17/stub/java_base/J_U_Random.java b/java-api/src/java17/java/xyz/wagyourtail/jvmdg/j17/stub/java_base/J_U_Random.java index 4eb25206..00a692f8 100644 --- a/java-api/src/java17/java/xyz/wagyourtail/jvmdg/j17/stub/java_base/J_U_Random.java +++ b/java-api/src/java17/java/xyz/wagyourtail/jvmdg/j17/stub/java_base/J_U_Random.java @@ -43,13 +43,13 @@ public static long nextLong(Random random, long origin, long bound) { } @Stub - public double nextGaussian(Random random, double mean, double stdDev) { - return new BasicRandomGeneratorImpl(random).nextGaussian(mean, stdDev); + public static double nextExponential(Random random) { + return new BasicRandomGeneratorImpl(random).nextExponential(); } @Stub - public static double nextExponential(Random random) { - return new BasicRandomGeneratorImpl(random).nextExponential(); + public double nextGaussian(Random random, double mean, double stdDev) { + return new BasicRandomGeneratorImpl(random).nextGaussian(mean, stdDev); } } diff --git a/java-api/src/java17/java/xyz/wagyourtail/jvmdg/j17/stub/java_base/J_U_SplittableRandom.java b/java-api/src/java17/java/xyz/wagyourtail/jvmdg/j17/stub/java_base/J_U_SplittableRandom.java index 606c1540..8eb628ff 100644 --- a/java-api/src/java17/java/xyz/wagyourtail/jvmdg/j17/stub/java_base/J_U_SplittableRandom.java +++ b/java-api/src/java17/java/xyz/wagyourtail/jvmdg/j17/stub/java_base/J_U_SplittableRandom.java @@ -38,16 +38,6 @@ public static Stream splits(Splittabl return new SplittableRandomGeneratorImpl(random).splits(size, source); } - @Stub - public Stream rngs(SplittableRandom random) { - return new SplittableRandomGeneratorImpl(random).rngs(); - } - - @Stub - public Stream rngs(SplittableRandom random, long size) { - return new SplittableRandomGeneratorImpl(random).rngs(size); - } - @Stub public static float nextFloat(SplittableRandom random) { return new SplittableRandomGeneratorImpl(random).nextFloat(); @@ -78,4 +68,14 @@ public static double nextExponential(SplittableRandom random) { return new SplittableRandomGeneratorImpl(random).nextExponential(); } + @Stub + public Stream rngs(SplittableRandom random) { + return new SplittableRandomGeneratorImpl(random).rngs(); + } + + @Stub + public Stream rngs(SplittableRandom random, long size) { + return new SplittableRandomGeneratorImpl(random).rngs(size); + } + } diff --git a/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_I_InvalidObjectException.java b/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_I_InvalidObjectException.java index cfe7abfc..27db8d86 100644 --- a/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_I_InvalidObjectException.java +++ b/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_I_InvalidObjectException.java @@ -1,7 +1,10 @@ package xyz.wagyourtail.jvmdg.j19.stub.java_base; import org.objectweb.asm.Opcodes; -import org.objectweb.asm.tree.*; +import org.objectweb.asm.tree.InsnList; +import org.objectweb.asm.tree.InsnNode; +import org.objectweb.asm.tree.MethodInsnNode; +import org.objectweb.asm.tree.MethodNode; import xyz.wagyourtail.jvmdg.version.Modify; import xyz.wagyourtail.jvmdg.version.Ref; diff --git a/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_I_ObjectStreamException.java b/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_I_ObjectStreamException.java index e7a46837..3673ec05 100644 --- a/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_I_ObjectStreamException.java +++ b/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_I_ObjectStreamException.java @@ -1,7 +1,10 @@ package xyz.wagyourtail.jvmdg.j19.stub.java_base; import org.objectweb.asm.Opcodes; -import org.objectweb.asm.tree.*; +import org.objectweb.asm.tree.InsnList; +import org.objectweb.asm.tree.InsnNode; +import org.objectweb.asm.tree.MethodInsnNode; +import org.objectweb.asm.tree.MethodNode; import xyz.wagyourtail.jvmdg.version.Modify; import xyz.wagyourtail.jvmdg.version.Ref; diff --git a/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_N_S_SSLHandshakeException.java b/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_N_S_SSLHandshakeException.java index af220515..07c4997a 100644 --- a/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_N_S_SSLHandshakeException.java +++ b/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_N_S_SSLHandshakeException.java @@ -1,7 +1,10 @@ package xyz.wagyourtail.jvmdg.j19.stub.java_base; import org.objectweb.asm.Opcodes; -import org.objectweb.asm.tree.*; +import org.objectweb.asm.tree.InsnList; +import org.objectweb.asm.tree.InsnNode; +import org.objectweb.asm.tree.MethodInsnNode; +import org.objectweb.asm.tree.MethodNode; import xyz.wagyourtail.jvmdg.version.Modify; import xyz.wagyourtail.jvmdg.version.Ref; diff --git a/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_N_S_SSLKeyException.java b/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_N_S_SSLKeyException.java index 90bc19ab..de6b5e81 100644 --- a/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_N_S_SSLKeyException.java +++ b/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_N_S_SSLKeyException.java @@ -1,7 +1,10 @@ package xyz.wagyourtail.jvmdg.j19.stub.java_base; import org.objectweb.asm.Opcodes; -import org.objectweb.asm.tree.*; +import org.objectweb.asm.tree.InsnList; +import org.objectweb.asm.tree.InsnNode; +import org.objectweb.asm.tree.MethodInsnNode; +import org.objectweb.asm.tree.MethodNode; import xyz.wagyourtail.jvmdg.version.Modify; import xyz.wagyourtail.jvmdg.version.Ref; diff --git a/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_N_SocketException.java b/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_N_SocketException.java index 9647afb5..fd222cc5 100644 --- a/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_N_SocketException.java +++ b/java-api/src/java19/java/xyz/wagyourtail/jvmdg/j19/stub/java_base/J_N_SocketException.java @@ -1,7 +1,10 @@ package xyz.wagyourtail.jvmdg.j19.stub.java_base; import org.objectweb.asm.Opcodes; -import org.objectweb.asm.tree.*; +import org.objectweb.asm.tree.InsnList; +import org.objectweb.asm.tree.InsnNode; +import org.objectweb.asm.tree.MethodInsnNode; +import org.objectweb.asm.tree.MethodNode; import xyz.wagyourtail.jvmdg.version.Modify; import xyz.wagyourtail.jvmdg.version.Ref; diff --git a/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_L_Float.java b/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_L_Float.java index a6b0bd98..57f7c9a8 100644 --- a/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_L_Float.java +++ b/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_L_Float.java @@ -20,8 +20,8 @@ public static float float16ToFloat(short floatBinary16) { return sign * (0x1p-24f * bin16SignifBits); } else if (bin16Exp == 16) { return (bin16SignifBits == 0) ? - sign * Float.POSITIVE_INFINITY : - Float.intBitsToFloat((bin16SignBit << 16) | 0x7f80_0000 | (bin16SignifBits << SIGNIF_SHIFT)); + sign * Float.POSITIVE_INFINITY : + Float.intBitsToFloat((bin16SignBit << 16) | 0x7f80_0000 | (bin16SignifBits << SIGNIF_SHIFT)); } int floatExpBits = (bin16Exp + 127) << 23; diff --git a/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_L_M_ModuleDescriptor.java b/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_L_M_ModuleDescriptor.java index 2589b4f4..f61cca23 100644 --- a/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_L_M_ModuleDescriptor.java +++ b/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_L_M_ModuleDescriptor.java @@ -16,7 +16,8 @@ public static Set accessFlags(ModuleDescriptor self) { case OPEN -> flags.add(J_L_R_AccessFlag.OPEN); case SYNTHETIC -> flags.add(J_L_R_AccessFlag.SYNTHETIC); case MANDATED -> flags.add(J_L_R_AccessFlag.MANDATED); - case AUTOMATIC -> {} + case AUTOMATIC -> { + } default -> throw new AssertionError(); } } diff --git a/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_L_R_AccessFlag.java b/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_L_R_AccessFlag.java index 0e76681a..51d4006c 100644 --- a/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_L_R_AccessFlag.java +++ b/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_L_R_AccessFlag.java @@ -13,205 +13,205 @@ @Adapter("java/lang/reflect/AccessFlag") public enum J_L_R_AccessFlag { PUBLIC( - Modifier.PUBLIC, true, Set.of(CLASS, FIELD, METHOD, INNER_CLASS), - version -> { - if (version == J_L_R_ClassFileFormatVersion.RELEASE_0) { - return Set.of(CLASS, FIELD, METHOD); - } else { - return Set.of(CLASS, FIELD, METHOD, INNER_CLASS); + Modifier.PUBLIC, true, Set.of(CLASS, FIELD, METHOD, INNER_CLASS), + version -> { + if (version == J_L_R_ClassFileFormatVersion.RELEASE_0) { + return Set.of(CLASS, FIELD, METHOD); + } else { + return Set.of(CLASS, FIELD, METHOD, INNER_CLASS); + } } - } ), PRIVATE( - Modifier.PRIVATE, true, Set.of(FIELD, METHOD, INNER_CLASS), - version -> { - if (version == J_L_R_ClassFileFormatVersion.RELEASE_0) { - return Set.of(FIELD, METHOD); - } else { - return Set.of(FIELD, METHOD, INNER_CLASS); + Modifier.PRIVATE, true, Set.of(FIELD, METHOD, INNER_CLASS), + version -> { + if (version == J_L_R_ClassFileFormatVersion.RELEASE_0) { + return Set.of(FIELD, METHOD); + } else { + return Set.of(FIELD, METHOD, INNER_CLASS); + } } - } ), PROTECTED( - Modifier.PROTECTED, true, Set.of(FIELD, METHOD, INNER_CLASS), - version -> { - if (version == J_L_R_ClassFileFormatVersion.RELEASE_0) { - return Set.of(FIELD, METHOD); - } else { - return Set.of(FIELD, METHOD, INNER_CLASS); + Modifier.PROTECTED, true, Set.of(FIELD, METHOD, INNER_CLASS), + version -> { + if (version == J_L_R_ClassFileFormatVersion.RELEASE_0) { + return Set.of(FIELD, METHOD); + } else { + return Set.of(FIELD, METHOD, INNER_CLASS); + } } - } ), STATIC( - Modifier.STATIC, true, Set.of(FIELD, METHOD, INNER_CLASS), - version -> { - if (version == J_L_R_ClassFileFormatVersion.RELEASE_0) { - return Set.of(FIELD, METHOD); - } else { - return Set.of(FIELD, METHOD, INNER_CLASS); + Modifier.STATIC, true, Set.of(FIELD, METHOD, INNER_CLASS), + version -> { + if (version == J_L_R_ClassFileFormatVersion.RELEASE_0) { + return Set.of(FIELD, METHOD); + } else { + return Set.of(FIELD, METHOD, INNER_CLASS); + } } - } ), FINAL( - Modifier.FINAL, true, Set.of(CLASS, FIELD, METHOD, INNER_CLASS), - version -> { - if (version == J_L_R_ClassFileFormatVersion.RELEASE_0) { - return Set.of(CLASS, FIELD, METHOD); - } else { - return Set.of(CLASS, FIELD, METHOD, INNER_CLASS); + Modifier.FINAL, true, Set.of(CLASS, FIELD, METHOD, INNER_CLASS), + version -> { + if (version == J_L_R_ClassFileFormatVersion.RELEASE_0) { + return Set.of(CLASS, FIELD, METHOD); + } else { + return Set.of(CLASS, FIELD, METHOD, INNER_CLASS); + } } - } ), SUPER( - 0x20, false, Set.of(CLASS), null + 0x20, false, Set.of(CLASS), null ), OPEN( - 0x20, false, Set.of(Location.MODULE), - version -> { - if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_9) >= 0) { - return Set.of(Location.MODULE); - } else { - return Collections.emptySet(); + 0x20, false, Set.of(Location.MODULE), + version -> { + if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_9) >= 0) { + return Set.of(Location.MODULE); + } else { + return Collections.emptySet(); + } } - } ), TRANSITIVE( - 0x0020, false, Set.of(MODULE_REQUIRES), - version -> { - if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_9) >= 0) { - return Set.of(MODULE_REQUIRES); - } else { - return Collections.emptySet(); + 0x0020, false, Set.of(MODULE_REQUIRES), + version -> { + if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_9) >= 0) { + return Set.of(MODULE_REQUIRES); + } else { + return Collections.emptySet(); + } } - } ), SYNCHRONIZED( - Modifier.SYNCHRONIZED, true, Set.of(METHOD), null + Modifier.SYNCHRONIZED, true, Set.of(METHOD), null ), STATIC_PHASE( - 0x0040, false, Set.of(MODULE_REQUIRES), - version -> { - if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_9) >= 0) { - return Set.of(MODULE_REQUIRES); - } else { - return Collections.emptySet(); + 0x0040, false, Set.of(MODULE_REQUIRES), + version -> { + if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_9) >= 0) { + return Set.of(MODULE_REQUIRES); + } else { + return Collections.emptySet(); + } } - } ), VOLATILE( - Modifier.VOLATILE, true, Set.of(FIELD), null + Modifier.VOLATILE, true, Set.of(FIELD), null ), BRIDGE( - 0x40, true, Set.of(METHOD), - version -> { - if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_5) >= 0) { - return Set.of(METHOD); - } else { - return Collections.emptySet(); + 0x40, true, Set.of(METHOD), + version -> { + if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_5) >= 0) { + return Set.of(METHOD); + } else { + return Collections.emptySet(); + } } - } ), TRANSIENT( - Modifier.TRANSIENT, true, Set.of(FIELD), null + Modifier.TRANSIENT, true, Set.of(FIELD), null ), VARARGS( - 0x80, true, Set.of(METHOD), - version -> { - if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_5) >= 0) { - return Set.of(METHOD); - } else { - return Collections.emptySet(); + 0x80, true, Set.of(METHOD), + version -> { + if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_5) >= 0) { + return Set.of(METHOD); + } else { + return Collections.emptySet(); + } } - } ), NATIVE( - Modifier.NATIVE, true, Set.of(METHOD), null + Modifier.NATIVE, true, Set.of(METHOD), null ), INTERFACE( - Modifier.INTERFACE, true, Set.of(CLASS, INNER_CLASS), - version -> { - if (version == J_L_R_ClassFileFormatVersion.RELEASE_0) { - return Set.of(CLASS); - } else { - return Set.of(CLASS, INNER_CLASS); + Modifier.INTERFACE, true, Set.of(CLASS, INNER_CLASS), + version -> { + if (version == J_L_R_ClassFileFormatVersion.RELEASE_0) { + return Set.of(CLASS); + } else { + return Set.of(CLASS, INNER_CLASS); + } } - } ), ABSTRACT( - Modifier.ABSTRACT, true, Set.of(CLASS, METHOD, INNER_CLASS), - version -> { - if (version == J_L_R_ClassFileFormatVersion.RELEASE_0) { - return Set.of(CLASS, METHOD); - } else { - return Set.of(CLASS, METHOD, INNER_CLASS); + Modifier.ABSTRACT, true, Set.of(CLASS, METHOD, INNER_CLASS), + version -> { + if (version == J_L_R_ClassFileFormatVersion.RELEASE_0) { + return Set.of(CLASS, METHOD); + } else { + return Set.of(CLASS, METHOD, INNER_CLASS); + } } - } ), STRICT( - Modifier.STRICT, true, Set.of(), - version -> { - if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_2) >= 0 && version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_16) <= 0) { - return Set.of(METHOD); - } else { - return Collections.emptySet(); + Modifier.STRICT, true, Set.of(), + version -> { + if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_2) >= 0 && version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_16) <= 0) { + return Set.of(METHOD); + } else { + return Collections.emptySet(); + } } - } ), SYNTHETIC( - 0x1000, false, Set.of(CLASS, FIELD, METHOD, INNER_CLASS, METHOD_PARAMETER, Location.MODULE, MODULE_REQUIRES, MODULE_EXPORTS, MODULE_OPENS), - version -> { - if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_9) >= 0) { - return Set.of(CLASS, FIELD, METHOD, INNER_CLASS, METHOD_PARAMETER, Location.MODULE, MODULE_REQUIRES, MODULE_EXPORTS, MODULE_OPENS); - } else { - return switch (version) { - case RELEASE_7 -> Set.of(CLASS, FIELD, METHOD, INNER_CLASS); - case RELEASE_8 -> Set.of(CLASS, FIELD, METHOD, INNER_CLASS, METHOD_PARAMETER); - default -> Collections.emptySet(); - }; + 0x1000, false, Set.of(CLASS, FIELD, METHOD, INNER_CLASS, METHOD_PARAMETER, Location.MODULE, MODULE_REQUIRES, MODULE_EXPORTS, MODULE_OPENS), + version -> { + if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_9) >= 0) { + return Set.of(CLASS, FIELD, METHOD, INNER_CLASS, METHOD_PARAMETER, Location.MODULE, MODULE_REQUIRES, MODULE_EXPORTS, MODULE_OPENS); + } else { + return switch (version) { + case RELEASE_7 -> Set.of(CLASS, FIELD, METHOD, INNER_CLASS); + case RELEASE_8 -> Set.of(CLASS, FIELD, METHOD, INNER_CLASS, METHOD_PARAMETER); + default -> Collections.emptySet(); + }; + } } - } ), ANNOTATION( - 0x2000, false, Set.of(CLASS, INNER_CLASS), - version -> { - if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_5) >= 0) { - return Set.of(CLASS, INNER_CLASS); - } else { - return Collections.emptySet(); + 0x2000, false, Set.of(CLASS, INNER_CLASS), + version -> { + if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_5) >= 0) { + return Set.of(CLASS, INNER_CLASS); + } else { + return Collections.emptySet(); + } } - } ), ENUM( - 0x4000, false, Set.of(CLASS, FIELD, INNER_CLASS), - version -> { - if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_5) >= 0) { - return Set.of(CLASS, FIELD, INNER_CLASS); - } else { - return Collections.emptySet(); + 0x4000, false, Set.of(CLASS, FIELD, INNER_CLASS), + version -> { + if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_5) >= 0) { + return Set.of(CLASS, FIELD, INNER_CLASS); + } else { + return Collections.emptySet(); + } } - } ), MANDATED( - 0x8000, false, Set.of(METHOD_PARAMETER, Location.MODULE, MODULE_REQUIRES, MODULE_EXPORTS, MODULE_OPENS), - version -> { - if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_9) >= 0) { - return Set.of(CLASS); - } else if (version == J_L_R_ClassFileFormatVersion.RELEASE_8) { - return Set.of(METHOD_PARAMETER); - } else { - return Collections.emptySet(); + 0x8000, false, Set.of(METHOD_PARAMETER, Location.MODULE, MODULE_REQUIRES, MODULE_EXPORTS, MODULE_OPENS), + version -> { + if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_9) >= 0) { + return Set.of(CLASS); + } else if (version == J_L_R_ClassFileFormatVersion.RELEASE_8) { + return Set.of(METHOD_PARAMETER); + } else { + return Collections.emptySet(); + } } - } ), MODULE( - 0x8000, false, Set.of(CLASS), - version -> { - if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_9) >= 0) { - return Set.of(CLASS); - } else { - return Collections.emptySet(); + 0x8000, false, Set.of(CLASS), + version -> { + if (version.compareTo(J_L_R_ClassFileFormatVersion.RELEASE_9) >= 0) { + return Set.of(CLASS); + } else { + return Collections.emptySet(); + } } - } ), ; diff --git a/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_N_URL.java b/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_N_URL.java index cb8fe186..63c8aca9 100644 --- a/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_N_URL.java +++ b/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_N_URL.java @@ -10,13 +10,13 @@ public class J_N_URL { static boolean isOverrideable(String protocol) { if (protocol.length() == 3) { return (Character.toLowerCase(protocol.charAt(0)) != 'j') || - (Character.toLowerCase(protocol.charAt(1)) != 'r') || - (Character.toLowerCase(protocol.charAt(2)) != 't'); + (Character.toLowerCase(protocol.charAt(1)) != 'r') || + (Character.toLowerCase(protocol.charAt(2)) != 't'); } else if (protocol.length() == 4) { return (Character.toLowerCase(protocol.charAt(0)) != 'f') || - (Character.toLowerCase(protocol.charAt(1)) != 'i') || - (Character.toLowerCase(protocol.charAt(2)) != 'l') || - (Character.toLowerCase(protocol.charAt(3)) != 'e'); + (Character.toLowerCase(protocol.charAt(1)) != 'i') || + (Character.toLowerCase(protocol.charAt(2)) != 'l') || + (Character.toLowerCase(protocol.charAt(3)) != 'e'); } return true; } diff --git a/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_S_InvalidParameterException.java b/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_S_InvalidParameterException.java index 412693b5..0567f906 100644 --- a/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_S_InvalidParameterException.java +++ b/java-api/src/java20/java/xyz/wagyourtail/jvmdg/j20/stub/java_base/J_S_InvalidParameterException.java @@ -1,7 +1,10 @@ package xyz.wagyourtail.jvmdg.j20.stub.java_base; import org.objectweb.asm.Opcodes; -import org.objectweb.asm.tree.*; +import org.objectweb.asm.tree.InsnList; +import org.objectweb.asm.tree.InsnNode; +import org.objectweb.asm.tree.MethodInsnNode; +import org.objectweb.asm.tree.MethodNode; import xyz.wagyourtail.jvmdg.version.Modify; import xyz.wagyourtail.jvmdg.version.Ref; diff --git a/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/impl/FakeVirtualThread.java b/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/impl/FakeVirtualThread.java index c31d51b4..c4b0d9e8 100644 --- a/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/impl/FakeVirtualThread.java +++ b/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/impl/FakeVirtualThread.java @@ -2,6 +2,7 @@ public class FakeVirtualThread extends Thread { private static final ThreadGroup VIRTUAL_THREAD_GROUP; + static { ThreadGroup parent = Thread.currentThread().getThreadGroup(); while (parent.getParent() != null) { diff --git a/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/impl/ReverseCollection.java b/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/impl/ReverseCollection.java index 8328dc4f..6eb708e8 100644 --- a/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/impl/ReverseCollection.java +++ b/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/impl/ReverseCollection.java @@ -2,7 +2,8 @@ import org.jetbrains.annotations.NotNull; -import java.util.*; +import java.util.Collection; +import java.util.Iterator; public class ReverseCollection implements Collection { final Collection original; diff --git a/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/impl/ReverseSet.java b/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/impl/ReverseSet.java index 5f0195ff..6c426caa 100644 --- a/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/impl/ReverseSet.java +++ b/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/impl/ReverseSet.java @@ -2,7 +2,9 @@ import org.jetbrains.annotations.NotNull; -import java.util.*; +import java.util.AbstractSet; +import java.util.Iterator; +import java.util.Set; public class ReverseSet extends AbstractSet { public final Set original; diff --git a/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/impl/SequencedSet.java b/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/impl/SequencedSet.java index 61ed4bf4..3b2ab2e8 100644 --- a/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/impl/SequencedSet.java +++ b/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/impl/SequencedSet.java @@ -2,7 +2,10 @@ import org.jetbrains.annotations.NotNull; -import java.util.*; +import java.util.Collection; +import java.util.Iterator; +import java.util.Map; +import java.util.Set; public class SequencedSet implements Set { final Map map; diff --git a/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/stub/java_base/J_L_R_SwitchBootstraps.java b/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/stub/java_base/J_L_R_SwitchBootstraps.java index 5397d561..cc5b76c0 100644 --- a/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/stub/java_base/J_L_R_SwitchBootstraps.java +++ b/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/stub/java_base/J_L_R_SwitchBootstraps.java @@ -112,15 +112,15 @@ public static MethodInsnNode makeSwitchInternal(String holdingMethod, String des smnode.visitLdcInsn(types.size()); // stack: IOOBE, IOOBE, start, types.size() smnode.visitInvokeDynamicInsn( - "makeConcatWithConstants", - "(II)Ljava/lang/String;", - new Handle( - Opcodes.H_INVOKESTATIC, - "java/lang/invoke/StringConcatFactory", "makeConcatWithConstants", - "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;" - ), - "Index " + "\u0001" + " out of bounds for length " + "\u0001" + "(II)Ljava/lang/String;", + new Handle( + Opcodes.H_INVOKESTATIC, + "java/lang/invoke/StringConcatFactory", + "makeConcatWithConstants", + "(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite;" + ), + "Index " + "\u0001" + " out of bounds for length " + "\u0001" ); // stack: IOOBE, IOOBE, message smnode.visitMethodInsn(Opcodes.INVOKESPECIAL, "java/lang/IndexOutOfBoundsException", "", "(Ljava/lang/String;)V", false); diff --git a/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/stub/java_base/J_U_SequencedCollection.java b/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/stub/java_base/J_U_SequencedCollection.java index 84809b45..bab08365 100644 --- a/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/stub/java_base/J_U_SequencedCollection.java +++ b/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/stub/java_base/J_U_SequencedCollection.java @@ -14,11 +14,11 @@ public class J_U_SequencedCollection { public static boolean jvmdg$instanceof(Object obj) { return obj instanceof List || - obj instanceof LinkedHashSet || - obj instanceof Deque || - obj instanceof SortedSet || - obj instanceof ReverseSet || - obj instanceof ReverseCollection; + obj instanceof LinkedHashSet || + obj instanceof Deque || + obj instanceof SortedSet || + obj instanceof ReverseSet || + obj instanceof ReverseCollection; } public static Collection jvmdg$checkcast(Object obj) { diff --git a/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/stub/java_base/J_U_SequencedMap.java b/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/stub/java_base/J_U_SequencedMap.java index 71620efb..210846a7 100644 --- a/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/stub/java_base/J_U_SequencedMap.java +++ b/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/stub/java_base/J_U_SequencedMap.java @@ -10,9 +10,9 @@ public class J_U_SequencedMap { public static boolean jvmdg$instanceof(Object obj) { - return obj instanceof LinkedHashMap || - obj instanceof SortedMap || - obj instanceof ReverseMap; + return obj instanceof LinkedHashMap || + obj instanceof SortedMap || + obj instanceof ReverseMap; } public static Map jvmdg$checkcast(Object obj) { diff --git a/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/stub/java_base/J_U_SequencedSet.java b/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/stub/java_base/J_U_SequencedSet.java index b7e0db4b..1d4d74f9 100644 --- a/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/stub/java_base/J_U_SequencedSet.java +++ b/java-api/src/java21/java/xyz/wagyourtail/jvmdg/j21/stub/java_base/J_U_SequencedSet.java @@ -12,8 +12,8 @@ public class J_U_SequencedSet { public static boolean jvmdg$instanceof(Object obj) { return obj instanceof LinkedHashSet || - obj instanceof SortedSet || - obj instanceof ReverseSet; + obj instanceof SortedSet || + obj instanceof ReverseSet; } public static Set jvmdg$checkcast(Object obj) { diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/BackingCollection.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/BackingCollection.java index 1e4469cd..da57cdc4 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/BackingCollection.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/BackingCollection.java @@ -3,7 +3,6 @@ import java.util.Collection; import java.util.Iterator; import java.util.Objects; -import java.util.Set; public class BackingCollection implements Collection { private final Collection backing; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/CheckedNavigableMap.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/CheckedNavigableMap.java index 447d0090..bd5b0b1a 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/CheckedNavigableMap.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/CheckedNavigableMap.java @@ -25,12 +25,12 @@ private void typeCheck(Object key, Object value) { private String badKeyMsg(Object key) { return "Attempt to insert " + key.getClass() + - " key into map with key type " + keyType; + " key into map with key type " + keyType; } private String badValueMsg(Object value) { return "Attempt to insert " + value.getClass() + - " value into map with value type " + valueType; + " value into map with value type " + valueType; } @Override diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/CheckedNavigableSet.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/CheckedNavigableSet.java index 527f9cf2..fe4a411b 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/CheckedNavigableSet.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/CheckedNavigableSet.java @@ -21,7 +21,7 @@ E typeCheck(Object o) { private String badElementMsg(Object o) { return "Attempt to insert " + o.getClass() + - " element into collection with element type " + type; + " element into collection with element type " + type; } @Override diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/CheckedQueue.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/CheckedQueue.java index cd88b5fb..4c01445f 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/CheckedQueue.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/CheckedQueue.java @@ -22,7 +22,7 @@ E typeCheck(Object o) { private String badElementMsg(Object o) { return "Attempt to insert " + o.getClass() + - " element into collection with element type " + type; + " element into collection with element type " + type; } diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/SynchronizedNavigableMap.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/SynchronizedNavigableMap.java index a2759cd3..7b099322 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/SynchronizedNavigableMap.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/collections/SynchronizedNavigableMap.java @@ -1,6 +1,9 @@ package xyz.wagyourtail.jvmdg.j8.intl.collections; -import java.util.*; +import java.util.Comparator; +import java.util.NavigableMap; +import java.util.NavigableSet; +import java.util.SortedMap; public class SynchronizedNavigableMap extends SynchronizedBackingMap implements NavigableMap { private final NavigableMap backing; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/spliterator/DoubleIteratorFromSpliterator.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/spliterator/DoubleIteratorFromSpliterator.java index 9e3af545..fba529c7 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/spliterator/DoubleIteratorFromSpliterator.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/spliterator/DoubleIteratorFromSpliterator.java @@ -3,11 +3,10 @@ import xyz.wagyourtail.jvmdg.j8.stub.J_U_PrimitiveIterator; import xyz.wagyourtail.jvmdg.j8.stub.J_U_Spliterator; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_DoubleConsumer; -import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_LongConsumer; import java.util.NoSuchElementException; - public class DoubleIteratorFromSpliterator implements J_U_F_DoubleConsumer, J_U_PrimitiveIterator.OfDouble { +public class DoubleIteratorFromSpliterator implements J_U_F_DoubleConsumer, J_U_PrimitiveIterator.OfDouble { private final J_U_Spliterator.OfDouble spliterator; private boolean nextAvailable = false; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/spliterator/LongIteratorFromSpliterator.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/spliterator/LongIteratorFromSpliterator.java index 5bce8c65..e1ed46a7 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/spliterator/LongIteratorFromSpliterator.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/spliterator/LongIteratorFromSpliterator.java @@ -2,7 +2,6 @@ import xyz.wagyourtail.jvmdg.j8.stub.J_U_PrimitiveIterator; import xyz.wagyourtail.jvmdg.j8.stub.J_U_Spliterator; -import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_IntConsumer; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_LongConsumer; import java.util.NoSuchElementException; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/spliterator/LongIteratorSpliterator.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/spliterator/LongIteratorSpliterator.java index 7b2b40f7..2c7c0c58 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/spliterator/LongIteratorSpliterator.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/intl/spliterator/LongIteratorSpliterator.java @@ -3,7 +3,6 @@ import xyz.wagyourtail.jvmdg.j8.stub.J_U_PrimitiveIterator; import xyz.wagyourtail.jvmdg.j8.stub.J_U_Spliterator; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Consumer; -import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_IntConsumer; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_LongConsumer; import java.util.Comparator; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_I_BufferedReader.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_I_BufferedReader.java index 094dbe55..42c95453 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_I_BufferedReader.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_I_BufferedReader.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.exc.MissingStubError; import xyz.wagyourtail.jvmdg.j8.stub.stream.J_U_S_Stream; import xyz.wagyourtail.jvmdg.version.Stub; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_I_UncheckedIOException.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_I_UncheckedIOException.java index 8c51facd..1782fd7d 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_I_UncheckedIOException.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_I_UncheckedIOException.java @@ -1,9 +1,6 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.version.Stub; import java.io.IOException; import java.util.Objects; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Boolean.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Boolean.java index 2ef1782c..d8bde352 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Boolean.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Boolean.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Byte.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Byte.java index 99129942..5c94e4ec 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Byte.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Byte.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_CharSequence.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_CharSequence.java index ea73286d..03898cb8 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_CharSequence.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_CharSequence.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.exc.MissingStubError; import xyz.wagyourtail.jvmdg.j8.stub.stream.J_U_S_IntStream; import xyz.wagyourtail.jvmdg.version.Stub; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Character.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Character.java index 9e49b5eb..79162a10 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Character.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Character.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Class.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Class.java index da197036..7bbe141e 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Class.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Class.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Stub; import java.lang.annotation.Annotation; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Double.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Double.java index 0fb568f7..93f1b6a1 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Double.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Double.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Float.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Float.java index 75958acb..37af14a3 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Float.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Float.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_FunctionalInterface.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_FunctionalInterface.java index ba3785ad..ed80886c 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_FunctionalInterface.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_FunctionalInterface.java @@ -1,9 +1,6 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.version.Stub; import java.lang.annotation.*; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_I_LambdaConversionException.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_I_LambdaConversionException.java index ca21080c..3c4d091d 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_I_LambdaConversionException.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_I_LambdaConversionException.java @@ -1,9 +1,6 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.version.Stub; @Adapter("Ljava/lang/invoke/LambdaConversionException;") public class J_L_I_LambdaConversionException extends Exception { diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Integer.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Integer.java index e4e43129..7f706644 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Integer.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Integer.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; @@ -30,7 +29,7 @@ public static int parseUnsignedInt(String s, int radix) throws NumberFormatExcep char first = s.charAt(0); if (first == '-') { throw new NumberFormatException( - String.format("Illegal leading minus sign on unsigned string %s.", s)); + String.format("Illegal leading minus sign on unsigned string %s.", s)); } else { if (len <= 5 || (radix == 10 && len <= 9)) { return Integer.parseInt(s, radix); @@ -40,7 +39,7 @@ public static int parseUnsignedInt(String s, int radix) throws NumberFormatExcep return (int) ell; } else { throw new NumberFormatException( - String.format("String value %s exceeds range of unsigned int.", s)); + String.format("String value %s exceeds range of unsigned int.", s)); } } } diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_InternalError.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_InternalError.java index 55f50782..92bb40f1 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_InternalError.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_InternalError.java @@ -1,10 +1,12 @@ package xyz.wagyourtail.jvmdg.j8.stub; import org.objectweb.asm.Opcodes; -import org.objectweb.asm.tree.*; +import org.objectweb.asm.tree.InsnList; +import org.objectweb.asm.tree.InsnNode; +import org.objectweb.asm.tree.MethodInsnNode; +import org.objectweb.asm.tree.MethodNode; import xyz.wagyourtail.jvmdg.version.Modify; import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.version.Stub; public class J_L_InternalError { diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Iterable.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Iterable.java index 956b4d17..69df141e 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Iterable.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Iterable.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Consumer; import xyz.wagyourtail.jvmdg.version.Stub; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Long.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Long.java index 2137538e..bf2fbea7 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Long.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Long.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; @@ -45,7 +44,7 @@ private static BigInteger toUnsignedBigInteger(long i) { // return (upper << 32) + lower return (BigInteger.valueOf(J_L_Integer.toUnsignedLong(upper))).shiftLeft(32). - add(BigInteger.valueOf(J_L_Integer.toUnsignedLong(lower))); + add(BigInteger.valueOf(J_L_Integer.toUnsignedLong(lower))); } } diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Math.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Math.java index 376e77f4..9dfd0622 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Math.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Math.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; @@ -58,7 +57,7 @@ public static long multiplyExact(long x, long y) { long ay = Math.abs(y); if (((ax | ay) >>> 31 != 0)) { if (((y != 0) && (r / y != x)) || - (x == Long.MIN_VALUE && y == -1)) { + (x == Long.MIN_VALUE && y == -1)) { throw new ArithmeticException("long overflow"); } } diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Package.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Package.java index f68c431f..23b09856 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Package.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Package.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Stub; import java.lang.annotation.Annotation; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Process.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Process.java index 27b91a53..1648eb53 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Process.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Process.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.concurrent.TimeUnit; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_AccessibleObject.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_AccessibleObject.java index f3faa1d6..18bce0d2 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_AccessibleObject.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_AccessibleObject.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Stub; import java.lang.annotation.Annotation; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_AnnotatedElement.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_AnnotatedElement.java index e64eb5ed..45ab4e1e 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_AnnotatedElement.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_AnnotatedElement.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Stub; import java.lang.annotation.Annotation; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Constructor.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Constructor.java index c9fc3492..f6ce88fb 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Constructor.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Constructor.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Stub; public class J_L_R_Constructor { diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Field.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Field.java index b57cc6b7..50b9d3c1 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Field.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Field.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Stub; import java.lang.annotation.Annotation; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_MalformedParametersException.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_MalformedParametersException.java index 64add6b7..aa9bcfc3 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_MalformedParametersException.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_MalformedParametersException.java @@ -1,9 +1,6 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.version.Stub; @Adapter("Ljava/lang/reflect/MalformedParametersException;") public class J_L_R_MalformedParametersException extends RuntimeException { diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Method.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Method.java index 60fe4d80..642cd31a 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Method.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Method.java @@ -1,7 +1,6 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Stub; import java.lang.reflect.Method; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Modifier.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Modifier.java index 1c0f3f0a..83b59951 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Modifier.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Modifier.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Type.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Type.java index 8d5f5d4b..2a8517fa 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Type.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_R_Type.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Stub; import java.lang.reflect.Type; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Short.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Short.java index 8ebc4a59..c89d1d38 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Short.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_Short.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_StrictMath.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_StrictMath.java index dfced558..6d5ab6cb 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_StrictMath.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_StrictMath.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_VirtualMachineError.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_VirtualMachineError.java index 50338593..c20762b1 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_VirtualMachineError.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_L_VirtualMachineError.java @@ -1,7 +1,10 @@ package xyz.wagyourtail.jvmdg.j8.stub; import org.objectweb.asm.Opcodes; -import org.objectweb.asm.tree.*; +import org.objectweb.asm.tree.InsnList; +import org.objectweb.asm.tree.InsnNode; +import org.objectweb.asm.tree.MethodInsnNode; +import org.objectweb.asm.tree.MethodNode; import xyz.wagyourtail.jvmdg.version.Modify; import xyz.wagyourtail.jvmdg.version.Ref; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_M_BigInteger.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_M_BigInteger.java index d07192bd..c3938616 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_M_BigInteger.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_M_BigInteger.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Stub; import java.math.BigInteger; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_N_F_Files.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_N_F_Files.java index 80e466af..702a1512 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_N_F_Files.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_N_F_Files.java @@ -1,10 +1,9 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.exc.MissingStubError; +import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_BiPredicate; import xyz.wagyourtail.jvmdg.j8.stub.stream.J_U_S_Stream; import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_BiPredicate; import xyz.wagyourtail.jvmdg.version.Stub; import java.io.BufferedReader; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Arrays.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Arrays.java index 8ed05221..325626a3 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Arrays.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Arrays.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.exc.MissingStubError; import xyz.wagyourtail.jvmdg.j8.stub.function.*; import xyz.wagyourtail.jvmdg.j8.stub.stream.J_U_S_DoubleStream; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Base64.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Base64.java index 0cab06bd..e8f5b3fb 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Base64.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Base64.java @@ -1,9 +1,6 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.version.Stub; import java.io.FilterOutputStream; import java.io.IOException; @@ -38,7 +35,7 @@ public static Encoder getMimeEncoder(int lineLength, byte[] lineSeparator) { for (byte b : lineSeparator) { if (base64[b & 0xff] != -1) throw new IllegalArgumentException( - "Illegal base64 line separator character 0x" + Integer.toString(b, 16)); + "Illegal base64 line separator character 0x" + Integer.toString(b, 16)); } // round down to nearest multiple of 4 lineLength &= ~0b11; @@ -73,6 +70,7 @@ public static class Encoder { private final int linemax; private final boolean isURL; private final boolean doPadding; + private Encoder(boolean isURL, byte[] newline, int linemax, boolean doPadding) { this.isURL = isURL; this.newline = newline; @@ -129,9 +127,9 @@ public ByteBuffer encode(ByteBuffer buffer) { int ret = 0; if (buffer.hasArray()) { ret = encode0(buffer.array(), - buffer.arrayOffset() + buffer.position(), - buffer.arrayOffset() + buffer.limit(), - dst); + buffer.arrayOffset() + buffer.position(), + buffer.arrayOffset() + buffer.limit(), + dst); buffer.position(buffer.limit()); } else { byte[] src = new byte[buffer.remaining()]; @@ -233,6 +231,7 @@ public static class Decoder { private final boolean isURL; private final boolean isMIME; + private Decoder(boolean isURL, boolean isMIME) { this.isURL = isURL; this.isMIME = isMIME; @@ -297,7 +296,7 @@ private int decodedOutLength(byte[] src, int sp, int sl) { if (isMIME && base64[0] == -1) return 0; throw new IllegalArgumentException( - "Input byte[] should at least have 2 bytes for base64 bytes"); + "Input byte[] should at least have 2 bytes for base64 bytes"); } if (isMIME) { int n = 0; @@ -365,9 +364,9 @@ private int decode0(byte[] src, int sp, int sl, byte[] dst) { if ((b = base64[b]) < 0) { if (b == -2) { if (shiftto == 6 && (sp == sl || src[sp++] != '=') || - shiftto == 18) { + shiftto == 18) { throw new IllegalArgumentException( - "Input byte array has wrong 4-byte ending unit"); + "Input byte array has wrong 4-byte ending unit"); } break; } @@ -375,8 +374,8 @@ private int decode0(byte[] src, int sp, int sl, byte[] dst) { continue; else throw new IllegalArgumentException( - "Illegal base64 character " + - Integer.toString(src[sp - 1], 16)); + "Illegal base64 character " + + Integer.toString(src[sp - 1], 16)); } bits |= (b << shiftto); shiftto -= 6; @@ -395,13 +394,13 @@ private int decode0(byte[] src, int sp, int sl, byte[] dst) { dst[dp++] = (byte) (bits >> 8); } else if (shiftto == 12) { throw new IllegalArgumentException( - "Last unit does not have enough valid bits"); + "Last unit does not have enough valid bits"); } while (sp < sl) { if (isMIME && base64[src[sp++] & 0xff] < 0) continue; throw new IllegalArgumentException( - "Input byte array has incorrect ending byte at " + sp); + "Input byte array has incorrect ending byte at " + sp); } return dp; } @@ -470,9 +469,9 @@ public void write(byte[] b, int off, int len) throws IOException { len--; checkNewline(); writeb4(base64[b0 >> 2], - base64[(b0 << 4) & 0x3f | (b1 >> 4)], - base64[(b1 << 2) & 0x3f | (b2 >> 6)], - base64[b2 & 0x3f]); + base64[(b0 << 4) & 0x3f | (b1 >> 4)], + base64[(b1 << 2) & 0x3f | (b2 >> 6)], + base64[b2 & 0x3f]); linepos += 4; } int nBits24 = len / 3; @@ -485,8 +484,8 @@ public void write(byte[] b, int off, int len) throws IOException { int dp = 0; for (int sp = off; sp < sl; ) { int bits = (b[sp++] & 0xff) << 16 | - (b[sp++] & 0xff) << 8 | - (b[sp++] & 0xff); + (b[sp++] & 0xff) << 8 | + (b[sp++] & 0xff); buf[dp++] = (byte) base64[(bits >>> 18) & 0x3f]; buf[dp++] = (byte) base64[(bits >>> 12) & 0x3f]; buf[dp++] = (byte) base64[(bits >>> 6) & 0x3f]; @@ -629,7 +628,7 @@ public int read(byte[] b, int off, int len) throws IOException { continue; } throw new IOException("Illegal base64 character 0x" + - Integer.toHexString(i)); + Integer.toHexString(i)); } return padding(b, off, pos, limit); } diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_BitSet.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_BitSet.java index 6a61360c..d64dc3f9 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_BitSet.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_BitSet.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.exc.MissingStubError; import xyz.wagyourtail.jvmdg.j8.stub.stream.J_U_S_IntStream; import xyz.wagyourtail.jvmdg.version.Ref; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_CompletableFuture.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_CompletableFuture.java index d777cfef..4919f270 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_CompletableFuture.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_CompletableFuture.java @@ -1,17 +1,16 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.j8.intl.collections.SynchronizedBackingSet; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_BiConsumer; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_BiFunction; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Function; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Supplier; -import xyz.wagyourtail.jvmdg.util.Function; import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.version.Stub; -import java.util.*; +import java.util.Arrays; +import java.util.Deque; +import java.util.HashSet; +import java.util.Set; import java.util.concurrent.*; @Adapter("java/util/concurrent/CompletableFuture") @@ -738,24 +737,6 @@ public void execute(Runnable command) { } } - private class AfterCompleteDelegatingExecutor implements Executor { - private final Executor executor; - - public AfterCompleteDelegatingExecutor(Executor executor) { - this.executor = executor; - } - - @Override - public void execute(final Runnable command) { - wrapped.after(new Runnable() { - @Override - public void run() { - executor.execute(command); - } - }); - } - } - private static class AfterAllDelegatingExecutor implements Executor { private final Set> tasks; private final Deque runnables = new ConcurrentLinkedDeque<>(); @@ -841,4 +822,22 @@ public void execute(final Runnable command) { } } } + + private class AfterCompleteDelegatingExecutor implements Executor { + private final Executor executor; + + public AfterCompleteDelegatingExecutor(Executor executor) { + this.executor = executor; + } + + @Override + public void execute(final Runnable command) { + wrapped.after(new Runnable() { + @Override + public void run() { + executor.execute(command); + } + }); + } + } } diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_CompletionException.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_CompletionException.java index ed59b48b..c6584ef5 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_CompletionException.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_CompletionException.java @@ -1,9 +1,6 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.version.Stub; @Adapter("java/util/concurrent/CompletionException") public class J_U_C_CompletionException extends RuntimeException { diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_CompletionStage.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_CompletionStage.java index f6ab45fe..07c3eea7 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_CompletionStage.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_CompletionStage.java @@ -1,12 +1,9 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_BiConsumer; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_BiFunction; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Function; import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.version.Stub; import java.util.concurrent.Executor; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_ConcurrentMap.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_ConcurrentMap.java index f53b5682..3e29ed5d 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_ConcurrentMap.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_ConcurrentMap.java @@ -3,7 +3,6 @@ import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_BiConsumer; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_BiFunction; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Function; -import xyz.wagyourtail.jvmdg.util.BiFunction; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.Map; @@ -92,17 +91,18 @@ public static V computeIfPresent(ConcurrentMap map, K key, J_U_F_Bi @Stub public static V compute(ConcurrentMap map, K key, J_U_F_BiFunction remappingFunction) { - retry: for (;;) { + retry: + for (; ; ) { V oldValue = map.get(key); // if putIfAbsent fails, opportunistically use its return value - haveOldValue: for (;;) { + haveOldValue: + for (; ; ) { V newValue = remappingFunction.apply(key, oldValue); if (newValue != null) { if (oldValue != null) { if (map.replace(key, oldValue, newValue)) return newValue; - } - else if ((oldValue = map.putIfAbsent(key, newValue)) == null) + } else if ((oldValue = map.putIfAbsent(key, newValue)) == null) return newValue; else continue haveOldValue; } else if (oldValue == null || map.remove(key, oldValue)) { @@ -117,10 +117,12 @@ else if ((oldValue = map.putIfAbsent(key, newValue)) == null) public static V merge(ConcurrentMap map, K key, V value, J_U_F_BiFunction remappingFunction) { Objects.requireNonNull(remappingFunction); Objects.requireNonNull(value); - retry: for (;;) { + retry: + for (; ; ) { V oldValue = map.get(key); // if putIfAbsent fails, opportunistically use its return value - haveOldValue: for (;;) { + haveOldValue: + for (; ; ) { if (oldValue != null) { V newValue = remappingFunction.apply(oldValue, value); if (newValue != null) { diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_Executors.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_Executors.java index 9ffcef78..2bfac7fa 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_Executors.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_Executors.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_ForkJoinPool.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_ForkJoinPool.java index feb67f27..79f84fb5 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_ForkJoinPool.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_C_ForkJoinPool.java @@ -1,11 +1,9 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.concurrent.ForkJoinPool; -import java.util.concurrent.ForkJoinTask; public class J_U_C_ForkJoinPool { private static final ForkJoinPool COMMON_POOL; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Collection.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Collection.java index 11e112da..0d9b69be 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Collection.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Collection.java @@ -1,8 +1,6 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.exc.MissingStubError; -import xyz.wagyourtail.jvmdg.j8.intl.spliterator.IteratorSpliterator; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Predicate; import xyz.wagyourtail.jvmdg.j8.stub.stream.J_U_S_Stream; import xyz.wagyourtail.jvmdg.version.Stub; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Collections.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Collections.java index ede5ec05..ffdad122 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Collections.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Collections.java @@ -1,8 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.intl.collections.*; +import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.*; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Comparator.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Comparator.java index 64b74601..64fd9a75 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Comparator.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Comparator.java @@ -1,11 +1,10 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Function; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_ToDoubleFunction; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_ToIntFunction; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_ToLongFunction; +import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.Collections; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_DoubleSummaryStatistics.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_DoubleSummaryStatistics.java index 1e29735f..9f2bfd7f 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_DoubleSummaryStatistics.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_DoubleSummaryStatistics.java @@ -1,11 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_DoubleConsumer; -import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_IntConsumer; -import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_LongConsumer; import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.version.Stub; @Adapter("java/util/DoubleSummaryStatistics") public class J_U_DoubleSummaryStatistics implements J_U_F_DoubleConsumer { @@ -15,6 +11,7 @@ public class J_U_DoubleSummaryStatistics implements J_U_F_DoubleConsumer { private double simpleSum; // Used to compute right sum for non-finite inputs private double min = Double.POSITIVE_INFINITY; private double max = Double.NEGATIVE_INFINITY; + @Override public void accept(double value) { ++count; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_IntSummaryStatistics.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_IntSummaryStatistics.java index 389873bd..198fde14 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_IntSummaryStatistics.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_IntSummaryStatistics.java @@ -2,8 +2,6 @@ import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_IntConsumer; import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.version.Stub; @Adapter("java/util/IntSummaryStatistics") public class J_U_IntSummaryStatistics implements J_U_F_IntConsumer { @@ -51,7 +49,7 @@ public final double getAverage() { @Override public String toString() { - return "IntSummaryStatistics{" + + return "IntSummaryStatistics{" + "count=" + count + ", sum=" + sum + ", min=" + min + diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Iterator.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Iterator.java index 8bdcd0dc..533c05e7 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Iterator.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Iterator.java @@ -1,8 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Consumer; +import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.Iterator; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_List.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_List.java index e4982b77..11f0df2f 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_List.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_List.java @@ -1,8 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_UnaryOperator; +import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.*; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_LongSummaryStatistics.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_LongSummaryStatistics.java index c71f75e3..82c64352 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_LongSummaryStatistics.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_LongSummaryStatistics.java @@ -3,8 +3,6 @@ import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_IntConsumer; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_LongConsumer; import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.version.Stub; @Adapter("java/util/LongSummaryStatistics") public class J_U_LongSummaryStatistics implements J_U_F_IntConsumer, J_U_F_LongConsumer { @@ -49,7 +47,7 @@ public final double getAverage() { @Override public String toString() { - return "IntSummaryStatistics{" + + return "IntSummaryStatistics{" + "count=" + count + ", sum=" + sum + ", min=" + min + diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Map.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Map.java index fff0e5a0..4cd4cd92 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Map.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Map.java @@ -1,6 +1,5 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_BiConsumer; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_BiFunction; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Function; @@ -61,8 +60,8 @@ public static V getOrDefault(Map self, Object key, V defaultValue) } V v; return (((v = self.get(key)) != null) || self.containsKey(key)) - ? v - : defaultValue; + ? v + : defaultValue; } @Stub @@ -79,7 +78,7 @@ public static void forEach(Map self, J_U_F_BiConsumer void replaceAll(Map self, J_U_F_BiFunction function) { + public static void replaceAll(Map self, J_U_F_BiFunction function) { if (self instanceof ConcurrentMap) { J_U_C_ConcurrentMap.replaceAll((ConcurrentMap) self, function); return; @@ -107,7 +106,7 @@ public static boolean remove(Map self, K key, V value) { } Object curValue = self.get(key); if (!Objects.equals(curValue, value) || - (curValue == null && !self.containsKey(key))) { + (curValue == null && !self.containsKey(key))) { return false; } self.remove(key); @@ -115,13 +114,13 @@ public static boolean remove(Map self, K key, V value) { } @Stub - public static boolean replace(Map self, K key, V oldValue, V newValue) { + public static boolean replace(Map self, K key, V oldValue, V newValue) { if (self instanceof ConcurrentMap) { return J_U_C_ConcurrentMap.replace((ConcurrentMap) self, key, oldValue, newValue); } Object curValue = self.get(key); if (!Objects.equals(curValue, oldValue) || - (curValue == null && !self.containsKey(key))) { + (curValue == null && !self.containsKey(key))) { return false; } self.put(key, newValue); @@ -141,7 +140,7 @@ public static V replace(Map self, K key, V value) { } @Stub - public static V computeIfAbsent(Map self, K key, J_U_F_Function mappingFunction) { + public static V computeIfAbsent(Map self, K key, J_U_F_Function mappingFunction) { if (self instanceof ConcurrentMap) { return J_U_C_ConcurrentMap.computeIfAbsent((ConcurrentMap) self, key, mappingFunction); } @@ -203,7 +202,7 @@ public static V merge(Map self, K key, V value, J_U_F_BiFunction double orElseThrow(J_U_F_Supplier exceptionSupplier) throws X { + public double orElseThrow(J_U_F_Supplier exceptionSupplier) throws X { if (isPresent) { return value; } else { @@ -89,8 +87,8 @@ public boolean equals(Object obj) { } J_U_OptionalDouble other = (J_U_OptionalDouble) obj; return (isPresent && other.isPresent - ? Double.compare(value, other.value) == 0 - : isPresent == other.isPresent); + ? Double.compare(value, other.value) == 0 + : isPresent == other.isPresent); } @Override @@ -100,7 +98,7 @@ public int hashCode() { private int hashCode(double value) { long bits = Double.doubleToLongBits(value); - return (int)(bits ^ (bits >>> 32)); + return (int) (bits ^ (bits >>> 32)); } @Override diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_OptionalInt.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_OptionalInt.java index b5495364..d4bfadd7 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_OptionalInt.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_OptionalInt.java @@ -1,11 +1,9 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Supplier; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_IntConsumer; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_IntSupplier; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Supplier; +import xyz.wagyourtail.jvmdg.version.Adapter; import java.util.NoSuchElementException; @@ -71,7 +69,7 @@ public int orElseThrow() { return value; } - public int orElseThrow(J_U_F_Supplier exceptionSupplier) throws X { + public int orElseThrow(J_U_F_Supplier exceptionSupplier) throws X { if (isPresent) { return value; } else { @@ -89,8 +87,8 @@ public boolean equals(Object obj) { } J_U_OptionalInt other = (J_U_OptionalInt) obj; return (isPresent && other.isPresent - ? Integer.compare(value, other.value) == 0 - : isPresent == other.isPresent); + ? Integer.compare(value, other.value) == 0 + : isPresent == other.isPresent); } @Override diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_OptionalLong.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_OptionalLong.java index 8209f400..701623e8 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_OptionalLong.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_OptionalLong.java @@ -1,11 +1,9 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Supplier; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_LongConsumer; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_LongSupplier; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Supplier; +import xyz.wagyourtail.jvmdg.version.Adapter; import java.util.NoSuchElementException; @@ -71,7 +69,7 @@ public long orElseThrow() { return value; } - public long orElseThrow(J_U_F_Supplier exceptionSupplier) throws X { + public long orElseThrow(J_U_F_Supplier exceptionSupplier) throws X { if (isPresent) { return value; } else { @@ -89,13 +87,13 @@ public boolean equals(Object obj) { } J_U_OptionalLong other = (J_U_OptionalLong) obj; return (isPresent && other.isPresent - ? Long.compare(value, other.value) == 0 - : isPresent == other.isPresent); + ? Long.compare(value, other.value) == 0 + : isPresent == other.isPresent); } @Override public int hashCode() { - return isPresent ? (int)(value ^ (value >>> 32)) : 0; + return isPresent ? (int) (value ^ (value >>> 32)) : 0; } @Override diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_PrimitiveIterator.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_PrimitiveIterator.java index c7c1aa64..ae97a9ca 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_PrimitiveIterator.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_PrimitiveIterator.java @@ -1,12 +1,11 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Consumer; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_DoubleConsumer; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_IntConsumer; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_LongConsumer; +import xyz.wagyourtail.jvmdg.version.Adapter; +import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.Iterator; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterator.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterator.java index 6a804d4e..81ce3f02 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterator.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterator.java @@ -1,12 +1,11 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Consumer; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_DoubleConsumer; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_IntConsumer; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_LongConsumer; +import xyz.wagyourtail.jvmdg.version.Adapter; +import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.Comparator; @@ -40,35 +39,6 @@ public interface J_U_Spliterator { Comparator getComparator(); - class SpliteratorDefaults { - - @Stub(ref = @Ref("java/util/Spliterator"), abstractDefault = true) - public static void forEachRemaining(J_U_Spliterator spliterator, J_U_F_Consumer action) { - do { } while (spliterator.tryAdvance(action)); - } - - @Stub(ref = @Ref("java/util/Spliterator"), abstractDefault = true) - public static long getExactSizeIfKnown(J_U_Spliterator spliterator) { - return (spliterator.characteristics() & J_U_Spliterator.SIZED) == 0 ? -1 : spliterator.estimateSize(); - } - - @Stub(ref = @Ref("java/util/Spliterator"), abstractDefault = true) - public static boolean hasCharacteristics(J_U_Spliterator spliterator, int characteristics) { - return (spliterator.characteristics() & characteristics) == characteristics; - } - - @Stub(ref = @Ref("java/util/Spliterator"), abstractDefault = true) - public static Comparator getComparator(J_U_Spliterator spliterator) { - if (!hasCharacteristics(spliterator, J_U_Spliterator.SORTED)) { - throw new IllegalStateException(); - } - return null; - } - - - } - - interface OfPrimitive> extends J_U_Spliterator { @Override @@ -82,7 +52,8 @@ class OfPrimitiveDefaults { @Stub(ref = @Ref("java/util/Spliterator$OfPrimitive"), abstractDefault = true) public static void forEachRemaining(J_U_Spliterator.OfPrimitive spliterator, T_CONS action) { - do { } while (spliterator.tryAdvance(action)); + do { + } while (spliterator.tryAdvance(action)); } } @@ -90,7 +61,6 @@ public static void forEachRemaining(J_U_Spliterator.OfPrimitive { @@ -113,7 +83,8 @@ class OfIntDefaults { @Stub(ref = @Ref("java/util/Spliterator$OfInt"), abstractDefault = true) public static void forEachRemaining(J_U_Spliterator.OfInt spliterator, J_U_F_IntConsumer action) { - do { } while (spliterator.tryAdvance(action)); + do { + } while (spliterator.tryAdvance(action)); } @Stub(ref = @Ref("java/util/Spliterator$OfInt"), abstractDefault = true) @@ -149,6 +120,7 @@ public void accept(int value) { } + @Adapter("java/util/Spliterator$OfLong") interface OfLong extends OfPrimitive { @@ -171,7 +143,8 @@ class OfLongDefaults { @Stub(ref = @Ref("java/util/Spliterator$OfLong"), abstractDefault = true) public static void forEachRemaining(J_U_Spliterator.OfLong spliterator, J_U_F_LongConsumer action) { - do { } while (spliterator.tryAdvance(action)); + do { + } while (spliterator.tryAdvance(action)); } @Stub(ref = @Ref("java/util/Spliterator$OfLong"), abstractDefault = true) @@ -263,4 +236,33 @@ public void accept(double value) { } } + class SpliteratorDefaults { + + @Stub(ref = @Ref("java/util/Spliterator"), abstractDefault = true) + public static void forEachRemaining(J_U_Spliterator spliterator, J_U_F_Consumer action) { + do { + } while (spliterator.tryAdvance(action)); + } + + @Stub(ref = @Ref("java/util/Spliterator"), abstractDefault = true) + public static long getExactSizeIfKnown(J_U_Spliterator spliterator) { + return (spliterator.characteristics() & J_U_Spliterator.SIZED) == 0 ? -1 : spliterator.estimateSize(); + } + + @Stub(ref = @Ref("java/util/Spliterator"), abstractDefault = true) + public static boolean hasCharacteristics(J_U_Spliterator spliterator, int characteristics) { + return (spliterator.characteristics() & characteristics) == characteristics; + } + + @Stub(ref = @Ref("java/util/Spliterator"), abstractDefault = true) + public static Comparator getComparator(J_U_Spliterator spliterator) { + if (!hasCharacteristics(spliterator, J_U_Spliterator.SORTED)) { + throw new IllegalStateException(); + } + return null; + } + + + } + } diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators$AbstractDoubleSpliterator.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators$AbstractDoubleSpliterator.java index a2ed6450..679876a4 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators$AbstractDoubleSpliterator.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators$AbstractDoubleSpliterator.java @@ -1,9 +1,9 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.j8.intl.spliterator.DoubleArraySpliterator; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Consumer; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_DoubleConsumer; +import xyz.wagyourtail.jvmdg.version.Adapter; import java.util.Comparator; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators$AbstractIntSpliterator.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators$AbstractIntSpliterator.java index c3b503e9..e164a8e5 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators$AbstractIntSpliterator.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators$AbstractIntSpliterator.java @@ -1,9 +1,9 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.j8.intl.spliterator.IntArraySpliterator; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Consumer; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_IntConsumer; +import xyz.wagyourtail.jvmdg.version.Adapter; import java.util.Comparator; @@ -98,7 +98,6 @@ public Comparator getComparator() { } - static final class Holder extends J_U_F_IntConsumer.IntConsumerAdapter { int value; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators$AbstractLongSpliterator.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators$AbstractLongSpliterator.java index 4b24faa1..db0cd2fc 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators$AbstractLongSpliterator.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators$AbstractLongSpliterator.java @@ -1,12 +1,9 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.j8.intl.spliterator.LongArraySpliterator; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Consumer; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_LongConsumer; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; import java.util.Comparator; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators$AbstractSpliterator.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators$AbstractSpliterator.java index 898722d6..7f473fff 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators$AbstractSpliterator.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators$AbstractSpliterator.java @@ -1,8 +1,8 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.j8.intl.spliterator.ArraySpliterator; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Consumer; +import xyz.wagyourtail.jvmdg.version.Adapter; import java.util.Comparator; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators.java index af6e183d..5c7ff668 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_Spliterators.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.intl.spliterator.*; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; import java.util.Collection; import java.util.Iterator; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_StringJoiner.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_StringJoiner.java index 0b6f5f3a..a6981c68 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_StringJoiner.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/J_U_StringJoiner.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.version.Stub; @Adapter("java/util/StringJoiner") public final class J_U_StringJoiner { diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BiConsumer.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BiConsumer.java index a2f97a98..bb8bf8e0 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BiConsumer.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BiConsumer.java @@ -1,9 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; +import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.Objects; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BiFunction.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BiFunction.java index d788f58d..bef47bc1 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BiFunction.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BiFunction.java @@ -1,16 +1,14 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; +import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.Objects; @J_L_FunctionalInterface @Adapter("Ljava/util/function/BiFunction;") - public interface J_U_F_BiFunction { +public interface J_U_F_BiFunction { R apply(T t, U u); diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BiPredicate.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BiPredicate.java index 5134d855..9e457464 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BiPredicate.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BiPredicate.java @@ -1,9 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; +import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.Objects; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BinaryOperator.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BinaryOperator.java index 04e27181..c5e0315e 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BinaryOperator.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BinaryOperator.java @@ -1,9 +1,8 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; +import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.Comparator; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BooleanSupplier.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BooleanSupplier.java index ca17a561..7a4fb458 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BooleanSupplier.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_BooleanSupplier.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/BooleanSupplier;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_Consumer.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_Consumer.java index f1e7197f..30e0332a 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_Consumer.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_Consumer.java @@ -1,8 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; +import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.Objects; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleBinaryOperator.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleBinaryOperator.java index 9b0ab5be..bfd6a8bf 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleBinaryOperator.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleBinaryOperator.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/DoubleBinaryOperator;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleConsumer.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleConsumer.java index 6f14b8ca..46104517 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleConsumer.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleConsumer.java @@ -1,9 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; +import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.Objects; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleFunction.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleFunction.java index dde2256d..00b0912b 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleFunction.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleFunction.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/DoubleFunction;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoublePredicate.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoublePredicate.java index 2451bdf3..17627100 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoublePredicate.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoublePredicate.java @@ -1,9 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; +import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.Objects; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleSupplier.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleSupplier.java index 1af37c64..4720fecb 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleSupplier.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleSupplier.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/DoubleSupplier;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleToIntFunction.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleToIntFunction.java index fed1c4f1..c502360d 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleToIntFunction.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleToIntFunction.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/DoubleToIntFunction;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleToLongFunction.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleToLongFunction.java index 89c9f95b..935cfedf 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleToLongFunction.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleToLongFunction.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/DoubleToLongFunction;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleUnaryOperator.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleUnaryOperator.java index 070dd435..fe827a06 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleUnaryOperator.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_DoubleUnaryOperator.java @@ -1,9 +1,8 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; +import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.Objects; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_Function.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_Function.java index aa2ae455..dd678128 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_Function.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_Function.java @@ -1,9 +1,8 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; +import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.Objects; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntBinaryOperator.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntBinaryOperator.java index 6e2d2f7c..480b549d 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntBinaryOperator.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntBinaryOperator.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/IntBinaryOperator;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntConsumer.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntConsumer.java index cb9b8a9a..4753deab 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntConsumer.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntConsumer.java @@ -1,9 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; +import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.version.Stub; @J_L_FunctionalInterface diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntFunction.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntFunction.java index 9a01fa10..faea6473 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntFunction.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntFunction.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/IntFunction;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntPredicate.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntPredicate.java index 085abeb4..5f195299 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntPredicate.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntPredicate.java @@ -1,9 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; +import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.version.Stub; @J_L_FunctionalInterface diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntSupplier.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntSupplier.java index f665bb59..49cdbc67 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntSupplier.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntSupplier.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/IntSupplier;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntToDoubleFunction.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntToDoubleFunction.java index e4427c6b..840498d2 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntToDoubleFunction.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntToDoubleFunction.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/IntToDoubleFunction;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntToLongFunction.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntToLongFunction.java index 5ebaeefa..2dae582d 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntToLongFunction.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntToLongFunction.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/IntToLongFunction;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntUnaryOperator.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntUnaryOperator.java index 20072d5f..900f8795 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntUnaryOperator.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_IntUnaryOperator.java @@ -1,9 +1,8 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; +import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.Objects; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongBinaryOperator.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongBinaryOperator.java index 186ef069..95fffe12 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongBinaryOperator.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongBinaryOperator.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/LongBinaryOperator;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongConsumer.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongConsumer.java index 3aa25287..e1a590d5 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongConsumer.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongConsumer.java @@ -1,10 +1,8 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; +import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.version.Stub; @J_L_FunctionalInterface diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongFunction.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongFunction.java index 18936141..ed7f9e54 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongFunction.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongFunction.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/LongFunction;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongPredicate.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongPredicate.java index 66a121b1..7608d0a0 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongPredicate.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongPredicate.java @@ -1,9 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; +import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.version.Stub; @J_L_FunctionalInterface diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongSupplier.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongSupplier.java index b8268560..87357032 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongSupplier.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongSupplier.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/LongSupplier;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongToDoubleFunction.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongToDoubleFunction.java index d33fca4e..369ec982 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongToDoubleFunction.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongToDoubleFunction.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/LongToDoubleFunction;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongToIntFunction.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongToIntFunction.java index c7887873..33ea6dc3 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongToIntFunction.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongToIntFunction.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/LongToIntFunction;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongUnaryOperator.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongUnaryOperator.java index 31d6f6e3..e3f376e8 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongUnaryOperator.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_LongUnaryOperator.java @@ -1,9 +1,8 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; +import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; import xyz.wagyourtail.jvmdg.version.Stub; import java.util.Objects; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ObjDoubleConsumer.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ObjDoubleConsumer.java index fad2b1e4..f2dad545 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ObjDoubleConsumer.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ObjDoubleConsumer.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/ObjDoubleConsumer;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ObjIntConsumer.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ObjIntConsumer.java index 41bba662..7b36eb37 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ObjIntConsumer.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ObjIntConsumer.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/ObjIntConsumer;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ObjLongConsumer.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ObjLongConsumer.java index eb3e45a2..d83dd4cf 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ObjLongConsumer.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ObjLongConsumer.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/ObjLongConsumer;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_Predicate.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_Predicate.java index 6520d784..d5cc9ce4 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_Predicate.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_Predicate.java @@ -1,13 +1,10 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; +import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; import xyz.wagyourtail.jvmdg.version.Stub; -import java.util.Objects; - @J_L_FunctionalInterface @Adapter("Ljava/util/function/Predicate;") public interface J_U_F_Predicate { diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_Supplier.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_Supplier.java index aa842dff..e2f125ed 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_Supplier.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_Supplier.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/Supplier;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToDoubleBiFunction.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToDoubleBiFunction.java index fc8f4d90..a86a7443 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToDoubleBiFunction.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToDoubleBiFunction.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/ToDoubleBiFunction;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToDoubleFunction.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToDoubleFunction.java index 9006e605..45505004 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToDoubleFunction.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToDoubleFunction.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/ToDoubleFunction;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToIntBiFunction.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToIntBiFunction.java index 41ae2e61..a3a461b7 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToIntBiFunction.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToIntBiFunction.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/ToIntBiFunction;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToIntFunction.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToIntFunction.java index b653939b..7ff36cf1 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToIntFunction.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToIntFunction.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/ToIntFunction;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToLongBiFunction.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToLongBiFunction.java index e97380e3..5cd61ee9 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToLongBiFunction.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToLongBiFunction.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/ToLongBiFunction;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToLongFunction.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToLongFunction.java index 51e57d6f..7712ae69 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToLongFunction.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_ToLongFunction.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; -import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; -import xyz.wagyourtail.jvmdg.version.Stub; +import xyz.wagyourtail.jvmdg.version.Adapter; @J_L_FunctionalInterface @Adapter("Ljava/util/function/ToLongFunction;") diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_UnaryOperator.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_UnaryOperator.java index fdef6072..07adc910 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_UnaryOperator.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/function/J_U_F_UnaryOperator.java @@ -1,14 +1,13 @@ package xyz.wagyourtail.jvmdg.j8.stub.function; -import org.objectweb.asm.Opcodes; +import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.j8.stub.J_L_FunctionalInterface; import xyz.wagyourtail.jvmdg.version.Stub; @J_L_FunctionalInterface @Adapter("Ljava/util/function/UnaryOperator;") -public interface J_U_F_UnaryOperator extends J_U_F_Function { +public interface J_U_F_UnaryOperator extends J_U_F_Function { public class UnaryOperatorStatic { diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/stream/J_U_S_BaseStream.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/stream/J_U_S_BaseStream.java index 4431ef1d..14d0f2ce 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/stream/J_U_S_BaseStream.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/stream/J_U_S_BaseStream.java @@ -1,10 +1,7 @@ package xyz.wagyourtail.jvmdg.j8.stub.stream; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.j8.stub.J_U_Spliterator; import xyz.wagyourtail.jvmdg.version.Adapter; -import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.version.Stub; import java.util.Iterator; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/stream/J_U_S_Collector.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/stream/J_U_S_Collector.java index 1fc8a0b1..fd528354 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/stream/J_U_S_Collector.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/stream/J_U_S_Collector.java @@ -1,11 +1,9 @@ package xyz.wagyourtail.jvmdg.j8.stub.stream; -import org.objectweb.asm.Opcodes; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_BiConsumer; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_BinaryOperator; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Function; import xyz.wagyourtail.jvmdg.j8.stub.function.J_U_F_Supplier; -import xyz.wagyourtail.jvmdg.util.Function; import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.version.Ref; import xyz.wagyourtail.jvmdg.version.Stub; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/stream/J_U_S_Collectors.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/stream/J_U_S_Collectors.java index b2c03cee..db94d528 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/stream/J_U_S_Collectors.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/stream/J_U_S_Collectors.java @@ -2,7 +2,6 @@ import xyz.wagyourtail.jvmdg.j8.stub.*; import xyz.wagyourtail.jvmdg.j8.stub.function.*; -import xyz.wagyourtail.jvmdg.util.BiFunction; import xyz.wagyourtail.jvmdg.util.Function; import xyz.wagyourtail.jvmdg.version.Adapter; import xyz.wagyourtail.jvmdg.version.Ref; @@ -76,55 +75,55 @@ public List apply(List ts) { @Stub(ref = @Ref("java/util/stream/Collectors")) public static J_U_S_Collector> toSet() { return J_U_S_Collector.CollectorStatics.of(new J_U_F_Supplier>() { - @Override - public Set get() { - return new HashSet<>(); - } - }, new J_U_F_BiConsumer.BiConsumerAdapter, T>() { - - @Override - public void accept(Set collection, T t) { - collection.add(t); - } - }, new J_U_F_BinaryOperator.BinaryOperatorAdapter>() { - - @Override - public Set apply(Set o, Set o2) { - o.addAll(o2); - return o; - } - }, - J_U_S_Collector.Characteristics.UNORDERED); + @Override + public Set get() { + return new HashSet<>(); + } + }, new J_U_F_BiConsumer.BiConsumerAdapter, T>() { + + @Override + public void accept(Set collection, T t) { + collection.add(t); + } + }, new J_U_F_BinaryOperator.BinaryOperatorAdapter>() { + + @Override + public Set apply(Set o, Set o2) { + o.addAll(o2); + return o; + } + }, + J_U_S_Collector.Characteristics.UNORDERED); } @Stub(ref = @Ref("java/util/stream/Collectors")) public static J_U_S_Collector> toUnmodifiableSet() { return J_U_S_Collector.CollectorStatics.of(new J_U_F_Supplier>() { - @Override - public Set get() { - return new HashSet<>(); - } - }, new J_U_F_BiConsumer.BiConsumerAdapter, T>() { - - @Override - public void accept(Set collection, T t) { - collection.add(t); - } - }, new J_U_F_BinaryOperator.BinaryOperatorAdapter>() { - - @Override - public Set apply(Set o, Set o2) { - o.addAll(o2); - return o; - } - }, new J_U_F_Function.FunctionAdapter, Set>() { - @Override - public Set apply(Set ts) { - return Collections.unmodifiableSet(ts); - } - }, - J_U_S_Collector.Characteristics.UNORDERED); + @Override + public Set get() { + return new HashSet<>(); + } + }, new J_U_F_BiConsumer.BiConsumerAdapter, T>() { + + @Override + public void accept(Set collection, T t) { + collection.add(t); + } + }, new J_U_F_BinaryOperator.BinaryOperatorAdapter>() { + + @Override + public Set apply(Set o, Set o2) { + o.addAll(o2); + return o; + } + }, new J_U_F_Function.FunctionAdapter, Set>() { + @Override + public Set apply(Set ts) { + return Collections.unmodifiableSet(ts); + } + }, + J_U_S_Collector.Characteristics.UNORDERED); } @@ -328,7 +327,7 @@ public Double apply(double[] longs) { ); } - + public static J_U_S_Collector averagingInt(final J_U_F_ToIntFunction mapper) { return J_U_S_Collector.CollectorStatics.of( new J_U_F_Supplier() { @@ -481,7 +480,7 @@ private static J_U_F_Supplier boxSupplier(final T in) { return new J_U_F_Supplier() { @Override public T[] get() { - return (T[]) new Object[] { in }; + return (T[]) new Object[]{in}; } }; } @@ -576,11 +575,11 @@ public Map get() { }, downstream); } - private static > J_U_F_BinaryOperator mapMerger(final J_U_F_BinaryOperator mergeFunction) { + private static > J_U_F_BinaryOperator mapMerger(final J_U_F_BinaryOperator mergeFunction) { return new J_U_F_BinaryOperator.BinaryOperatorAdapter() { @Override public M apply(M m1, M m2) { - for (Map.Entry e : m2.entrySet()) + for (Map.Entry e : m2.entrySet()) J_U_Map.merge(m1, e.getKey(), e.getValue(), mergeFunction); return m1; } @@ -599,7 +598,7 @@ public void accept(Map m, T t) { } }; J_U_F_BinaryOperator> merger = J_U_S_Collectors.>mapMerger(downstream.combiner()); - J_U_F_Supplier> mangledFactory = (J_U_F_Supplier>) mapFactory; + J_U_F_Supplier> mangledFactory = (J_U_F_Supplier>) mapFactory; if (downstream.characteristics().contains(J_U_S_Collector.Characteristics.IDENTITY_FINISH)) { return (J_U_S_Collector) J_U_S_Collector.CollectorStatics.of( mangledFactory, @@ -933,7 +932,6 @@ public J_U_DoubleSummaryStatistics apply(J_U_DoubleSummaryStatistics jUIntSummar } - static class CollectorImpl implements J_U_S_Collector { private final J_U_F_Supplier supplier; diff --git a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/stream/J_U_S_Stream.java b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/stream/J_U_S_Stream.java index 3cc43e65..ce6e19d9 100644 --- a/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/stream/J_U_S_Stream.java +++ b/java-api/src/java8/java/xyz/wagyourtail/jvmdg/j8/stub/stream/J_U_S_Stream.java @@ -76,6 +76,28 @@ public interface J_U_S_Stream extends J_U_S_BaseStream> { J_U_Optional findAny(); + @Adapter("Ljava/util/stream/Stream$Builder;") + interface Builder extends J_U_F_Consumer { + + @Override + void accept(T t); + + Builder add(T t); + + J_U_S_Stream build(); + + class BuilderDefaults { + + @Stub(abstractDefault = true) + public static Builder add(Builder builder, T t) { + builder.accept(t); + return builder; + } + + } + + } + class StreamStatics { @Stub(ref = @Ref("Ljava/util/stream/Stream;")) @@ -124,29 +146,6 @@ public static J_U_S_Stream concat(J_U_S_Stream a, J_U_S_Stre } - - } - - @Adapter("Ljava/util/stream/Stream$Builder;") - interface Builder extends J_U_F_Consumer { - - @Override - void accept(T t); - - Builder add(T t); - - J_U_S_Stream build(); - - class BuilderDefaults { - - @Stub(abstractDefault = true) - public static Builder add(Builder builder, T t) { - builder.accept(t); - return builder; - } - - } - } diff --git a/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_I_StringConcatFactory.java b/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_I_StringConcatFactory.java index dea3f668..7a9a2f6f 100644 --- a/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_I_StringConcatFactory.java +++ b/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_I_StringConcatFactory.java @@ -3,7 +3,6 @@ import org.objectweb.asm.Opcodes; import org.objectweb.asm.Type; import org.objectweb.asm.tree.*; -import xyz.wagyourtail.jvmdg.Constants; import xyz.wagyourtail.jvmdg.version.Modify; import xyz.wagyourtail.jvmdg.version.Ref; @@ -80,22 +79,22 @@ private static InsnList makeConcatInternal(String args, Deque types) { // last is object if (!type.equals("Ljava/lang/String;")) { list.add(new MethodInsnNode( - Opcodes.INVOKESTATIC, - "java/lang/String", - "valueOf", - "(Ljava/lang/Object;)Ljava/lang/String;", - false + Opcodes.INVOKESTATIC, + "java/lang/String", + "valueOf", + "(Ljava/lang/Object;)Ljava/lang/String;", + false )); } break; default: // last is primitive list.add(new MethodInsnNode( - Opcodes.INVOKESTATIC, - "java/lang/String", - "valueOf", - "(" + type + ")Ljava/lang/String;", - false + Opcodes.INVOKESTATIC, + "java/lang/String", + "valueOf", + "(" + type + ")Ljava/lang/String;", + false )); break; } @@ -129,11 +128,11 @@ private static InsnList makeConcatInternal(String args, Deque types) { list.add(new InsnNode(Opcodes.SWAP)); // stack = [...types, String, last] list.add(new MethodInsnNode( - Opcodes.INVOKESTATIC, - "java/lang/String", - "valueOf", - "(Ljava/lang/Object;)Ljava/lang/String;", - false + Opcodes.INVOKESTATIC, + "java/lang/String", + "valueOf", + "(Ljava/lang/Object;)Ljava/lang/String;", + false )); // stack = [...types, String, String(last)] // or if last was String @@ -155,11 +154,11 @@ private static InsnList makeConcatInternal(String args, Deque types) { } // stack = [...types, String. last] list.add(new MethodInsnNode( - Opcodes.INVOKESTATIC, - "java/lang/String", - "valueOf", - "(" + type + ")Ljava/lang/String;", - false + Opcodes.INVOKESTATIC, + "java/lang/String", + "valueOf", + "(" + type + ")Ljava/lang/String;", + false )); // stack = [...types, String, String(last)] break; @@ -171,11 +170,11 @@ private static InsnList makeConcatInternal(String args, Deque types) { } // stack = [...types, String(last), String] list.add(new MethodInsnNode( - Opcodes.INVOKEVIRTUAL, - "java/lang/String", - "concat", - "(Ljava/lang/String;)Ljava/lang/String;", - false + Opcodes.INVOKEVIRTUAL, + "java/lang/String", + "concat", + "(Ljava/lang/String;)Ljava/lang/String;", + false )); // stack = [...types, String] args = args.substring(0, args.length() - 1); @@ -188,11 +187,11 @@ private static InsnList makeConcatInternal(String args, Deque types) { list.add(new InsnNode(Opcodes.SWAP)); // stack = [...types, literal, String] list.add(new MethodInsnNode( - Opcodes.INVOKEVIRTUAL, - "java/lang/String", - "concat", - "(Ljava/lang/String;)Ljava/lang/String;", - false + Opcodes.INVOKEVIRTUAL, + "java/lang/String", + "concat", + "(Ljava/lang/String;)Ljava/lang/String;", + false )); // stack = [...types, String] if (last == -1) { @@ -261,21 +260,21 @@ private static InsnList makeConcatInternal2(String args, Deque types) { // last is object if (!type.equals("Ljava/lang/String;")) { list.add(new MethodInsnNode( - Opcodes.INVOKESPECIAL, - "java/lang/StringBuilder", - "", - "()V", - false + Opcodes.INVOKESPECIAL, + "java/lang/StringBuilder", + "", + "()V", + false )); // stack = [...types, last, StringBuilder] list.add(new InsnNode(Opcodes.SWAP)); // stack = [...types, StringBuilder, last] list.add(new MethodInsnNode( - Opcodes.INVOKEVIRTUAL, - "java/lang/StringBuilder", - "append", - "(Ljava/lang/Object;)Ljava/lang/StringBuilder;", - false + Opcodes.INVOKEVIRTUAL, + "java/lang/StringBuilder", + "append", + "(Ljava/lang/Object;)Ljava/lang/StringBuilder;", + false )); // stack = [...types, StringBuilder] } else { @@ -286,11 +285,11 @@ private static InsnList makeConcatInternal2(String args, Deque types) { list.add(new InsnNode(Opcodes.SWAP)); // stack = [...types, StringBuilder, StringBuilder, last] list.add(new MethodInsnNode( - Opcodes.INVOKESPECIAL, - "java/lang/StringBuilder", - "", - "(Ljava/lang/String;)V", - false + Opcodes.INVOKESPECIAL, + "java/lang/StringBuilder", + "", + "(Ljava/lang/String;)V", + false )); // stack = [...types, StringBuilder] } @@ -298,11 +297,11 @@ private static InsnList makeConcatInternal2(String args, Deque types) { default: // last is primitive list.add(new MethodInsnNode( - Opcodes.INVOKESPECIAL, - "java/lang/StringBuilder", - "", - "()V", - false + Opcodes.INVOKESPECIAL, + "java/lang/StringBuilder", + "", + "()V", + false )); // stack = [...types, last, StringBuilder] switch (last.getSize()) { @@ -318,11 +317,11 @@ private static InsnList makeConcatInternal2(String args, Deque types) { } // stack = [...types, StringBuilder, last] list.add(new MethodInsnNode( - Opcodes.INVOKEVIRTUAL, - "java/lang/StringBuilder", - "append", - "(" + type + ")Ljava/lang/StringBuilder;", - false + Opcodes.INVOKEVIRTUAL, + "java/lang/StringBuilder", + "append", + "(" + type + ")Ljava/lang/StringBuilder;", + false )); // stack = [...types, StringBuilder] break; @@ -342,11 +341,11 @@ private static InsnList makeConcatInternal2(String args, Deque types) { String literal = args.substring(last + 1); list.add(new LdcInsnNode(literal)); list.add(new MethodInsnNode( - Opcodes.INVOKESPECIAL, - "java/lang/StringBuilder", - "", - "(Ljava/lang/String;)V", - false + Opcodes.INVOKESPECIAL, + "java/lang/StringBuilder", + "", + "(Ljava/lang/String;)V", + false )); args = args.substring(0, last + 1); } @@ -367,19 +366,19 @@ private static InsnList makeConcatInternal2(String args, Deque types) { // stack = [...types, StringBuilder, 0, last] if (!type.equals("Ljava/lang/String;")) { list.add(new MethodInsnNode( - Opcodes.INVOKEVIRTUAL, - "java/lang/StringBuilder", - "insert", - "(ILjava/lang/Object;)Ljava/lang/StringBuilder;", - false + Opcodes.INVOKEVIRTUAL, + "java/lang/StringBuilder", + "insert", + "(ILjava/lang/Object;)Ljava/lang/StringBuilder;", + false )); } else { list.add(new MethodInsnNode( - Opcodes.INVOKEVIRTUAL, - "java/lang/StringBuilder", - "insert", - "(ILjava/lang/String;)Ljava/lang/StringBuilder;", - false + Opcodes.INVOKEVIRTUAL, + "java/lang/StringBuilder", + "insert", + "(ILjava/lang/String;)Ljava/lang/StringBuilder;", + false )); } break; @@ -399,11 +398,11 @@ private static InsnList makeConcatInternal2(String args, Deque types) { } // stack = [...types, StringBuilder, 0, last] list.add(new MethodInsnNode( - Opcodes.INVOKEVIRTUAL, - "java/lang/StringBuilder", - "insert", - "(I" + type + ")Ljava/lang/StringBuilder;", - false + Opcodes.INVOKEVIRTUAL, + "java/lang/StringBuilder", + "insert", + "(I" + type + ")Ljava/lang/StringBuilder;", + false )); } // stack = [...types, StringBuilder] @@ -416,11 +415,11 @@ private static InsnList makeConcatInternal2(String args, Deque types) { list.add(new LdcInsnNode(literal)); // stack = [...types, StringBuilder, 0, literal] list.add(new MethodInsnNode( - Opcodes.INVOKEVIRTUAL, - "java/lang/StringBuilder", - "insert", - "(ILjava/lang/String;)Ljava/lang/StringBuilder;", - false + Opcodes.INVOKEVIRTUAL, + "java/lang/StringBuilder", + "insert", + "(ILjava/lang/String;)Ljava/lang/StringBuilder;", + false )); // stack = [...types, StringBuilder] if (last == -1) { @@ -431,11 +430,11 @@ private static InsnList makeConcatInternal2(String args, Deque types) { } } list.add(new MethodInsnNode( - Opcodes.INVOKEVIRTUAL, - "java/lang/StringBuilder", - "toString", - "()Ljava/lang/String;", - false + Opcodes.INVOKEVIRTUAL, + "java/lang/StringBuilder", + "toString", + "()Ljava/lang/String;", + false )); return list; } @@ -458,11 +457,11 @@ public static InsnList makeConcatInternal3(String mname, ClassNode node, String if (concatMethod.args.equals(args)) { InsnList list = new InsnList(); list.add(new MethodInsnNode( - Opcodes.INVOKESTATIC, - node.name, - concatMethod.name, - concatMethod.desc, - (node.access & Opcodes.ACC_INTERFACE) != 0 + Opcodes.INVOKESTATIC, + node.name, + concatMethod.name, + concatMethod.desc, + (node.access & Opcodes.ACC_INTERFACE) != 0 )); return list; } @@ -476,11 +475,11 @@ public static InsnList makeConcatInternal3(String mname, ClassNode node, String node.methods.add(method); InsnList list = new InsnList(); list.add(new MethodInsnNode( - Opcodes.INVOKESTATIC, - node.name, - method.name, - method.desc, - (node.access & Opcodes.ACC_INTERFACE) != 0 + Opcodes.INVOKESTATIC, + node.name, + method.name, + method.desc, + (node.access & Opcodes.ACC_INTERFACE) != 0 )); return list; } diff --git a/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_IndexOutOfBoundsException.java b/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_IndexOutOfBoundsException.java index 6e9e94ca..8b589b1b 100644 --- a/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_IndexOutOfBoundsException.java +++ b/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_IndexOutOfBoundsException.java @@ -5,7 +5,6 @@ import org.objectweb.asm.tree.*; import xyz.wagyourtail.jvmdg.version.Modify; import xyz.wagyourtail.jvmdg.version.Ref; -import xyz.wagyourtail.jvmdg.version.Stub; public class J_L_IndexOutOfBoundsException { diff --git a/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_Math.java b/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_Math.java index d0c0ce6b..248de531 100644 --- a/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_Math.java +++ b/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_Math.java @@ -64,10 +64,10 @@ public static float fma(float a, float b, float c) { return a * b + c; // Handled signed zero cases } else { return ( - new BigDecimal((double) a * (double) b) // Exact multiply - .add(new BigDecimal(c)) + new BigDecimal((double) a * (double) b) // Exact multiply + .add(new BigDecimal(c)) ) // Exact sum - .floatValue(); // One rounding + .floatValue(); // One rounding // to a float value } } else { @@ -87,7 +87,7 @@ public static double fma(double a, double b, double c) { if (infiniteA || infiniteB || infiniteC) { if (infiniteA && b == 0.0 || - infiniteB && a == 0.0) { + infiniteB && a == 0.0) { return Double.NaN; } double product = a * b; diff --git a/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_R_AccessibleObject.java b/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_R_AccessibleObject.java index d173fdf0..15279113 100644 --- a/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_R_AccessibleObject.java +++ b/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_R_AccessibleObject.java @@ -25,7 +25,7 @@ public static boolean canAccess(AccessibleObject obj, Object target) throws NoSu Class declaringClass = ((Member) obj).getDeclaringClass(); int modifiers = ((Member) obj).getModifiers(); if (!Modifier.isStatic(modifiers) && - (obj instanceof Method || obj instanceof Field)) { + (obj instanceof Method || obj instanceof Field)) { if (target == null) { throw new IllegalArgumentException("null object for " + obj); } @@ -33,7 +33,7 @@ public static boolean canAccess(AccessibleObject obj, Object target) throws NoSu // must be a subclass of the declaring class of this reflected object if (!declaringClass.isAssignableFrom(obj.getClass())) { throw new IllegalArgumentException("object is not an instance of " - + declaringClass.getName()); + + declaringClass.getName()); } } else if (target != null) { throw new IllegalArgumentException("non-null object for " + obj); @@ -55,11 +55,11 @@ public static boolean canAccess(AccessibleObject obj, Object target) throws NoSu //noinspection JavaReflectionMemberAccess it's there in j8 Method checkAccess = AccessibleObject.class.getDeclaredMethod( - "checkAccess", - Class.class, - Class.class, - Object.class, - int.class + "checkAccess", + Class.class, + Class.class, + Object.class, + int.class ); checkAccess.setAccessible(true); try { diff --git a/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_Runtime.java b/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_Runtime.java index 919aafe8..b71da298 100644 --- a/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_Runtime.java +++ b/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_Runtime.java @@ -46,12 +46,12 @@ public static Version parse(String s) { // feature-version constants during startup if (isSimpleNumber(s)) { return new Version(Arrays.asList(Integer.parseInt(s)), - Optional.empty(), Optional.empty(), Optional.empty()); + Optional.empty(), Optional.empty(), Optional.empty()); } Matcher m = VersionPattern.VSTR_PATTERN.matcher(s); if (!m.matches()) throw new IllegalArgumentException("Invalid version string: '" - + s + "'"); + + s + "'"); // $VNUM is a dot-separated list of integers of arbitrary length String[] split = m.group(VersionPattern.VNUM_GROUP).split("[._]"); @@ -61,13 +61,13 @@ public static Version parse(String s) { } Optional pre = Optional.ofNullable( - m.group(VersionPattern.PRE_GROUP)); + m.group(VersionPattern.PRE_GROUP)); String b = m.group(VersionPattern.BUILD_GROUP); // $BUILD is an integer Optional build = (b == null) - ? Optional.empty() - : Optional.of(Integer.parseInt(b)); + ? Optional.empty() + : Optional.of(Integer.parseInt(b)); if (pre.isPresent() && !build.isPresent() && pre.get().matches("b\\d+")) { build = Optional.of(Integer.parseInt(pre.get().substring(1))); @@ -75,7 +75,7 @@ public static Version parse(String s) { } Optional optional = Optional.ofNullable( - m.group(VersionPattern.OPT_GROUP)); + m.group(VersionPattern.OPT_GROUP)); // empty '+' if (!build.isPresent()) { @@ -83,17 +83,17 @@ public static Version parse(String s) { if (optional.isPresent()) { if (pre.isPresent()) throw new IllegalArgumentException("'+' found with" - + " pre-release and optional components:'" + s - + "'"); + + " pre-release and optional components:'" + s + + "'"); } else { throw new IllegalArgumentException("'+' found with neither" - + " build or optional components: '" + s + "'"); + + " build or optional components: '" + s + "'"); } } else { if (optional.isPresent() && !pre.isPresent()) { throw new IllegalArgumentException("optional component" - + " must be preceded by a pre-release component" - + " or '+': '" + s + "'"); + + " must be preceded by a pre-release component" + + " or '+': '" + s + "'"); } } } @@ -195,12 +195,12 @@ private int comparePre(Version obj) { String oVal = oPre.get(); if (val.matches("\\d+")) { return (oVal.matches("\\d+") - ? (new BigInteger(val)).compareTo(new BigInteger(oVal)) - : -1); + ? (new BigInteger(val)).compareTo(new BigInteger(oVal)) + : -1); } else { return (oVal.matches("\\d+") - ? 1 - : val.compareTo(oVal)); + ? 1 + : val.compareTo(oVal)); } } return 0; @@ -210,8 +210,8 @@ private int compareBuild(Version obj) { Optional oBuild = obj.build(); if (oBuild.isPresent()) { return (build.isPresent() - ? build.get().compareTo(oBuild.get()) - : -1); + ? build.get().compareTo(oBuild.get()) + : -1); } else if (build.isPresent()) { return 1; } @@ -234,9 +234,9 @@ private int compareOptional(Version obj) { @Override public String toString() { StringBuilder sb - = new StringBuilder(version.stream() - .map(Object::toString) - .collect(Collectors.joining("."))); + = new StringBuilder(version.stream() + .map(Object::toString) + .collect(Collectors.joining("."))); pre.ifPresent(v -> sb.append("-").append(v)); @@ -270,8 +270,8 @@ public boolean equalsIgnoreOptional(Object obj) { if (obj instanceof Version) { Version that = (Version) obj; return (this.version().equals(that.version()) - && this.pre().equals(that.pre()) - && this.build().equals(that.build())); + && this.pre().equals(that.pre()) + && this.build().equals(that.build())); } return false; } @@ -300,10 +300,10 @@ private static class VersionPattern { static final String BUILD_GROUP = "BUILD"; static final String OPT_GROUP = "OPT"; private static final String VNUM - = "(?:1\\.)?(?[1-9][0-9]*(?:(?:\\.0)*[._][1-9][0-9]*)*)"; + = "(?:1\\.)?(?[1-9][0-9]*(?:(?:\\.0)*[._][1-9][0-9]*)*)"; private static final String PRE = "(?:-(?
[a-zA-Z0-9]+))?";
             private static final String BUILD
-                = "(?:(?\\+|-b)(?[0-9]+)?)?";
+                    = "(?:(?\\+|-b)(?[0-9]+)?)?";
             private static final String OPT = "(?:-(?[-a-zA-Z0-9.]+))?";
             private static final String VSTR_FORMAT = VNUM + PRE + BUILD + OPT;
             static final Pattern VSTR_PATTERN = Pattern.compile(VSTR_FORMAT);
diff --git a/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_StackWalker.java b/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_StackWalker.java
index f52ba4d6..60720cd1 100644
--- a/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_StackWalker.java
+++ b/java-api/src/java9/java/xyz/wagyourtail/jvmdg/j9/stub/java_base/J_L_StackWalker.java
@@ -46,10 +46,10 @@ public static J_L_StackWalker getInstance(Set