aboutsummaryrefslogtreecommitdiff
path: root/src/eclipseAgent
diff options
context:
space:
mode:
authorReinier Zwitserloot <reinier@zwitserloot.com>2015-01-21 01:11:38 +0100
committerReinier Zwitserloot <reinier@zwitserloot.com>2015-01-21 01:11:38 +0100
commitd9572c05b109d82ebe7455fbb16d8fe845bddbe5 (patch)
tree68633063fae81bf0a8173a8288e32c850a06d4ef /src/eclipseAgent
parentcd139f46355ea01276c2ae13248a2aca5111678a (diff)
downloadlombok-d9572c05b109d82ebe7455fbb16d8fe845bddbe5.tar.gz
lombok-d9572c05b109d82ebe7455fbb16d8fe845bddbe5.tar.bz2
lombok-d9572c05b109d82ebe7455fbb16d8fe845bddbe5.zip
Fix for erroneous use of val in basic fors.
Diffstat (limited to 'src/eclipseAgent')
-rw-r--r--src/eclipseAgent/lombok/eclipse/agent/PatchVal.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/eclipseAgent/lombok/eclipse/agent/PatchVal.java b/src/eclipseAgent/lombok/eclipse/agent/PatchVal.java
index e734dceb..1379719d 100644
--- a/src/eclipseAgent/lombok/eclipse/agent/PatchVal.java
+++ b/src/eclipseAgent/lombok/eclipse/agent/PatchVal.java
@@ -128,7 +128,9 @@ public class PatchVal {
if (!isVal(local.type, scope)) return false;
- if (new Throwable().getStackTrace()[2].getClassName().contains("ForStatement")) return false;
+ StackTraceElement[] st = new Throwable().getStackTrace();
+ if (st.length > 2 && st[2].getClassName().contains("ForStatement")) return false;
+ if (st.length > 8 && st[8].getClassName().contains("ForStatement")) return false;
Expression init = local.initialization;
if (init == null && Reflection.initCopyField != null) {