Skip to content

Commit d20dda9

Browse files
committed
Use switch expressions
1 parent 92e84bc commit d20dda9

File tree

7 files changed

+45
-72
lines changed

7 files changed

+45
-72
lines changed

java-compiler-testing/src/main/java/io/github/ascopes/jct/compilers/impl/JavacJctFlagBuilderImpl.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -81,21 +81,15 @@ public JavacJctFlagBuilderImpl failOnWarnings(boolean enabled) {
8181
@Override
8282
public JctFlagBuilder compilationMode(CompilationMode compilationMode) {
8383
switch (compilationMode) {
84-
case COMPILATION_ONLY:
85-
craftedFlags.add(PROC_NONE);
86-
break;
87-
88-
case ANNOTATION_PROCESSING_ONLY:
89-
craftedFlags.add(PROC_ONLY);
90-
break;
91-
92-
default:
84+
case COMPILATION_ONLY -> craftedFlags.add(PROC_NONE);
85+
case ANNOTATION_PROCESSING_ONLY -> craftedFlags.add(PROC_ONLY);
86+
default -> {
9387
if (Runtime.version().feature() >= 22) {
9488
// In Java 22, the default is to disable all annotation processing by default
9589
// Prior to Java 22, the default was to enable all annotation processing by default.
9690
craftedFlags.add(PROC_FULL);
9791
}
98-
break;
92+
}
9993
}
10094

10195
return this;

java-compiler-testing/src/main/java/io/github/ascopes/jct/diagnostics/TracingDiagnosticListener.java

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -149,15 +149,11 @@ public final void report(Diagnostic<? extends S> diagnostic) {
149149
}
150150

151151
private Level diagnosticToLevel(Diagnostic<?> diagnostic) {
152-
switch (diagnostic.getKind()) {
153-
case ERROR:
154-
return Level.ERROR;
155-
case WARNING:
156-
case MANDATORY_WARNING:
157-
return Level.WARN;
158-
default:
159-
return Level.INFO;
160-
}
152+
return switch (diagnostic.getKind()) {
153+
case ERROR -> Level.ERROR;
154+
case WARNING, MANDATORY_WARNING -> Level.WARN;
155+
default -> Level.INFO;
156+
};
161157
}
162158

163159
private Supplier<String> messageGetter(Diagnostic<?> diagnostic) {

java-compiler-testing/src/main/java/io/github/ascopes/jct/filemanagers/config/JctFileManagerAnnotationProcessorClassPathConfigurer.java

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,26 +64,28 @@ public JctFileManagerAnnotationProcessorClassPathConfigurer(JctCompiler compiler
6464
public JctFileManager configure(JctFileManager fileManager) {
6565
log.debug("Configuring annotation processor discovery mechanism");
6666

67-
switch (compiler.getAnnotationProcessorDiscovery()) {
68-
case ENABLED:
67+
return switch (compiler.getAnnotationProcessorDiscovery()) {
68+
case ENABLED -> {
6969
log.trace("Annotation processor discovery is enabled, ensuring empty location exists");
7070

7171
INHERITED_AP_PATHS.values().forEach(fileManager::createEmptyLocation);
7272

73-
return fileManager;
73+
yield fileManager;
74+
}
7475

75-
case INCLUDE_DEPENDENCIES:
76+
case INCLUDE_DEPENDENCIES -> {
7677
log.trace("Annotation processor discovery is enabled, copying classpath dependencies "
7778
+ "into the annotation processor path");
7879

7980
INHERITED_AP_PATHS.forEach(fileManager::copyContainers);
8081
INHERITED_AP_PATHS.values().forEach(fileManager::createEmptyLocation);
8182

82-
return fileManager;
83+
yield fileManager;
84+
}
8385

84-
default:
85-
throw new JctIllegalInputException("Cannot configure annotation processor discovery");
86-
}
86+
default -> throw new JctIllegalInputException(
87+
"Cannot configure annotation processor discovery");
88+
};
8789
}
8890

8991
@Override

java-compiler-testing/src/main/java/io/github/ascopes/jct/filemanagers/config/JctFileManagerLoggingProxyConfigurer.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -50,16 +50,17 @@ public JctFileManagerLoggingProxyConfigurer(JctCompiler compiler) {
5050
public JctFileManager configure(JctFileManager fileManager) {
5151
log.debug("Configuring compiler operation audit logging");
5252

53-
switch (compiler.getFileManagerLoggingMode()) {
54-
case STACKTRACES:
53+
return switch (compiler.getFileManagerLoggingMode()) {
54+
case STACKTRACES -> {
5555
log.trace("Decorating file manager {} in a logger proxy with stack traces", fileManager);
56-
return LoggingFileManagerProxy.wrap(fileManager, true);
57-
case ENABLED:
56+
yield LoggingFileManagerProxy.wrap(fileManager, true);
57+
}
58+
case ENABLED -> {
5859
log.trace("Decorating file manager {} in a logger proxy", fileManager);
59-
return LoggingFileManagerProxy.wrap(fileManager, false);
60-
default:
61-
throw new IllegalStateException("Cannot configure logger proxy");
62-
}
60+
yield LoggingFileManagerProxy.wrap(fileManager, false);
61+
}
62+
default -> throw new IllegalStateException("Cannot configure logger proxy");
63+
};
6364
}
6465

6566
@Override

java-compiler-testing/src/main/java/io/github/ascopes/jct/utils/StringUtils.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -228,14 +228,9 @@ private static void appendQuoted(StringBuilder builder, @Nullable Object object)
228228
for (var i = 0; i < objectStr.length(); ++i) {
229229
var c = objectStr.charAt(i);
230230
switch (c) {
231-
case '\\':
232-
builder.append("\\\\");
233-
break;
234-
case '"':
235-
builder.append("\\\"");
236-
break;
237-
default:
238-
builder.append(c);
231+
case '\\' -> builder.append("\\\\");
232+
case '"' -> builder.append("\\\"");
233+
default -> builder.append(c);
239234
}
240235
}
241236

java-compiler-testing/src/main/java/io/github/ascopes/jct/utils/ToStringBuilder.java

Lines changed: 8 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -135,25 +135,13 @@ private static void appendToStringCharSequence(StringBuilder builder, CharSequen
135135
for (var i = 0; i < len; ++i) {
136136
var next = chars.charAt(i);
137137
switch (next) {
138-
case '\0':
139-
builder.append("\\0");
140-
break;
141-
case '\r':
142-
builder.append("\\r");
143-
break;
144-
case '\n':
145-
builder.append("\\n");
146-
break;
147-
case '\t':
148-
builder.append("\\t");
149-
break;
150-
case '\"':
151-
builder.append("\\\"");
152-
break;
153-
case '\\':
154-
builder.append("\\\\");
155-
break;
156-
default:
138+
case '\0' -> builder.append("\\0");
139+
case '\r' -> builder.append("\\r");
140+
case '\n' -> builder.append("\\n");
141+
case '\t' -> builder.append("\\t");
142+
case '\"' -> builder.append("\\\"");
143+
case '\\' -> builder.append("\\\\");
144+
default -> {
157145
if (0x20 <= next && next <= 0x7E || 0x80 <= next && next <= 0xFF) {
158146
builder.append(next);
159147
} else {
@@ -162,7 +150,7 @@ private static void appendToStringCharSequence(StringBuilder builder, CharSequen
162150
.append("0".repeat(4 - hex.length()))
163151
.append(hex);
164152
}
165-
break;
153+
}
166154
}
167155
}
168156

java-compiler-testing/src/main/java/io/github/ascopes/jct/workspaces/impl/FileBuilderImpl.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -169,16 +169,13 @@ private static InputStream maybeBuffer(InputStream input, @Nullable String schem
169169
? "unknown"
170170
: scheme.toLowerCase(Locale.ENGLISH);
171171

172-
switch (scheme) {
173-
case "classpath":
174-
case "memory":
175-
case "jrt":
176-
case "ram":
177-
return input;
178-
default:
172+
return switch (scheme) {
173+
case "classpath", "memory", "jrt", "ram" -> input;
174+
default -> {
179175
log.trace("Decided to wrap input {} in a buffer - scheme was {}", input, scheme);
180-
return new BufferedInputStream(input);
181-
}
176+
yield new BufferedInputStream(input);
177+
}
178+
};
182179
}
183180

184181
private static ClassLoader currentCallerClassLoader() {

0 commit comments

Comments
 (0)