mirror of
https://github.com/tiennm99/lombok.git
synced 2026-06-02 02:11:38 +00:00
Added a test infrastructure that simulates eclipse with diet-parse, type-binding and so forth. Similar to eclipse, the test needs to be executed with lombok as vm-agent. @Delegate runs with this setup, sadly val does not, at least for now.
And as expected the tests shows that @Synchronized and @SneakyThrows are currently broken for eclipse but not for ecj.
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
import java.awt.AWTException;
|
||||
import java.io.IOException;
|
||||
import java.util.Random;
|
||||
class SneakyThrowsMultiple {
|
||||
SneakyThrowsMultiple() {
|
||||
super();
|
||||
}
|
||||
public @lombok.SneakyThrows({IOException.class, Throwable.class}) void test() {
|
||||
try
|
||||
{
|
||||
try
|
||||
{
|
||||
System.out.println("test1");
|
||||
throw new IOException();
|
||||
}
|
||||
catch (final IOException $ex) {
|
||||
throw lombok.Lombok.sneakyThrow($ex);
|
||||
}
|
||||
}
|
||||
catch (final Throwable $ex) {
|
||||
throw lombok.Lombok.sneakyThrow($ex);
|
||||
}
|
||||
}
|
||||
public @lombok.SneakyThrows({AWTException.class, IOException.class}) void test2() {
|
||||
try
|
||||
{
|
||||
try
|
||||
{
|
||||
System.out.println("test2");
|
||||
if (new Random().nextBoolean())
|
||||
{
|
||||
throw new IOException();
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new AWTException("WHAT");
|
||||
}
|
||||
}
|
||||
catch (final AWTException $ex) {
|
||||
throw lombok.Lombok.sneakyThrow($ex);
|
||||
}
|
||||
}
|
||||
catch (final IOException $ex) {
|
||||
throw lombok.Lombok.sneakyThrow($ex);
|
||||
}
|
||||
}
|
||||
public @lombok.SneakyThrows(value = {IOException.class, Throwable.class}) void test3() {
|
||||
try
|
||||
{
|
||||
try
|
||||
{
|
||||
System.out.println("test3");
|
||||
throw new IOException();
|
||||
}
|
||||
catch (final IOException $ex) {
|
||||
throw lombok.Lombok.sneakyThrow($ex);
|
||||
}
|
||||
}
|
||||
catch (final Throwable $ex) {
|
||||
throw lombok.Lombok.sneakyThrow($ex);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user