Skip to content

Commit e641738

Browse files
inline Main.COMMAND init
1 parent 66ac974 commit e641738

File tree

1 file changed

+21
-24
lines changed
  • enigma-cli/src/main/java/org/quiltmc/enigma/command

1 file changed

+21
-24
lines changed

enigma-cli/src/main/java/org/quiltmc/enigma/command/Main.java

Lines changed: 21 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,33 @@
11
package org.quiltmc.enigma.command;
22

3+
import com.google.common.collect.ImmutableMap;
34
import org.quiltmc.enigma.api.Enigma;
45
import org.tinylog.Logger;
56

6-
import java.util.LinkedHashMap;
77
import java.util.Locale;
88
import java.util.Map;
9+
import java.util.function.Function;
10+
import java.util.stream.Stream;
11+
12+
import static com.google.common.collect.ImmutableMap.toImmutableMap;
913

1014
public class Main {
11-
private static final Map<String, Command> COMMANDS = new LinkedHashMap<>();
15+
private static final ImmutableMap<String, Command> COMMANDS = Stream
16+
.of(
17+
DeobfuscateCommand.INSTANCE,
18+
DecompileCommand.INSTANCE,
19+
ConvertMappingsCommand.INSTANCE,
20+
ComposeMappingsCommand.INSTANCE,
21+
InvertMappingsCommand.INSTANCE,
22+
CheckMappingsCommand.INSTANCE,
23+
MapSpecializedMethodsCommand.INSTANCE,
24+
InsertProposedMappingsCommand.INSTANCE,
25+
DropInvalidMappingsCommand.INSTANCE,
26+
FillClassMappingsCommand.INSTANCE,
27+
HelpCommand.INSTANCE,
28+
PrintStatsCommand.INSTANCE
29+
)
30+
.collect(toImmutableMap(Command::getName, Function.identity()));
1231

1332
public static void main(String... args) {
1433
try {
@@ -97,32 +116,10 @@ private static void appendHelp(Argument argument, int index, StringBuilder build
97116
builder.append(argument.explanation()).append("\n");
98117
}
99118

100-
private static void register(Command command) {
101-
Command old = COMMANDS.put(command.getName(), command);
102-
if (old != null) {
103-
Logger.warn("Command {} with name {} has been substituted by {}", old, command.getName(), command);
104-
}
105-
}
106-
107119
private static void logEnigmaInfo() {
108120
Logger.info("{} - {}", Enigma.NAME, Enigma.VERSION);
109121
}
110122

111-
static {
112-
register(DeobfuscateCommand.INSTANCE);
113-
register(DecompileCommand.INSTANCE);
114-
register(ConvertMappingsCommand.INSTANCE);
115-
register(ComposeMappingsCommand.INSTANCE);
116-
register(InvertMappingsCommand.INSTANCE);
117-
register(CheckMappingsCommand.INSTANCE);
118-
register(MapSpecializedMethodsCommand.INSTANCE);
119-
register(InsertProposedMappingsCommand.INSTANCE);
120-
register(DropInvalidMappingsCommand.INSTANCE);
121-
register(FillClassMappingsCommand.INSTANCE);
122-
register(HelpCommand.INSTANCE);
123-
register(PrintStatsCommand.INSTANCE);
124-
}
125-
126123
private static final class CommandHelpException extends IllegalArgumentException {
127124
final Command command;
128125

0 commit comments

Comments
 (0)