discord-jadx/app/src/main/java/lombok/delombok/FormatPreferences.java

135 lines
6.0 KiB
Java

package lombok.delombok;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.Map;
/* loaded from: com.discord-118108.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<String, String> rawMap;
private final boolean generateGenerated;
static final Map<String, String> 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<String, String> map) {
this(map, null, null);
}
public FormatPreferences(Map<String, String> 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<String, String> 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<String, String> 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();
}
}