package lombok.core.configuration; import java.util.regex.Matcher; import java.util.regex.Pattern; /* loaded from: com.discord-118106.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; } }