1717 */
1818package net .raphimc .javadowngrader ;
1919
20+ import net .raphimc .javadowngrader .transformer .DowngradeResult ;
2021import net .raphimc .javadowngrader .transformer .DowngradingTransformer ;
2122import net .raphimc .javadowngrader .transformer .j10 .Java11ToJava10 ;
2223import net .raphimc .javadowngrader .transformer .j11 .Java12ToJava11 ;
@@ -61,10 +62,11 @@ public class JavaDowngrader {
6162 *
6263 * @param classNode The class to downgrade
6364 * @param targetVersion The target Java version
65+ * @return The downgrade result
6466 * @see ClassNode
6567 */
66- public static void downgrade (final ClassNode classNode , final int targetVersion ) {
67- downgrade (classNode , targetVersion , RuntimeDepCollector .NULL );
68+ public static DowngradeResult downgrade (final ClassNode classNode , final int targetVersion ) {
69+ return downgrade (classNode , targetVersion , RuntimeDepCollector .NULL );
6870 }
6971
7072 /**
@@ -74,15 +76,19 @@ public static void downgrade(final ClassNode classNode, final int targetVersion)
7476 * @param targetVersion The target Java version
7577 * @param depCollector The {@link RuntimeDepCollector} to use to collect runtime dependencies. Check the javadoc
7678 * of {@link RuntimeDepCollector} for more info.
79+ * @return The downgrade result
7780 * @see ClassNode
7881 * @see RuntimeDepCollector
7982 */
80- public static void downgrade (final ClassNode classNode , final int targetVersion , final RuntimeDepCollector depCollector ) {
83+ public static DowngradeResult downgrade (final ClassNode classNode , final int targetVersion , final RuntimeDepCollector depCollector ) {
84+ DowngradeResult result = new DowngradeResult ();
8185 for (DowngradingTransformer transformer : TRANSFORMER ) {
8286 if (transformer .getTargetVersion () >= targetVersion && (classNode .version & 0xFF ) > transformer .getTargetVersion ()) {
83- transformer .transform (classNode , depCollector );
87+ DowngradeResult transformerResult = transformer .transform (classNode , depCollector );
88+ result .add (transformerResult );
8489 }
8590 }
91+ return result ;
8692 }
8793
8894}
0 commit comments