aboutsummaryrefslogtreecommitdiff
path: root/src/core/lombok
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/lombok')
-rw-r--r--src/core/lombok/eclipse/handlers/HandleFieldDefaults.java4
-rw-r--r--src/core/lombok/javac/handlers/HandleFieldDefaults.java6
2 files changed, 7 insertions, 3 deletions
diff --git a/src/core/lombok/eclipse/handlers/HandleFieldDefaults.java b/src/core/lombok/eclipse/handlers/HandleFieldDefaults.java
index 7d0702db..33e796b7 100644
--- a/src/core/lombok/eclipse/handlers/HandleFieldDefaults.java
+++ b/src/core/lombok/eclipse/handlers/HandleFieldDefaults.java
@@ -96,7 +96,9 @@ public class HandleFieldDefaults extends EclipseAnnotationHandler<FieldDefaults>
if (makeFinal && (field.modifiers & ClassFileConstants.AccFinal) == 0) {
if (!hasAnnotation(NonFinal.class, fieldNode)) {
- field.modifiers |= ClassFileConstants.AccFinal;
+ if ((field.modifiers & ClassFileConstants.AccStatic) == 0 || field.initialization != null) {
+ field.modifiers |= ClassFileConstants.AccFinal;
+ }
}
}
diff --git a/src/core/lombok/javac/handlers/HandleFieldDefaults.java b/src/core/lombok/javac/handlers/HandleFieldDefaults.java
index 335ab1fe..95effded 100644
--- a/src/core/lombok/javac/handlers/HandleFieldDefaults.java
+++ b/src/core/lombok/javac/handlers/HandleFieldDefaults.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2012-2014 The Project Lombok Authors.
+ * Copyright (C) 2012-2015 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -90,7 +90,9 @@ public class HandleFieldDefaults extends JavacAnnotationHandler<FieldDefaults> {
if (makeFinal && (field.mods.flags & Flags.FINAL) == 0) {
if (!hasAnnotationAndDeleteIfNeccessary(NonFinal.class, fieldNode)) {
- field.mods.flags |= Flags.FINAL;
+ if ((field.mods.flags & Flags.STATIC) == 0 || field.init != null) {
+ field.mods.flags |= Flags.FINAL;
+ }
}
}