Skip to content

Commit 6cf6caf

Browse files
authored
Merge pull request #3673 from Rawi01/eclipse_field_generated
Mark injected fields as generated
2 parents 63ca7fb + c8657f1 commit 6cf6caf

29 files changed

+115
-102
lines changed

src/core/lombok/eclipse/handlers/HandleLockedUtil.java

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,24 @@
1+
/*
2+
* Copyright (C) 2024 The Project Lombok Authors.
3+
*
4+
* Permission is hereby granted, free of charge, to any person obtaining a copy
5+
* of this software and associated documentation files (the "Software"), to deal
6+
* in the Software without restriction, including without limitation the rights
7+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8+
* copies of the Software, and to permit persons to whom the Software is
9+
* furnished to do so, subject to the following conditions:
10+
*
11+
* The above copyright notice and this permission notice shall be included in
12+
* all copies or substantial portions of the Software.
13+
*
14+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20+
* THE SOFTWARE.
21+
*/
122
/* Copyright (C) 2021-2023 The Project Lombok Authors.
223
*
324
* Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -117,7 +138,7 @@ private static char[] createLockField(String name, EclipseNode annotationNode, c
117138
lockAlloc.type = setGeneratedBy(new QualifiedTypeReference(lockImplClass, new long[] { 0, 0, 0, 0, 0 }), source);
118139
fieldDecl.type = setGeneratedBy(new QualifiedTypeReference(lockTypeClass, new long[] { 0, 0, 0, 0, 0 }), source);
119140
fieldDecl.initialization = lockAlloc;
120-
injectField(annotationNode.up().up(), fieldDecl);
141+
injectFieldAndMarkGenerated(annotationNode.up().up(), fieldDecl);
121142
}
122143

123144
return lockName;

src/core/lombok/eclipse/handlers/HandleLog.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2010-2021 The Project Lombok Authors.
2+
* Copyright (C) 2010-2024 The Project Lombok Authors.
33
*
44
* Permission is hereby granted, free of charge, to any person obtaining a copy
55
* of this software and associated documentation files (the "Software"), to deal
@@ -109,9 +109,7 @@ public static void processAnnotation(LoggingFramework framework, AnnotationValue
109109
ClassLiteralAccess loggingType = selfType(owner, source);
110110
FieldDeclaration fieldDeclaration = createField(framework, source, loggingType, logFieldName.getName(), useStatic, loggerTopic);
111111
fieldDeclaration.traverse(new SetGeneratedByVisitor(source), typeDecl.staticInitializerScope);
112-
// TODO temporary workaround for issue 290. https://github.com/projectlombok/lombok/issues/290
113-
// injectFieldSuppressWarnings(owner, fieldDeclaration);
114-
injectField(owner, fieldDeclaration);
112+
injectFieldAndMarkGenerated(owner, fieldDeclaration);
115113
owner.rebuild();
116114
break;
117115
default:

src/core/lombok/eclipse/handlers/HandleSynchronized.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,7 @@ public char[] createLockField(AnnotationValues<Synchronized> annotation, Eclipse
129129
fieldDecl.type = new QualifiedTypeReference(TypeConstants.JAVA_LANG_OBJECT, new long[] { 0, 0, 0 });
130130
setGeneratedBy(fieldDecl.type, source);
131131
fieldDecl.initialization = arrayAlloc;
132-
// TODO temporary workaround for issue 290. https://github.com/projectlombok/lombok/issues/290
133-
// injectFieldSuppressWarnings(annotationNode.up().up(), fieldDecl);
134-
injectField(annotationNode.up().up(), fieldDecl);
132+
injectFieldAndMarkGenerated(annotationNode.up().up(), fieldDecl);
135133
}
136134

137135
return lockName;

test/transform/resource/after-ecj/InjectField.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@
44
@Log enum InjectField1 {
55
A(),
66
B(),
7-
private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(InjectField1.class.getName());
8-
private final java.lang.Object $lock = new java.lang.Object[0];
9-
private static final java.lang.Object $LOCK = new java.lang.Object[0];
7+
private static final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.logging.Logger log = java.util.logging.Logger.getLogger(InjectField1.class.getName());
8+
private final @java.lang.SuppressWarnings("all") @lombok.Generated java.lang.Object $lock = new java.lang.Object[0];
9+
private static final @java.lang.SuppressWarnings("all") @lombok.Generated java.lang.Object $LOCK = new java.lang.Object[0];
1010
private static final String LOG_MESSAGE = "static initializer";
1111
private String fieldA;
1212
static {
@@ -32,8 +32,8 @@
3232
}
3333
}
3434
@Log class InjectField2 {
35-
private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(InjectField2.class.getName());
36-
private final java.lang.Object $lock = new java.lang.Object[0];
35+
private static final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.logging.Logger log = java.util.logging.Logger.getLogger(InjectField2.class.getName());
36+
private final @java.lang.SuppressWarnings("all") @lombok.Generated java.lang.Object $lock = new java.lang.Object[0];
3737
private static final String LOG_MESSAGE = "static initializer";
3838
static {
3939
log.log(Level.FINE, LOG_MESSAGE);
@@ -51,7 +51,7 @@
5151
}
5252
}
5353
@Log class InjectField3 {
54-
private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(InjectField3.class.getName());
54+
private static final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.logging.Logger log = java.util.logging.Logger.getLogger(InjectField3.class.getName());
5555
static {
5656
log.log(Level.FINE, "static initializer");
5757
}

test/transform/resource/after-ecj/LockedInInitializer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import lombok.Locked;
22
public class LockedInInitializer {
33
public static final Runnable LOCKED = new Runnable() {
4-
private final java.util.concurrent.locks.Lock $lock = new java.util.concurrent.locks.ReentrantLock();
4+
private final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.concurrent.locks.Lock $lock = new java.util.concurrent.locks.ReentrantLock();
55
public @Override @Locked void run() {
66
this.$lock.lock();
77
try
@@ -15,7 +15,7 @@ public class LockedInInitializer {
1515
}
1616
};
1717
public static final Runnable LOCKED_READ = new Runnable() {
18-
private final java.util.concurrent.locks.ReadWriteLock $lock = new java.util.concurrent.locks.ReentrantReadWriteLock();
18+
private final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.concurrent.locks.ReadWriteLock $lock = new java.util.concurrent.locks.ReentrantReadWriteLock();
1919
public @Override @Locked.Read void run() {
2020
this.$lock.readLock().lock();
2121
try
@@ -29,7 +29,7 @@ public class LockedInInitializer {
2929
}
3030
};
3131
public static final Runnable LOCKED_WRITE = new Runnable() {
32-
private final java.util.concurrent.locks.ReadWriteLock $lock = new java.util.concurrent.locks.ReentrantReadWriteLock();
32+
private final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.concurrent.locks.ReadWriteLock $lock = new java.util.concurrent.locks.ReentrantReadWriteLock();
3333
public @Override @Locked.Write void run() {
3434
this.$lock.writeLock().lock();
3535
try

test/transform/resource/after-ecj/LockedInRecord.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
public record LockedInRecord(String a, String b) {
33
/* Implicit */ private final String a;
44
/* Implicit */ private final String b;
5-
private final java.util.concurrent.locks.Lock $lock = new java.util.concurrent.locks.ReentrantLock();
5+
private final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.concurrent.locks.Lock $lock = new java.util.concurrent.locks.ReentrantLock();
66
public @Locked void foo() {
77
String foo = "bar";
88
}

test/transform/resource/after-ecj/LockedPlain.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import lombok.Locked;
22
class LockedPlain {
3-
private final java.util.concurrent.locks.Lock $lock = new java.util.concurrent.locks.ReentrantLock();
3+
private final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.concurrent.locks.Lock $lock = new java.util.concurrent.locks.ReentrantLock();
44
LockedPlain() {
55
super();
66
}
@@ -28,7 +28,7 @@ class LockedPlain {
2828
}
2929
}
3030
class LockedPlainStatic {
31-
private static final java.util.concurrent.locks.Lock $LOCK = new java.util.concurrent.locks.ReentrantLock();
31+
private static final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.concurrent.locks.Lock $LOCK = new java.util.concurrent.locks.ReentrantLock();
3232
<clinit>() {
3333
}
3434
LockedPlainStatic() {
@@ -58,7 +58,7 @@ class LockedPlainStatic {
5858
}
5959
}
6060
class LockedPlainRead {
61-
private static final java.util.concurrent.locks.ReadWriteLock $LOCK = new java.util.concurrent.locks.ReentrantReadWriteLock();
61+
private static final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.concurrent.locks.ReadWriteLock $LOCK = new java.util.concurrent.locks.ReentrantReadWriteLock();
6262
<clinit>() {
6363
}
6464
LockedPlainRead() {
@@ -88,7 +88,7 @@ class LockedPlainRead {
8888
}
8989
}
9090
class LockedPlainWrite {
91-
private final java.util.concurrent.locks.ReadWriteLock $lock = new java.util.concurrent.locks.ReentrantReadWriteLock();
91+
private final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.concurrent.locks.ReadWriteLock $lock = new java.util.concurrent.locks.ReentrantReadWriteLock();
9292
LockedPlainWrite() {
9393
super();
9494
}

test/transform/resource/after-ecj/LockedStaticMix.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
class LockedGeneratedStaticMismatch {
2-
private static final java.util.concurrent.locks.Lock $LOCK = new java.util.concurrent.locks.ReentrantLock();
2+
private static final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.concurrent.locks.Lock $LOCK = new java.util.concurrent.locks.ReentrantLock();
33
<clinit>() {
44
}
55
LockedGeneratedStaticMismatch() {

test/transform/resource/after-ecj/LockedTypeMismatch.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
class LockedGeneratedTypeMismatch {
2-
private final java.util.concurrent.locks.Lock $lock = new java.util.concurrent.locks.ReentrantLock();
2+
private final @java.lang.SuppressWarnings("all") @lombok.Generated java.util.concurrent.locks.Lock $lock = new java.util.concurrent.locks.ReentrantLock();
33
LockedGeneratedTypeMismatch() {
44
super();
55
}
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
11
import lombok.extern.apachecommons.CommonsLog;
22
@lombok.extern.apachecommons.CommonsLog class LoggerCommons {
3-
private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommons.class);
3+
private static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommons.class);
44
<clinit>() {
55
}
66
LoggerCommons() {
77
super();
88
}
99
}
1010
@CommonsLog class LoggerCommonsWithImport {
11-
private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsWithImport.class);
11+
private static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsWithImport.class);
1212
<clinit>() {
1313
}
1414
LoggerCommonsWithImport() {
1515
super();
1616
}
1717
}
1818
@CommonsLog(topic = "DifferentName") class LoggerCommonsWithDifferentName {
19-
private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog("DifferentName");
19+
private static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog("DifferentName");
2020
<clinit>() {
2121
}
2222
LoggerCommonsWithDifferentName() {
2323
super();
2424
}
2525
}
2626
@CommonsLog(topic = LoggerCommonsWithStaticField.TOPIC) class LoggerCommonsWithStaticField {
27-
private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsWithStaticField.TOPIC);
27+
private static final @java.lang.SuppressWarnings("all") @lombok.Generated org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsWithStaticField.TOPIC);
2828
static final String TOPIC = "StaticField";
2929
<clinit>() {
3030
}
3131
LoggerCommonsWithStaticField() {
3232
super();
3333
}
34-
}
34+
}

0 commit comments

Comments
 (0)