fix build fails with Java 19 (#1784)

This commit is contained in:
Glavo
2022-10-08 17:09:12 +08:00
committed by GitHub
parent f83d3cd769
commit 2649e79d47
3 changed files with 25 additions and 19 deletions

View File

@@ -44,7 +44,12 @@ public class LocalServerBroadcaster implements AutoCloseable {
public LocalServerBroadcaster(String address) { public LocalServerBroadcaster(String address) {
this.address = address; this.address = address;
this.threadGroup.setDaemon(true); }
private Thread newThread(Runnable task, String name) {
Thread thread = new Thread(threadGroup, task, name);
thread.setDaemon(true);
return thread;
} }
@Override @Override
@@ -64,7 +69,7 @@ public class LocalServerBroadcaster implements AutoCloseable {
public static final Pattern ADDRESS_PATTERN = Pattern.compile("^\\s*(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}):(\\d{1,5})\\s*$"); public static final Pattern ADDRESS_PATTERN = Pattern.compile("^\\s*(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}):(\\d{1,5})\\s*$");
public void start() { public void start() {
Thread forwardPortThread = new Thread(threadGroup, this::forwardPort, "ForwardPort"); Thread forwardPortThread = newThread(this::forwardPort, "ForwardPort");
forwardPortThread.start(); forwardPortThread.start();
} }
@@ -81,7 +86,7 @@ public class LocalServerBroadcaster implements AutoCloseable {
serverSocket.bind(null); serverSocket.bind(null);
Thread broadcastMOTDThread = new Thread(threadGroup, () -> broadcastMOTD(serverSocket.getLocalPort()), "BroadcastMOTD"); Thread broadcastMOTDThread = newThread(() -> broadcastMOTD(serverSocket.getLocalPort()), "BroadcastMOTD");
broadcastMOTDThread.start(); broadcastMOTDThread.start();
LOG.log(Level.INFO, "Listening " + serverSocket.getLocalSocketAddress()); LOG.log(Level.INFO, "Listening " + serverSocket.getLocalSocketAddress());
@@ -89,8 +94,8 @@ public class LocalServerBroadcaster implements AutoCloseable {
while (running) { while (running) {
Socket forwardedSocket = serverSocket.accept(); Socket forwardedSocket = serverSocket.accept();
LOG.log(Level.INFO, "Accepting client"); LOG.log(Level.INFO, "Accepting client");
new Thread(threadGroup, () -> forwardTraffic(forwardingSocket, forwardedSocket), "Forward S->D").start(); newThread(() -> forwardTraffic(forwardingSocket, forwardedSocket), "Forward S->D").start();
new Thread(threadGroup, () -> forwardTraffic(forwardedSocket, forwardingSocket), "Forward D->S").start(); newThread(() -> forwardTraffic(forwardedSocket, forwardingSocket), "Forward D->S").start();
} }
} }
} catch (IOException | UnresolvedAddressException e) { } catch (IOException | UnresolvedAddressException e) {

View File

@@ -47,22 +47,22 @@ public abstract class BindingMapping<T, U> extends ObjectBinding<U> {
return of(Bindings.createObjectBinding(() -> mapper.apply(watched), watched)); return of(Bindings.createObjectBinding(() -> mapper.apply(watched), watched));
} }
protected final ObservableValue<T> predecessor; protected final ObservableValue<? extends T> predecessor;
public BindingMapping(ObservableValue<T> predecessor) { public BindingMapping(ObservableValue<? extends T> predecessor) {
this.predecessor = requireNonNull(predecessor); this.predecessor = requireNonNull(predecessor);
bind(predecessor); bind(predecessor);
} }
public <V> BindingMapping<?, V> map(Function<U, V> mapper) { public <V> BindingMapping<?, V> map(Function<? super U, ? extends V> mapper) {
return new MappedBinding<>(this, mapper); return new MappedBinding<>(this, mapper);
} }
public <V> BindingMapping<?, V> flatMap(Function<U, ? extends ObservableValue<V>> mapper) { public <V> BindingMapping<?, V> flatMap(Function<? super U, ? extends ObservableValue<? extends V>> mapper) {
return flatMap(mapper, null); return flatMap(mapper, null);
} }
public <V> BindingMapping<?, V> flatMap(Function<U, ? extends ObservableValue<V>> mapper, Supplier<V> nullAlternative) { public <V> BindingMapping<?, V> flatMap(Function<? super U, ? extends ObservableValue<? extends V>> mapper, Supplier<? extends V> nullAlternative) {
return new FlatMappedBinding<>(map(mapper), nullAlternative); return new FlatMappedBinding<>(map(mapper), nullAlternative);
} }
@@ -82,7 +82,7 @@ public abstract class BindingMapping<T, U> extends ObjectBinding<U> {
} }
@Override @Override
public <V> BindingMapping<?, V> map(Function<T, V> mapper) { public <V> BindingMapping<?, V> map(Function<? super T, ? extends V> mapper) {
return new MappedBinding<>(predecessor, mapper); return new MappedBinding<>(predecessor, mapper);
} }
@@ -94,9 +94,9 @@ public abstract class BindingMapping<T, U> extends ObjectBinding<U> {
private static class MappedBinding<T, U> extends BindingMapping<T, U> { private static class MappedBinding<T, U> extends BindingMapping<T, U> {
private final Function<T, U> mapper; private final Function<? super T, ? extends U> mapper;
public MappedBinding(ObservableValue<T> predecessor, Function<T, U> mapper) { public MappedBinding(ObservableValue<? extends T> predecessor, Function<? super T, ? extends U> mapper) {
super(predecessor); super(predecessor);
this.mapper = mapper; this.mapper = mapper;
} }
@@ -107,12 +107,12 @@ public abstract class BindingMapping<T, U> extends ObjectBinding<U> {
} }
} }
private static class FlatMappedBinding<T extends ObservableValue<U>, U> extends BindingMapping<T, U> { private static class FlatMappedBinding<T extends ObservableValue<? extends U>, U> extends BindingMapping<T, U> {
private final Supplier<U> nullAlternative; private final Supplier<? extends U> nullAlternative;
private T lastObservable = null; private T lastObservable = null;
public FlatMappedBinding(ObservableValue<T> predecessor, Supplier<U> nullAlternative) { public FlatMappedBinding(ObservableValue<? extends T> predecessor, Supplier<? extends U> nullAlternative) {
super(predecessor); super(predecessor);
this.nullAlternative = nullAlternative; this.nullAlternative = nullAlternative;
} }
@@ -148,11 +148,11 @@ public abstract class BindingMapping<T, U> extends ObjectBinding<U> {
private T prev; private T prev;
private U value; private U value;
private final Function<T, CompletableFuture<U>> mapper; private final Function<? super T, ? extends CompletableFuture<? extends U>> mapper;
private T computingPrev; private T computingPrev;
private boolean computing = false; private boolean computing = false;
public AsyncMappedBinding(ObservableValue<T> predecessor, Function<T, CompletableFuture<U>> mapper, U initial) { public AsyncMappedBinding(ObservableValue<? extends T> predecessor, Function<? super T, ? extends CompletableFuture<? extends U>> mapper, U initial) {
super(predecessor); super(predecessor);
this.value = initial; this.value = initial;
this.mapper = mapper; this.mapper = mapper;
@@ -168,7 +168,7 @@ public abstract class BindingMapping<T, U> extends ObjectBinding<U> {
computingPrev = currentPrev; computingPrev = currentPrev;
} }
CompletableFuture<U> task; CompletableFuture<? extends U> task;
try { try {
task = requireNonNull(mapper.apply(currentPrev)); task = requireNonNull(mapper.apply(currentPrev));
} catch (Throwable e) { } catch (Throwable e) {

View File

@@ -256,6 +256,7 @@ public enum OperatingSystem {
return Optional.empty(); return Optional.empty();
} }
@SuppressWarnings("removal")
public static void forceGC() { public static void forceGC() {
System.gc(); System.gc();
try { try {