Skip to content

Commit

Permalink
Update ASM version detection
Browse files Browse the repository at this point in the history
The default version detection is broken for minor versions, parse the maximum class file version instead.
  • Loading branch information
ah-OOG-ah authored and mitchej123 committed Feb 5, 2025
1 parent 020f925 commit aa870e0
Showing 1 changed file with 14 additions and 14 deletions.
28 changes: 14 additions & 14 deletions src/main/java/org/spongepowered/asm/mixin/MixinEnvironment.java
Original file line number Diff line number Diff line change
Expand Up @@ -678,7 +678,7 @@ boolean isSupported() {

@Override
boolean isSupported() {
return JavaVersion.current() >= JavaVersion.JAVA_9 && ASM.isAtLeastVersion(6);
return JavaVersion.current() >= JavaVersion.JAVA_9 && ASM.getMaxSupportedClassVersion() >= 53;
}

},
Expand All @@ -691,7 +691,7 @@ boolean isSupported() {

@Override
boolean isSupported() {
return JavaVersion.current() >= JavaVersion.JAVA_10 && ASM.isAtLeastVersion(6, 1);
return JavaVersion.current() >= JavaVersion.JAVA_10 && ASM.getMaxSupportedClassVersion() >= 54;
}

},
Expand All @@ -704,7 +704,7 @@ boolean isSupported() {

@Override
boolean isSupported() {
return JavaVersion.current() >= JavaVersion.JAVA_11 && ASM.isAtLeastVersion(7);
return JavaVersion.current() >= JavaVersion.JAVA_11 && ASM.getMaxSupportedClassVersion() >= 55;
}

},
Expand All @@ -717,7 +717,7 @@ boolean isSupported() {

@Override
boolean isSupported() {
return JavaVersion.current() >= JavaVersion.JAVA_12 && ASM.isAtLeastVersion(7);
return JavaVersion.current() >= JavaVersion.JAVA_12 && ASM.getMaxSupportedClassVersion() >= 56;
}

},
Expand All @@ -730,7 +730,7 @@ boolean isSupported() {

@Override
boolean isSupported() {
return JavaVersion.current() >= JavaVersion.JAVA_13 && ASM.isAtLeastVersion(7);
return JavaVersion.current() >= JavaVersion.JAVA_13 && ASM.getMaxSupportedClassVersion() >= 57;
}

},
Expand All @@ -745,7 +745,7 @@ boolean isSupported() {

@Override
boolean isSupported() {
return JavaVersion.current() >= JavaVersion.JAVA_14 && ASM.isAtLeastVersion(8);
return JavaVersion.current() >= JavaVersion.JAVA_14 && ASM.getMaxSupportedClassVersion() >= 58;
}

},
Expand All @@ -760,7 +760,7 @@ boolean isSupported() {

@Override
boolean isSupported() {
return JavaVersion.current() >= JavaVersion.JAVA_15 && ASM.isAtLeastVersion(9);
return JavaVersion.current() >= JavaVersion.JAVA_15 && ASM.getMaxSupportedClassVersion() >= 59;
}

},
Expand All @@ -774,7 +774,7 @@ boolean isSupported() {

@Override
boolean isSupported() {
return JavaVersion.current() >= JavaVersion.JAVA_16 && ASM.isAtLeastVersion(9);
return JavaVersion.current() >= JavaVersion.JAVA_16 && ASM.getMaxSupportedClassVersion() >= 60;
}

},
Expand All @@ -788,7 +788,7 @@ boolean isSupported() {

@Override
boolean isSupported() {
return JavaVersion.current() >= JavaVersion.JAVA_17 && ASM.isAtLeastVersion(9, 1);
return JavaVersion.current() >= JavaVersion.JAVA_17 && ASM.getMaxSupportedClassVersion() >= 61;
}

},
Expand All @@ -802,7 +802,7 @@ boolean isSupported() {

@Override
boolean isSupported() {
return JavaVersion.current() >= JavaVersion.JAVA_18 && ASM.isAtLeastVersion(9, 2);
return JavaVersion.current() >= JavaVersion.JAVA_18 && ASM.getMaxSupportedClassVersion() >= 62;
}

},
Expand All @@ -816,7 +816,7 @@ boolean isSupported() {

@Override
boolean isSupported() {
return JavaVersion.current() >= JavaVersion.JAVA_19 && ASM.isAtLeastVersion(9, 3);
return JavaVersion.current() >= JavaVersion.JAVA_19 && ASM.getMaxSupportedClassVersion() >= 63;
}

},
Expand All @@ -830,7 +830,7 @@ boolean isSupported() {

@Override
boolean isSupported() {
return JavaVersion.current() >= JavaVersion.JAVA_20 && ASM.isAtLeastVersion(9, 4);
return JavaVersion.current() >= JavaVersion.JAVA_20 && ASM.getMaxSupportedClassVersion() >= 64;
}

},
Expand All @@ -844,7 +844,7 @@ boolean isSupported() {

@Override
boolean isSupported() {
return JavaVersion.current() >= JavaVersion.JAVA_21 && ASM.isAtLeastVersion(9, 5);
return JavaVersion.current() >= JavaVersion.JAVA_21 && ASM.getMaxSupportedClassVersion() >= 65;
}

},
Expand All @@ -858,7 +858,7 @@ boolean isSupported() {

@Override
boolean isSupported() {
return JavaVersion.current() >= JavaVersion.JAVA_22 && ASM.isAtLeastVersion(9, 6);
return JavaVersion.current() >= JavaVersion.JAVA_22 && ASM.getMaxSupportedClassVersion() >= 66;
}

},
Expand Down

0 comments on commit aa870e0

Please sign in to comment.