discord-jadx/app/src/main/java/lombok/core/configuration/CheckerFrameworkVersion.java

86 lines
3.4 KiB
Java

package lombok.core.configuration;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/* loaded from: com.discord-118107.apk:lombok/core/configuration/CheckerFrameworkVersion.SCL.lombok */
public final class CheckerFrameworkVersion implements ConfigurationValueType {
private final int version;
private static final int DEFAULT = 3200;
private static final int MAX_SUPPORTED = 4000;
public static final String NAME__SIDE_EFFECT_FREE = "org.checkerframework.dataflow.qual.SideEffectFree";
public static final String NAME__PURE = "org.checkerframework.dataflow.qual.Pure";
public static final String NAME__UNIQUE = "org.checkerframework.common.aliasing.qual.Unique";
public static final String NAME__RETURNS_RECEIVER = "org.checkerframework.common.returnsreceiver.qual.This";
public static final String NAME__NOT_CALLED = "org.checkerframework.checker.calledmethods.qual.NotCalledMethods";
public static final String NAME__CALLED = "org.checkerframework.checker.calledmethods.qual.CalledMethods";
public static final CheckerFrameworkVersion NONE = new CheckerFrameworkVersion(0);
private static final Pattern VERSION = Pattern.compile("^(\\d+)(?:\\.(\\d+))?(?:\\.\\d+)*$");
private CheckerFrameworkVersion(int i) {
this.version = i;
}
public boolean generateSideEffectFree() {
return this.version > 0;
}
public boolean generateUnique() {
return this.version > 2899;
}
public boolean generatePure() {
return this.version > 0;
}
public boolean generateReturnsReceiver() {
return this.version > 3999;
}
public boolean generateCalledMethods() {
return this.version > 3999;
}
public static CheckerFrameworkVersion valueOf(String str) {
if (str != null) {
str = str.trim();
}
if (str == null || str.equalsIgnoreCase("false") || str.equals("0")) {
return new CheckerFrameworkVersion(0);
}
if (str.equalsIgnoreCase("true")) {
return new CheckerFrameworkVersion(DEFAULT);
}
Matcher matcher = VERSION.matcher(str);
if (!matcher.matches()) {
throw new IllegalArgumentException("Expected 'true' or 'false' or a major/minor version, such as '2.9'");
}
int parseInt = Integer.parseInt(matcher.group(1));
int parseInt2 = (matcher.group(2) == null || matcher.group(2).isEmpty()) ? 0 : Integer.parseInt(matcher.group(2));
if (parseInt2 > 999) {
throw new IllegalArgumentException("Minor version must be between 0 and 999");
}
int i = (parseInt * 1000) + parseInt2;
if (i <= 4000) {
return new CheckerFrameworkVersion(i);
}
String str2 = String.valueOf(i / 1000) + "." + (i % 1000);
throw new IllegalArgumentException("Lombok supports at most v" + str2 + "; reduce the value of key 'checkerframework' to " + str2);
}
public static String description() {
return "checkerframework-version";
}
public static String exampleValue() {
return "major.minor (example: 3.2 - and no higher than 4.0) or true or false";
}
public boolean equals(Object obj) {
return (obj instanceof CheckerFrameworkVersion) && this.version == ((CheckerFrameworkVersion) obj).version;
}
public int hashCode() {
return this.version;
}
}