[jdk16] fix delombok (and the test suite, which depends on it) for jdk16.

This commit is contained in:
Reinier Zwitserloot committed 2021-03-19 03:17:39 +01:00
1 parent 5241235b99
commit 937a4dfca2
6 files changed
+15 -1

No files matched your search

@@ -480,7 +480,7 @@ public class LombokProcessor extends AbstractProcessor {
}
/** Useful from jdk9 and up; required from jdk16 and up. This code is supposed to gracefully do nothing on jdk8 and below, as this operation isn't needed there. */
private static void addOpensForLombok() {
public static void addOpensForLombok() {
Class<?> cModule;
try {
cModule = Class.forName("java.lang.Module");
@@ -61,6 +61,7 @@ import lombok.Lombok;
import lombok.javac.CommentCatcher;
import lombok.javac.Javac;
import lombok.javac.LombokOptions;
import lombok.javac.apt.LombokProcessor;
import lombok.permit.Permit;
import com.sun.tools.javac.code.Symtab;
@@ -314,6 +315,7 @@ public class Delombok {
}
}
LombokProcessor.addOpensForLombok();
delombok.delombok();
} catch (Exception e) {
if (!args.quiet) {
@@ -36,6 +36,7 @@ import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import lombok.core.LombokApp;
import lombok.javac.apt.LombokProcessor;
import lombok.permit.Permit;
import lombok.spi.Provides;
@@ -173,6 +174,7 @@ public class DelombokApp extends LombokApp {
}
private void runDirectly(List<String> args) {
LombokProcessor.addOpensForLombok();
Delombok.main(args.toArray(new String[0]));
}
@@ -30,6 +30,7 @@ import java.util.List;
import lombok.delombok.Delombok;
import lombok.delombok.Delombok.InvalidFormatOptionException;
import lombok.javac.apt.LombokProcessor;
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Location;
@@ -46,6 +47,10 @@ public class DelombokTaskImpl {
private Path path;
private List<String> formatOptions = new ArrayList<String>();
static {
LombokProcessor.addOpensForLombok();
}
public void execute(Location location) throws BuildException {
if (fromDir == null && path == null) throw new BuildException("Either 'from' attribute, or nested <fileset> tags are required.");
if (fromDir != null && path != null) throw new BuildException("You can't specify both 'from' attribute and nested filesets. You need one or the other.");
@@ -62,10 +62,15 @@ import lombok.delombok.Delombok;
import lombok.javac.CapturingDiagnosticListener;
import lombok.javac.Javac;
import lombok.javac.CapturingDiagnosticListener.CompilerMessage;
import lombok.javac.apt.LombokProcessor;
public class RunTestsViaDelombok extends AbstractRunTests {
private Delombok delombok = new Delombok();
static {
LombokProcessor.addOpensForLombok();
}
@Override
public boolean transformCode(Collection<CompilerMessage> messages, StringWriter result, final File file, String encoding, Map<String, String> formatPreferences, int version, boolean checkPositions) throws Throwable {
delombok.setVerbose(true);