package lombok.delombok; import java.util.Arrays; import java.util.Collections; import java.util.LinkedHashMap; import java.util.Map; /* loaded from: com.discord-122106.apk:lombok/delombok/FormatPreferences.SCL.lombok */ public final class FormatPreferences { private final String indent; private final Boolean filledEmpties; private final boolean generateFinalParams; private final boolean generateConstructorProperties; private final boolean generateSuppressWarnings; private final boolean danceAroundIdeChecks; private final boolean generateDelombokComment; private final boolean javaLangAsFqn; final Map rawMap; private final boolean generateGenerated; static final Map KEYS; static { LinkedHashMap linkedHashMap = new LinkedHashMap(); linkedHashMap.put("indent", "The indent to use. 'tab' can be used to represent 1 tab. A number means that many spaces. Default: 'tab'"); linkedHashMap.put("emptyLines", "Either 'indent' or 'blank'. indent means: Indent an empty line to the right level. Default: 'blank'"); linkedHashMap.put("finalParams", "Either 'generate' or 'skip'. generate means: All lombok-generated methods set all parameters to final. Default: 'generate'"); linkedHashMap.put("constructorProperties", "Either 'generate' or 'skip'. generate means: All lombok-generated constructors with 1 or more arguments get an @ConstructorProperties annotation. Default: 'generate'"); linkedHashMap.put("suppressWarnings", "Either 'generate' or 'skip'. generate means: All lombok-generated methods, types, and fields get a @SuppressWarnings annotation. Default: 'generate'"); linkedHashMap.put("generated", "Either 'generate' or 'skip'. generate means: All lombok-generated methods, types, and fields get a @javax.annotation.Generated(\"lombok\") annotation. Default: 'generate'"); linkedHashMap.put("danceAroundIdeChecks", "Either 'generate' or 'skip'. generate means: Lombok will intentionally obfuscate some generated code to avoid IDE warnings. Default: 'generate'"); linkedHashMap.put("generateDelombokComment", "Either 'generate' or 'skip'. generate means: Any file modified by delombok will have a comment stating this at the top. Default: 'generate'"); linkedHashMap.put("javaLangAsFQN", "Either 'generate' or 'skip'. generate means: Any generated reference to java.lang classes are prefixed with `java.lang.`. Default: 'generate'"); KEYS = Collections.unmodifiableMap(linkedHashMap); } public FormatPreferences(Map map) { this(map, null, null); } public FormatPreferences(Map map, String str, Boolean bool) { this.rawMap = map; map = map == null ? Collections.emptyMap() : map; String str2 = map.get("indent"); if (str2 != null && !"scan".equalsIgnoreCase(str2)) { try { int parseInt = Integer.parseInt(str2); if (parseInt > 0 && parseInt < 32) { char[] cArr = new char[parseInt]; Arrays.fill(cArr, ' '); str2 = new String(cArr); } } catch (NumberFormatException unused) { } str = str2.replace("\\t", "\t").replace("tab", "\t"); } String str3 = map.get("emptyLines".toLowerCase()); if ("indent".equalsIgnoreCase(str3)) { bool = true; } else if ("blank".equalsIgnoreCase(str3)) { bool = false; } else if (str3 != null && !"scan".equalsIgnoreCase(str3)) { throw new IllegalArgumentException("Legal values for 'emptyLines' are 'scan', 'indent', or 'blank'."); } this.indent = str; this.filledEmpties = bool; this.generateFinalParams = unrollBoolean(map, "finalParams", "generate", "skip", true); this.generateConstructorProperties = unrollBoolean(map, "constructorProperties", "generate", "skip", true); this.generateSuppressWarnings = unrollBoolean(map, "suppressWarnings", "generate", "skip", true); this.generateGenerated = unrollBoolean(map, "generated", "generate", "skip", true); this.danceAroundIdeChecks = unrollBoolean(map, "danceAroundIdeChecks", "generate", "skip", true); this.generateDelombokComment = unrollBoolean(map, "generateDelombokComment", "generate", "skip", true); this.javaLangAsFqn = unrollBoolean(map, "javaLangAsFQN", "generate", "skip", true); } private static boolean unrollBoolean(Map map, String str, String str2, String str3, boolean z2) { String str4 = map.get(str.toLowerCase()); if (str4 == null) { return z2; } if (str2.equalsIgnoreCase(str4)) { return true; } if (str3.equalsIgnoreCase(str4)) { return false; } throw new IllegalArgumentException("Legal values for '" + str + "' are '" + str2 + "', or '" + str3 + "'."); } public static Map getKeysAndDescriptions() { return KEYS; } public boolean fillEmpties() { if (this.filledEmpties == null) { return false; } return this.filledEmpties.booleanValue(); } public String indent() { return this.indent == null ? "\t" : this.indent; } public boolean generateSuppressWarnings() { return this.generateSuppressWarnings; } public boolean generateGenerated() { return this.generateGenerated; } public boolean generateFinalParams() { return this.generateFinalParams; } public boolean danceAroundIdeChecks() { return this.danceAroundIdeChecks; } public boolean generateDelombokComment() { return this.generateDelombokComment; } public boolean javaLangAsFqn() { return this.javaLangAsFqn; } public boolean generateConstructorProperties() { return this.generateConstructorProperties; } public String toString() { return this.rawMap.toString(); } }