From 2e80283a673bc1bf68dc59b74e03180313c44a3d Mon Sep 17 00:00:00 2001
From: Reinier Zwitserloot <reinier@tipit.to>
Date: Tue, 9 Jun 2009 20:55:44 +0200
Subject: Major bugfix.

---
 src_eclipseagent/lombok/agent/eclipse/EclipseParserTransformer.java | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

(limited to 'src_eclipseagent/lombok/agent/eclipse/EclipseParserTransformer.java')

diff --git a/src_eclipseagent/lombok/agent/eclipse/EclipseParserTransformer.java b/src_eclipseagent/lombok/agent/eclipse/EclipseParserTransformer.java
index 803d5d66..c0e64061 100644
--- a/src_eclipseagent/lombok/agent/eclipse/EclipseParserTransformer.java
+++ b/src_eclipseagent/lombok/agent/eclipse/EclipseParserTransformer.java
@@ -1,6 +1,7 @@
 package lombok.agent.eclipse;
 
 import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
@@ -71,9 +72,10 @@ class EclipseParserTransformer {
 				Constructor<? extends MethodVisitor> c = targetVisitorClass.getDeclaredConstructor(MethodVisitor.class);
 				c.setAccessible(true);
 				return c.newInstance(writerVisitor);
+			} catch ( InvocationTargetException e ) {
+				throw sneakyThrow(e.getCause());
 			} catch ( Exception e ) {
 				//NoSuchMethodException: We know they exist.
-				//InvocationTargetException: No checked exceptions thrown by any compilers.
 				//IllegalAccessException: We called setAccessible.
 				//InstantiationException: None of these classes are abstract.
 				throw sneakyThrow(e);
@@ -113,6 +115,7 @@ class EclipseParserTransformer {
 				super.visitMethodInsn(Opcodes.INVOKESTATIC, TARGET_STATIC_CLASS,
 						staticMethodName, TARGET_STATIC_METHOD_DESC);
 			}
+			super.visitInsn(opcode);
 		}
 	}
 	
-- 
cgit