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:
peichhorn
2011-06-01 02:44:53 +02:00
parent aa96fcbc77
commit 850c3eaf07
72 changed files with 2570 additions and 1 deletions
@@ -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);
}
}
}