diff options
author | Reinier Zwitserloot <reinier@zwitserloot.com> | 2010-11-08 22:32:22 +0100 |
---|---|---|
committer | Reinier Zwitserloot <reinier@zwitserloot.com> | 2010-11-08 22:52:07 +0100 |
commit | cc60afa1eb4b14998e72c4fd5adf9def32e0e0f8 (patch) | |
tree | cae9a00aa7e5f8cfa08adfe22f3da98c5e0fcb4a /src/core/lombok/eclipse/handlers | |
parent | dee834a39780f61a0357c42f61592cd3c3598bd3 (diff) | |
download | lombok-cc60afa1eb4b14998e72c4fd5adf9def32e0e0f8.tar.gz lombok-cc60afa1eb4b14998e72c4fd5adf9def32e0e0f8.tar.bz2 lombok-cc60afa1eb4b14998e72c4fd5adf9def32e0e0f8.zip |
'val' now also works in foreach loops, on both javac and ecj / eclipse.
Diffstat (limited to 'src/core/lombok/eclipse/handlers')
-rw-r--r-- | src/core/lombok/eclipse/handlers/HandleVal.java | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/core/lombok/eclipse/handlers/HandleVal.java b/src/core/lombok/eclipse/handlers/HandleVal.java index 6fa39b10..b3cfa879 100644 --- a/src/core/lombok/eclipse/handlers/HandleVal.java +++ b/src/core/lombok/eclipse/handlers/HandleVal.java @@ -26,6 +26,7 @@ import lombok.eclipse.EclipseASTVisitor; import lombok.eclipse.EclipseNode; import org.eclipse.jdt.internal.compiler.ast.ArrayInitializer; +import org.eclipse.jdt.internal.compiler.ast.ForeachStatement; import org.eclipse.jdt.internal.compiler.ast.LocalDeclaration; import org.eclipse.jdt.internal.compiler.ast.SingleTypeReference; import org.mangosdk.spi.ProviderFor; @@ -41,7 +42,14 @@ public class HandleVal extends EclipseASTAdapter { if (token == null || token.length != 3) return; else if (token[0] != 'v' || token[1] != 'a' || token[2] != 'l') return; - if (local.initialization == null) { + boolean variableOfForEach = false; + + if (localNode.directUp().get() instanceof ForeachStatement) { + ForeachStatement fs = (ForeachStatement) localNode.directUp().get(); + variableOfForEach = fs.elementVariable == local; + } + + if (local.initialization == null && !variableOfForEach) { localNode.addError("'val' on a local variable requires an initializer expression"); } |