From a40a86ad532881acd311200a665b5f55790c55cc Mon Sep 17 00:00:00 2001
From: Reinier Zwitserloot
Date: Thu, 9 Jan 2014 21:00:44 +0100
Subject: [#625] Instead of '31' as a prime number for hashCode(), use
something else. 31, probably owing to its inclusion in Effective Java, is
overused, as proven by Maaartinus in issue 625. Switching to 277 instead.
Also, 1231/1237 pair used for booleans has been replaced by 2591/2609.
---
test/transform/resource/after-delombok/Accessors.java | 2 +-
test/transform/resource/after-delombok/DataExtended.java | 2 +-
test/transform/resource/after-delombok/DataIgnore.java | 2 +-
test/transform/resource/after-delombok/DataOnLocalClass.java | 6 +++---
test/transform/resource/after-delombok/DataPlain.java | 8 ++++----
test/transform/resource/after-delombok/DataWithGetter.java | 2 +-
test/transform/resource/after-delombok/DataWithGetterNone.java | 2 +-
test/transform/resource/after-delombok/EqualsAndHashCode.java | 6 +++---
.../after-delombok/EqualsAndHashCodeWithSomeExistingMethods.java | 2 +-
test/transform/resource/after-delombok/GetterLazyBoolean.java | 4 ++--
.../transform/resource/after-delombok/GetterLazyEahcToString.java | 2 +-
test/transform/resource/after-delombok/GetterSetterJavadoc.java | 2 +-
test/transform/resource/after-delombok/ValuePlain.java | 6 +++---
test/transform/resource/after-ecj/Accessors.java | 2 +-
test/transform/resource/after-ecj/DataExtended.java | 2 +-
test/transform/resource/after-ecj/DataIgnore.java | 2 +-
test/transform/resource/after-ecj/DataOnLocalClass.java | 6 +++---
test/transform/resource/after-ecj/DataPlain.java | 8 ++++----
test/transform/resource/after-ecj/DataWithGetter.java | 2 +-
test/transform/resource/after-ecj/DataWithGetterNone.java | 2 +-
test/transform/resource/after-ecj/EqualsAndHashCode.java | 6 +++---
.../after-ecj/EqualsAndHashCodeWithSomeExistingMethods.java | 2 +-
test/transform/resource/after-ecj/GetterLazyBoolean.java | 4 ++--
test/transform/resource/after-ecj/GetterLazyEahcToString.java | 2 +-
test/transform/resource/after-ecj/GetterSetterJavadoc.java | 2 +-
test/transform/resource/after-ecj/ValuePlain.java | 6 +++---
26 files changed, 46 insertions(+), 46 deletions(-)
(limited to 'test/transform')
diff --git a/test/transform/resource/after-delombok/Accessors.java b/test/transform/resource/after-delombok/Accessors.java
index 28ffc531..33f31825 100644
--- a/test/transform/resource/after-delombok/Accessors.java
+++ b/test/transform/resource/after-delombok/Accessors.java
@@ -84,7 +84,7 @@ class AccessorsPrefix3 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
final java.lang.Object $fName = this.getName();
result = result * PRIME + ($fName == null ? 0 : $fName.hashCode());
diff --git a/test/transform/resource/after-delombok/DataExtended.java b/test/transform/resource/after-delombok/DataExtended.java
index d580b885..76967bdc 100644
--- a/test/transform/resource/after-delombok/DataExtended.java
+++ b/test/transform/resource/after-delombok/DataExtended.java
@@ -28,7 +28,7 @@ class DataExtended {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = result * PRIME + this.getX();
return result;
diff --git a/test/transform/resource/after-delombok/DataIgnore.java b/test/transform/resource/after-delombok/DataIgnore.java
index b74b6a8f..caf97974 100644
--- a/test/transform/resource/after-delombok/DataIgnore.java
+++ b/test/transform/resource/after-delombok/DataIgnore.java
@@ -27,7 +27,7 @@ class DataIgnore {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = result * PRIME + this.getX();
return result;
diff --git a/test/transform/resource/after-delombok/DataOnLocalClass.java b/test/transform/resource/after-delombok/DataOnLocalClass.java
index abe2757b..fae0e4a5 100644
--- a/test/transform/resource/after-delombok/DataOnLocalClass.java
+++ b/test/transform/resource/after-delombok/DataOnLocalClass.java
@@ -39,7 +39,7 @@ class DataOnLocalClass1 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = result * PRIME + this.getX();
final java.lang.Object $name = this.getName();
@@ -99,7 +99,7 @@ class DataOnLocalClass2 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
final java.lang.Object $name = this.getName();
result = result * PRIME + ($name == null ? 0 : $name.hashCode());
@@ -136,7 +136,7 @@ class DataOnLocalClass2 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = result * PRIME + this.getX();
return result;
diff --git a/test/transform/resource/after-delombok/DataPlain.java b/test/transform/resource/after-delombok/DataPlain.java
index a8cb37af..99df699d 100644
--- a/test/transform/resource/after-delombok/DataPlain.java
+++ b/test/transform/resource/after-delombok/DataPlain.java
@@ -38,7 +38,7 @@ class Data1 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = result * PRIME + this.getX();
final java.lang.Object $name = this.getName();
@@ -91,7 +91,7 @@ class Data2 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = result * PRIME + this.getX();
final java.lang.Object $name = this.getName();
@@ -139,7 +139,7 @@ final class Data3 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = result * PRIME + this.getX();
final java.lang.Object $name = this.getName();
@@ -187,7 +187,7 @@ final class Data4 extends java.util.Timer {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = result * PRIME + super.hashCode();
result = result * PRIME + this.getX();
diff --git a/test/transform/resource/after-delombok/DataWithGetter.java b/test/transform/resource/after-delombok/DataWithGetter.java
index 95a4bcbc..0aed0e12 100644
--- a/test/transform/resource/after-delombok/DataWithGetter.java
+++ b/test/transform/resource/after-delombok/DataWithGetter.java
@@ -36,7 +36,7 @@ class DataWithGetter {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = result * PRIME + this.getX();
result = result * PRIME + this.getY();
diff --git a/test/transform/resource/after-delombok/DataWithGetterNone.java b/test/transform/resource/after-delombok/DataWithGetterNone.java
index 2dea5e49..8b5ecc01 100644
--- a/test/transform/resource/after-delombok/DataWithGetterNone.java
+++ b/test/transform/resource/after-delombok/DataWithGetterNone.java
@@ -36,7 +36,7 @@ class DataWithGetterNone {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = result * PRIME + this.x;
result = result * PRIME + this.y;
diff --git a/test/transform/resource/after-delombok/EqualsAndHashCode.java b/test/transform/resource/after-delombok/EqualsAndHashCode.java
index 8f84fb22..73256edb 100644
--- a/test/transform/resource/after-delombok/EqualsAndHashCode.java
+++ b/test/transform/resource/after-delombok/EqualsAndHashCode.java
@@ -29,7 +29,7 @@ class EqualsAndHashCode {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = result * PRIME + this.x;
result = result * PRIME + java.util.Arrays.hashCode(this.y);
@@ -61,7 +61,7 @@ final class EqualsAndHashCode2 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = result * PRIME + this.x;
final long $y = this.y;
@@ -111,7 +111,7 @@ class EqualsAndHashCode4 extends EqualsAndHashCode {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = result * PRIME + super.hashCode();
return result;
diff --git a/test/transform/resource/after-delombok/EqualsAndHashCodeWithSomeExistingMethods.java b/test/transform/resource/after-delombok/EqualsAndHashCodeWithSomeExistingMethods.java
index 0a6b1e7f..e1bdc7f7 100644
--- a/test/transform/resource/after-delombok/EqualsAndHashCodeWithSomeExistingMethods.java
+++ b/test/transform/resource/after-delombok/EqualsAndHashCodeWithSomeExistingMethods.java
@@ -69,7 +69,7 @@ class EqualsAndHashCodeWithNoExistingMethods {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = result * PRIME + this.x;
return result;
diff --git a/test/transform/resource/after-delombok/GetterLazyBoolean.java b/test/transform/resource/after-delombok/GetterLazyBoolean.java
index 08d32013..21b153c9 100644
--- a/test/transform/resource/after-delombok/GetterLazyBoolean.java
+++ b/test/transform/resource/after-delombok/GetterLazyBoolean.java
@@ -21,9 +21,9 @@ class GetterLazyBoolean {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
- result = result * PRIME + (this.isBooleanValue() ? 1231 : 1237);
+ result = result * PRIME + (this.isBooleanValue() ? 2591 : 2609);
return result;
}
@java.lang.Override
diff --git a/test/transform/resource/after-delombok/GetterLazyEahcToString.java b/test/transform/resource/after-delombok/GetterLazyEahcToString.java
index 1358e536..29e2f51c 100644
--- a/test/transform/resource/after-delombok/GetterLazyEahcToString.java
+++ b/test/transform/resource/after-delombok/GetterLazyEahcToString.java
@@ -27,7 +27,7 @@ class GetterLazyEahcToString {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
final java.lang.Object $value = this.getValue();
result = result * PRIME + ($value == null ? 0 : $value.hashCode());
diff --git a/test/transform/resource/after-delombok/GetterSetterJavadoc.java b/test/transform/resource/after-delombok/GetterSetterJavadoc.java
index af9cbb5e..5b12a395 100644
--- a/test/transform/resource/after-delombok/GetterSetterJavadoc.java
+++ b/test/transform/resource/after-delombok/GetterSetterJavadoc.java
@@ -41,7 +41,7 @@ class GetterSetterJavadoc1 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = result * PRIME + this.getFieldName();
return result;
diff --git a/test/transform/resource/after-delombok/ValuePlain.java b/test/transform/resource/after-delombok/ValuePlain.java
index d1cfa3d7..af87d1ba 100644
--- a/test/transform/resource/after-delombok/ValuePlain.java
+++ b/test/transform/resource/after-delombok/ValuePlain.java
@@ -30,7 +30,7 @@ final class Value1 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = result * PRIME + this.getX();
final java.lang.Object $name = this.getName();
@@ -80,7 +80,7 @@ class Value2 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = result * PRIME + this.getX();
final java.lang.Object $name = this.getName();
@@ -123,7 +123,7 @@ final class Value3 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = result * PRIME + this.getX();
result = result * PRIME + this.getY();
diff --git a/test/transform/resource/after-ecj/Accessors.java b/test/transform/resource/after-ecj/Accessors.java
index 292db928..52a72d52 100644
--- a/test/transform/resource/after-ecj/Accessors.java
+++ b/test/transform/resource/after-ecj/Accessors.java
@@ -90,7 +90,7 @@ class AccessorsChain {
return (other instanceof AccessorsPrefix3);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
final java.lang.Object $fName = this.getName();
result = ((result * PRIME) + (($fName == null) ? 0 : $fName.hashCode()));
diff --git a/test/transform/resource/after-ecj/DataExtended.java b/test/transform/resource/after-ecj/DataExtended.java
index 1de635e3..35a7ca34 100644
--- a/test/transform/resource/after-ecj/DataExtended.java
+++ b/test/transform/resource/after-ecj/DataExtended.java
@@ -22,7 +22,7 @@
return (other instanceof DataExtended);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = ((result * PRIME) + this.getX());
return result;
diff --git a/test/transform/resource/after-ecj/DataIgnore.java b/test/transform/resource/after-ecj/DataIgnore.java
index 7d99a20f..4a3c051b 100644
--- a/test/transform/resource/after-ecj/DataIgnore.java
+++ b/test/transform/resource/after-ecj/DataIgnore.java
@@ -20,7 +20,7 @@
return (other instanceof DataIgnore);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = ((result * PRIME) + this.getX());
return result;
diff --git a/test/transform/resource/after-ecj/DataOnLocalClass.java b/test/transform/resource/after-ecj/DataOnLocalClass.java
index 2f8dcca1..4a247542 100644
--- a/test/transform/resource/after-ecj/DataOnLocalClass.java
+++ b/test/transform/resource/after-ecj/DataOnLocalClass.java
@@ -36,7 +36,7 @@ class DataOnLocalClass1 {
return (other instanceof Local);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = ((result * PRIME) + this.getX());
final java.lang.Object $name = this.getName();
@@ -86,7 +86,7 @@ class DataOnLocalClass2 {
return (other instanceof Local.InnerLocal);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
final java.lang.Object $name = this.getName();
result = ((result * PRIME) + (($name == null) ? 0 : $name.hashCode()));
@@ -124,7 +124,7 @@ class DataOnLocalClass2 {
return (other instanceof Local);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = ((result * PRIME) + this.getX());
return result;
diff --git a/test/transform/resource/after-ecj/DataPlain.java b/test/transform/resource/after-ecj/DataPlain.java
index 1b33070b..2105c6f2 100644
--- a/test/transform/resource/after-ecj/DataPlain.java
+++ b/test/transform/resource/after-ecj/DataPlain.java
@@ -31,7 +31,7 @@ import lombok.Data;
return (other instanceof Data1);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = ((result * PRIME) + this.getX());
final java.lang.Object $name = this.getName();
@@ -78,7 +78,7 @@ import lombok.Data;
return (other instanceof Data2);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = ((result * PRIME) + this.getX());
final java.lang.Object $name = this.getName();
@@ -120,7 +120,7 @@ final @Data class Data3 {
return true;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = ((result * PRIME) + this.getX());
final java.lang.Object $name = this.getName();
@@ -167,7 +167,7 @@ final @Data @lombok.EqualsAndHashCode(callSuper = true) class Data4 extends java
return (other instanceof Data4);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = ((result * PRIME) + super.hashCode());
result = ((result * PRIME) + this.getX());
diff --git a/test/transform/resource/after-ecj/DataWithGetter.java b/test/transform/resource/after-ecj/DataWithGetter.java
index 9d3dfd3e..9676e851 100644
--- a/test/transform/resource/after-ecj/DataWithGetter.java
+++ b/test/transform/resource/after-ecj/DataWithGetter.java
@@ -30,7 +30,7 @@
return (other instanceof DataWithGetter);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = ((result * PRIME) + this.getX());
result = ((result * PRIME) + this.getY());
diff --git a/test/transform/resource/after-ecj/DataWithGetterNone.java b/test/transform/resource/after-ecj/DataWithGetterNone.java
index b6b391c8..d5e190d8 100644
--- a/test/transform/resource/after-ecj/DataWithGetterNone.java
+++ b/test/transform/resource/after-ecj/DataWithGetterNone.java
@@ -30,7 +30,7 @@
return (other instanceof DataWithGetterNone);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = ((result * PRIME) + this.x);
result = ((result * PRIME) + this.y);
diff --git a/test/transform/resource/after-ecj/EqualsAndHashCode.java b/test/transform/resource/after-ecj/EqualsAndHashCode.java
index 33ef799d..492f9344 100644
--- a/test/transform/resource/after-ecj/EqualsAndHashCode.java
+++ b/test/transform/resource/after-ecj/EqualsAndHashCode.java
@@ -35,7 +35,7 @@
return (other instanceof EqualsAndHashCode);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = ((result * PRIME) + this.x);
result = ((result * PRIME) + java.util.Arrays.hashCode(this.y));
@@ -72,7 +72,7 @@ final @lombok.EqualsAndHashCode class EqualsAndHashCode2 {
return true;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = ((result * PRIME) + this.x);
final long $y = this.y;
@@ -125,7 +125,7 @@ final @lombok.EqualsAndHashCode(callSuper = false) class EqualsAndHashCode3 exte
return (other instanceof EqualsAndHashCode4);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = ((result * PRIME) + super.hashCode());
return result;
diff --git a/test/transform/resource/after-ecj/EqualsAndHashCodeWithSomeExistingMethods.java b/test/transform/resource/after-ecj/EqualsAndHashCodeWithSomeExistingMethods.java
index cdd771a4..83878675 100644
--- a/test/transform/resource/after-ecj/EqualsAndHashCodeWithSomeExistingMethods.java
+++ b/test/transform/resource/after-ecj/EqualsAndHashCodeWithSomeExistingMethods.java
@@ -57,7 +57,7 @@ import static lombok.AccessLevel.NONE;
return (other instanceof EqualsAndHashCodeWithNoExistingMethods);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = ((result * PRIME) + this.x);
return result;
diff --git a/test/transform/resource/after-ecj/GetterLazyBoolean.java b/test/transform/resource/after-ecj/GetterLazyBoolean.java
index a51b164f..5b64c3b0 100644
--- a/test/transform/resource/after-ecj/GetterLazyBoolean.java
+++ b/test/transform/resource/after-ecj/GetterLazyBoolean.java
@@ -57,9 +57,9 @@
return (other instanceof GetterLazyBoolean);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
- result = ((result * PRIME) + (this.isBooleanValue() ? 1231 : 1237));
+ result = ((result * PRIME) + (this.isBooleanValue() ? 2591 : 2609));
return result;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
diff --git a/test/transform/resource/after-ecj/GetterLazyEahcToString.java b/test/transform/resource/after-ecj/GetterLazyEahcToString.java
index db2d4fcf..d8a90350 100644
--- a/test/transform/resource/after-ecj/GetterLazyEahcToString.java
+++ b/test/transform/resource/after-ecj/GetterLazyEahcToString.java
@@ -46,7 +46,7 @@
return (other instanceof GetterLazyEahcToString);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
final java.lang.Object $value = this.getValue();
result = ((result * PRIME) + (($value == null) ? 0 : $value.hashCode()));
diff --git a/test/transform/resource/after-ecj/GetterSetterJavadoc.java b/test/transform/resource/after-ecj/GetterSetterJavadoc.java
index 73f26180..10d9a0be 100644
--- a/test/transform/resource/after-ecj/GetterSetterJavadoc.java
+++ b/test/transform/resource/after-ecj/GetterSetterJavadoc.java
@@ -22,7 +22,7 @@
return (other instanceof GetterSetterJavadoc1);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = ((result * PRIME) + this.getFieldName());
return result;
diff --git a/test/transform/resource/after-ecj/ValuePlain.java b/test/transform/resource/after-ecj/ValuePlain.java
index d095913f..a23944de 100644
--- a/test/transform/resource/after-ecj/ValuePlain.java
+++ b/test/transform/resource/after-ecj/ValuePlain.java
@@ -23,7 +23,7 @@ final @lombok.Value class Value1 {
return true;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = ((result * PRIME) + this.getX());
final java.lang.Object $name = this.getName();
@@ -68,7 +68,7 @@ final @lombok.Value class Value1 {
return (other instanceof Value2);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = ((result * PRIME) + this.getX());
final java.lang.Object $name = this.getName();
@@ -106,7 +106,7 @@ final @Value class Value3 {
return true;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 31;
+ final int PRIME = 277;
int result = 1;
result = ((result * PRIME) + this.getX());
result = ((result * PRIME) + this.getY());
--
cgit
From ed82259e5276810ce7c8a8e2da5d1bc1dd35d7f8 Mon Sep 17 00:00:00 2001
From: Reinier Zwitserloot
Date: Tue, 14 Jan 2014 22:52:44 +0100
Subject: [trivial] fixed typos in test files.
---
test/transform/resource/after-delombok/GetterLazyBoolean.java | 2 +-
test/transform/resource/after-ecj/GetterLazyBoolean.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
(limited to 'test/transform')
diff --git a/test/transform/resource/after-delombok/GetterLazyBoolean.java b/test/transform/resource/after-delombok/GetterLazyBoolean.java
index 21b153c9..ba26e7b7 100644
--- a/test/transform/resource/after-delombok/GetterLazyBoolean.java
+++ b/test/transform/resource/after-delombok/GetterLazyBoolean.java
@@ -23,7 +23,7 @@ class GetterLazyBoolean {
public int hashCode() {
final int PRIME = 277;
int result = 1;
- result = result * PRIME + (this.isBooleanValue() ? 2591 : 2609);
+ result = result * PRIME + (this.isBooleanValue() ? 2609 : 2591);
return result;
}
@java.lang.Override
diff --git a/test/transform/resource/after-ecj/GetterLazyBoolean.java b/test/transform/resource/after-ecj/GetterLazyBoolean.java
index 5b64c3b0..d3b257a7 100644
--- a/test/transform/resource/after-ecj/GetterLazyBoolean.java
+++ b/test/transform/resource/after-ecj/GetterLazyBoolean.java
@@ -59,7 +59,7 @@
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
final int PRIME = 277;
int result = 1;
- result = ((result * PRIME) + (this.isBooleanValue() ? 2591 : 2609));
+ result = ((result * PRIME) + (this.isBooleanValue() ? 2609 : 2591));
return result;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
--
cgit
From 14cc54527663018cdf7343eefffc8c37fbce93bb Mon Sep 17 00:00:00 2001
From: Roel Spilker
Date: Sun, 19 Jan 2014 21:49:35 +0100
Subject: Issue 625: use (even) better primes for hashcodes
---
doc/changelog.markdown | 1 +
src/core/lombok/core/handlers/HandlerUtil.java | 14 +++++++++++---
.../lombok/eclipse/handlers/HandleEqualsAndHashCode.java | 12 ++++++------
.../lombok/javac/handlers/HandleEqualsAndHashCode.java | 8 ++++----
test/transform/resource/after-delombok/Accessors.java | 2 +-
test/transform/resource/after-delombok/DataExtended.java | 2 +-
test/transform/resource/after-delombok/DataIgnore.java | 2 +-
.../resource/after-delombok/DataOnLocalClass.java | 6 +++---
test/transform/resource/after-delombok/DataPlain.java | 8 ++++----
test/transform/resource/after-delombok/DataWithGetter.java | 2 +-
.../resource/after-delombok/DataWithGetterNone.java | 2 +-
.../resource/after-delombok/EqualsAndHashCode.java | 9 ++++++---
.../EqualsAndHashCodeWithSomeExistingMethods.java | 2 +-
.../resource/after-delombok/GetterLazyBoolean.java | 4 ++--
.../resource/after-delombok/GetterLazyEahcToString.java | 2 +-
.../resource/after-delombok/GetterSetterJavadoc.java | 2 +-
test/transform/resource/after-delombok/ValuePlain.java | 6 +++---
test/transform/resource/after-ecj/Accessors.java | 2 +-
test/transform/resource/after-ecj/DataExtended.java | 2 +-
test/transform/resource/after-ecj/DataIgnore.java | 2 +-
test/transform/resource/after-ecj/DataOnLocalClass.java | 6 +++---
test/transform/resource/after-ecj/DataPlain.java | 8 ++++----
test/transform/resource/after-ecj/DataWithGetter.java | 2 +-
test/transform/resource/after-ecj/DataWithGetterNone.java | 2 +-
test/transform/resource/after-ecj/EqualsAndHashCode.java | 10 +++++++---
.../EqualsAndHashCodeWithSomeExistingMethods.java | 2 +-
test/transform/resource/after-ecj/GetterLazyBoolean.java | 4 ++--
.../resource/after-ecj/GetterLazyEahcToString.java | 2 +-
test/transform/resource/after-ecj/GetterSetterJavadoc.java | 2 +-
test/transform/resource/after-ecj/ValuePlain.java | 6 +++---
test/transform/resource/before/EqualsAndHashCode.java | 1 +
usage_examples/DataExample_post.jpage | 4 ++--
usage_examples/EqualsAndHashCodeExample_post.jpage | 4 ++--
usage_examples/ValueExample_post.jpage | 4 ++--
34 files changed, 82 insertions(+), 65 deletions(-)
(limited to 'test/transform')
diff --git a/doc/changelog.markdown b/doc/changelog.markdown
index d4a29177..72291c5b 100644
--- a/doc/changelog.markdown
+++ b/doc/changelog.markdown
@@ -3,6 +3,7 @@ Lombok Changelog
### v1.12.5 "Edgy Guinea Pig"
* DETAIL: {Delombok} Inside enum bodies the delombok formatter didn't respect the emptyLines directive [Issue #529](https://code.google.com/p/projectlombok/issues/detail?id=629).
+* DETAIL: Use smaller primes (<127) for generating hashcodes [Issue #625](https://code.google.com/p/projectlombok/issues/detail?id=625)
### v1.12.4 (January 15th, 2014)
* BUGFIX: v1.12.2's delombok turns all operator+assignments into just assignment. Fixed. [Issue #598](https://code.google.com/p/projectlombok/issues/detail?id=598)
diff --git a/src/core/lombok/core/handlers/HandlerUtil.java b/src/core/lombok/core/handlers/HandlerUtil.java
index c8076ab6..23b8ccc7 100644
--- a/src/core/lombok/core/handlers/HandlerUtil.java
+++ b/src/core/lombok/core/handlers/HandlerUtil.java
@@ -27,9 +27,17 @@ import lombok.core.LombokNode;
public class HandlerUtil {
private HandlerUtil() {}
- public static final int PRIME_FOR_HASHCODE = 277;
- public static final int PRIME_FOR_TRUE = 2591;
- public static final int PRIME_FOR_FALSE = 2609;
+ public static int primeForHashcode() {
+ return 59;
+ }
+
+ public static int primeForTrue() {
+ return 79;
+ }
+
+ public static int primeForFalse() {
+ return 97;
+ }
/** Checks if the given name is a valid identifier.
*
diff --git a/src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java b/src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java
index 8d95ca64..0cc0836e 100644
--- a/src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java
+++ b/src/core/lombok/eclipse/handlers/HandleEqualsAndHashCode.java
@@ -272,7 +272,7 @@ public class HandleEqualsAndHashCode extends EclipseAnnotationHandler>> 32 ^ $d);
+ result = result * PRIME + (this.b ? 79 : 97);
return result;
}
}
@@ -111,7 +114,7 @@ class EqualsAndHashCode4 extends EqualsAndHashCode {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + super.hashCode();
return result;
diff --git a/test/transform/resource/after-delombok/EqualsAndHashCodeWithSomeExistingMethods.java b/test/transform/resource/after-delombok/EqualsAndHashCodeWithSomeExistingMethods.java
index e1bdc7f7..aa9b984f 100644
--- a/test/transform/resource/after-delombok/EqualsAndHashCodeWithSomeExistingMethods.java
+++ b/test/transform/resource/after-delombok/EqualsAndHashCodeWithSomeExistingMethods.java
@@ -69,7 +69,7 @@ class EqualsAndHashCodeWithNoExistingMethods {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.x;
return result;
diff --git a/test/transform/resource/after-delombok/GetterLazyBoolean.java b/test/transform/resource/after-delombok/GetterLazyBoolean.java
index ba26e7b7..eb6662e2 100644
--- a/test/transform/resource/after-delombok/GetterLazyBoolean.java
+++ b/test/transform/resource/after-delombok/GetterLazyBoolean.java
@@ -21,9 +21,9 @@ class GetterLazyBoolean {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
- result = result * PRIME + (this.isBooleanValue() ? 2609 : 2591);
+ result = result * PRIME + (this.isBooleanValue() ? 79 : 97);
return result;
}
@java.lang.Override
diff --git a/test/transform/resource/after-delombok/GetterLazyEahcToString.java b/test/transform/resource/after-delombok/GetterLazyEahcToString.java
index 29e2f51c..3e98a25e 100644
--- a/test/transform/resource/after-delombok/GetterLazyEahcToString.java
+++ b/test/transform/resource/after-delombok/GetterLazyEahcToString.java
@@ -27,7 +27,7 @@ class GetterLazyEahcToString {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
final java.lang.Object $value = this.getValue();
result = result * PRIME + ($value == null ? 0 : $value.hashCode());
diff --git a/test/transform/resource/after-delombok/GetterSetterJavadoc.java b/test/transform/resource/after-delombok/GetterSetterJavadoc.java
index 5b12a395..743a3aac 100644
--- a/test/transform/resource/after-delombok/GetterSetterJavadoc.java
+++ b/test/transform/resource/after-delombok/GetterSetterJavadoc.java
@@ -41,7 +41,7 @@ class GetterSetterJavadoc1 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.getFieldName();
return result;
diff --git a/test/transform/resource/after-delombok/ValuePlain.java b/test/transform/resource/after-delombok/ValuePlain.java
index af87d1ba..e880454b 100644
--- a/test/transform/resource/after-delombok/ValuePlain.java
+++ b/test/transform/resource/after-delombok/ValuePlain.java
@@ -30,7 +30,7 @@ final class Value1 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.getX();
final java.lang.Object $name = this.getName();
@@ -80,7 +80,7 @@ class Value2 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.getX();
final java.lang.Object $name = this.getName();
@@ -123,7 +123,7 @@ final class Value3 {
@java.lang.Override
@java.lang.SuppressWarnings("all")
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = result * PRIME + this.getX();
result = result * PRIME + this.getY();
diff --git a/test/transform/resource/after-ecj/Accessors.java b/test/transform/resource/after-ecj/Accessors.java
index 52a72d52..c8fdc3bf 100644
--- a/test/transform/resource/after-ecj/Accessors.java
+++ b/test/transform/resource/after-ecj/Accessors.java
@@ -90,7 +90,7 @@ class AccessorsChain {
return (other instanceof AccessorsPrefix3);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
final java.lang.Object $fName = this.getName();
result = ((result * PRIME) + (($fName == null) ? 0 : $fName.hashCode()));
diff --git a/test/transform/resource/after-ecj/DataExtended.java b/test/transform/resource/after-ecj/DataExtended.java
index 35a7ca34..bcfd26e3 100644
--- a/test/transform/resource/after-ecj/DataExtended.java
+++ b/test/transform/resource/after-ecj/DataExtended.java
@@ -22,7 +22,7 @@
return (other instanceof DataExtended);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
return result;
diff --git a/test/transform/resource/after-ecj/DataIgnore.java b/test/transform/resource/after-ecj/DataIgnore.java
index 4a3c051b..d0e72e15 100644
--- a/test/transform/resource/after-ecj/DataIgnore.java
+++ b/test/transform/resource/after-ecj/DataIgnore.java
@@ -20,7 +20,7 @@
return (other instanceof DataIgnore);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
return result;
diff --git a/test/transform/resource/after-ecj/DataOnLocalClass.java b/test/transform/resource/after-ecj/DataOnLocalClass.java
index 4a247542..511291c2 100644
--- a/test/transform/resource/after-ecj/DataOnLocalClass.java
+++ b/test/transform/resource/after-ecj/DataOnLocalClass.java
@@ -36,7 +36,7 @@ class DataOnLocalClass1 {
return (other instanceof Local);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
final java.lang.Object $name = this.getName();
@@ -86,7 +86,7 @@ class DataOnLocalClass2 {
return (other instanceof Local.InnerLocal);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
final java.lang.Object $name = this.getName();
result = ((result * PRIME) + (($name == null) ? 0 : $name.hashCode()));
@@ -124,7 +124,7 @@ class DataOnLocalClass2 {
return (other instanceof Local);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
return result;
diff --git a/test/transform/resource/after-ecj/DataPlain.java b/test/transform/resource/after-ecj/DataPlain.java
index 2105c6f2..aa47fdaa 100644
--- a/test/transform/resource/after-ecj/DataPlain.java
+++ b/test/transform/resource/after-ecj/DataPlain.java
@@ -31,7 +31,7 @@ import lombok.Data;
return (other instanceof Data1);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
final java.lang.Object $name = this.getName();
@@ -78,7 +78,7 @@ import lombok.Data;
return (other instanceof Data2);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
final java.lang.Object $name = this.getName();
@@ -120,7 +120,7 @@ final @Data class Data3 {
return true;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
final java.lang.Object $name = this.getName();
@@ -167,7 +167,7 @@ final @Data @lombok.EqualsAndHashCode(callSuper = true) class Data4 extends java
return (other instanceof Data4);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + super.hashCode());
result = ((result * PRIME) + this.getX());
diff --git a/test/transform/resource/after-ecj/DataWithGetter.java b/test/transform/resource/after-ecj/DataWithGetter.java
index 9676e851..2ce74ceb 100644
--- a/test/transform/resource/after-ecj/DataWithGetter.java
+++ b/test/transform/resource/after-ecj/DataWithGetter.java
@@ -30,7 +30,7 @@
return (other instanceof DataWithGetter);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
result = ((result * PRIME) + this.getY());
diff --git a/test/transform/resource/after-ecj/DataWithGetterNone.java b/test/transform/resource/after-ecj/DataWithGetterNone.java
index d5e190d8..087d0762 100644
--- a/test/transform/resource/after-ecj/DataWithGetterNone.java
+++ b/test/transform/resource/after-ecj/DataWithGetterNone.java
@@ -30,7 +30,7 @@
return (other instanceof DataWithGetterNone);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.x);
result = ((result * PRIME) + this.y);
diff --git a/test/transform/resource/after-ecj/EqualsAndHashCode.java b/test/transform/resource/after-ecj/EqualsAndHashCode.java
index 492f9344..625a0f87 100644
--- a/test/transform/resource/after-ecj/EqualsAndHashCode.java
+++ b/test/transform/resource/after-ecj/EqualsAndHashCode.java
@@ -35,7 +35,7 @@
return (other instanceof EqualsAndHashCode);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.x);
result = ((result * PRIME) + java.util.Arrays.hashCode(this.y));
@@ -52,6 +52,7 @@ final @lombok.EqualsAndHashCode class EqualsAndHashCode2 {
long y;
float f;
double d;
+ boolean b;
EqualsAndHashCode2() {
super();
}
@@ -69,10 +70,12 @@ final @lombok.EqualsAndHashCode class EqualsAndHashCode2 {
return false;
if ((java.lang.Double.compare(this.d, other.d) != 0))
return false;
+ if ((this.b != other.b))
+ return false;
return true;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.x);
final long $y = this.y;
@@ -80,6 +83,7 @@ final @lombok.EqualsAndHashCode class EqualsAndHashCode2 {
result = ((result * PRIME) + java.lang.Float.floatToIntBits(this.f));
final long $d = java.lang.Double.doubleToLongBits(this.d);
result = ((result * PRIME) + (int) ($d ^ ($d >>> 32)));
+ result = ((result * PRIME) + (this.b ? 79 : 97));
return result;
}
}
@@ -125,7 +129,7 @@ final @lombok.EqualsAndHashCode(callSuper = false) class EqualsAndHashCode3 exte
return (other instanceof EqualsAndHashCode4);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + super.hashCode());
return result;
diff --git a/test/transform/resource/after-ecj/EqualsAndHashCodeWithSomeExistingMethods.java b/test/transform/resource/after-ecj/EqualsAndHashCodeWithSomeExistingMethods.java
index 83878675..05f7ad97 100644
--- a/test/transform/resource/after-ecj/EqualsAndHashCodeWithSomeExistingMethods.java
+++ b/test/transform/resource/after-ecj/EqualsAndHashCodeWithSomeExistingMethods.java
@@ -57,7 +57,7 @@ import static lombok.AccessLevel.NONE;
return (other instanceof EqualsAndHashCodeWithNoExistingMethods);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.x);
return result;
diff --git a/test/transform/resource/after-ecj/GetterLazyBoolean.java b/test/transform/resource/after-ecj/GetterLazyBoolean.java
index d3b257a7..c37eece2 100644
--- a/test/transform/resource/after-ecj/GetterLazyBoolean.java
+++ b/test/transform/resource/after-ecj/GetterLazyBoolean.java
@@ -57,9 +57,9 @@
return (other instanceof GetterLazyBoolean);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
- result = ((result * PRIME) + (this.isBooleanValue() ? 2609 : 2591));
+ result = ((result * PRIME) + (this.isBooleanValue() ? 79 : 97));
return result;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
diff --git a/test/transform/resource/after-ecj/GetterLazyEahcToString.java b/test/transform/resource/after-ecj/GetterLazyEahcToString.java
index d8a90350..da9f6a83 100644
--- a/test/transform/resource/after-ecj/GetterLazyEahcToString.java
+++ b/test/transform/resource/after-ecj/GetterLazyEahcToString.java
@@ -46,7 +46,7 @@
return (other instanceof GetterLazyEahcToString);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
final java.lang.Object $value = this.getValue();
result = ((result * PRIME) + (($value == null) ? 0 : $value.hashCode()));
diff --git a/test/transform/resource/after-ecj/GetterSetterJavadoc.java b/test/transform/resource/after-ecj/GetterSetterJavadoc.java
index 10d9a0be..b7fc15b8 100644
--- a/test/transform/resource/after-ecj/GetterSetterJavadoc.java
+++ b/test/transform/resource/after-ecj/GetterSetterJavadoc.java
@@ -22,7 +22,7 @@
return (other instanceof GetterSetterJavadoc1);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getFieldName());
return result;
diff --git a/test/transform/resource/after-ecj/ValuePlain.java b/test/transform/resource/after-ecj/ValuePlain.java
index a23944de..5ca32af8 100644
--- a/test/transform/resource/after-ecj/ValuePlain.java
+++ b/test/transform/resource/after-ecj/ValuePlain.java
@@ -23,7 +23,7 @@ final @lombok.Value class Value1 {
return true;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
final java.lang.Object $name = this.getName();
@@ -68,7 +68,7 @@ final @lombok.Value class Value1 {
return (other instanceof Value2);
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
final java.lang.Object $name = this.getName();
@@ -106,7 +106,7 @@ final @Value class Value3 {
return true;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = ((result * PRIME) + this.getX());
result = ((result * PRIME) + this.getY());
diff --git a/test/transform/resource/before/EqualsAndHashCode.java b/test/transform/resource/before/EqualsAndHashCode.java
index 0a1e3290..660f923a 100644
--- a/test/transform/resource/before/EqualsAndHashCode.java
+++ b/test/transform/resource/before/EqualsAndHashCode.java
@@ -13,6 +13,7 @@ final class EqualsAndHashCode2 {
long y;
float f;
double d;
+ boolean b;
}
@lombok.EqualsAndHashCode(callSuper=false)
diff --git a/usage_examples/DataExample_post.jpage b/usage_examples/DataExample_post.jpage
index 896839de..29e7e328 100644
--- a/usage_examples/DataExample_post.jpage
+++ b/usage_examples/DataExample_post.jpage
@@ -55,7 +55,7 @@ public class DataExample {
}
@Override public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
final long temp1 = Double.doubleToLongBits(this.getScore());
result = (result*PRIME) + (this.getName() == null ? 0 : this.getName().hashCode());
@@ -101,7 +101,7 @@ public class DataExample {
}
@Override public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = (result*PRIME) + (this.getName() == null ? 0 : this.getName().hashCode());
result = (result*PRIME) + (this.getValue() == null ? 0 : this.getValue().hashCode());
diff --git a/usage_examples/EqualsAndHashCodeExample_post.jpage b/usage_examples/EqualsAndHashCodeExample_post.jpage
index 57191f55..aa6a44ba 100644
--- a/usage_examples/EqualsAndHashCodeExample_post.jpage
+++ b/usage_examples/EqualsAndHashCodeExample_post.jpage
@@ -24,7 +24,7 @@ public class EqualsAndHashCodeExample {
}
@Override public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
final long temp1 = Double.doubleToLongBits(this.score);
result = (result*PRIME) + (this.name == null ? 0 : this.name.hashCode());
@@ -57,7 +57,7 @@ public class EqualsAndHashCodeExample {
}
@Override public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
result = (result*PRIME) + super.hashCode();
result = (result*PRIME) + this.width;
diff --git a/usage_examples/ValueExample_post.jpage b/usage_examples/ValueExample_post.jpage
index c5971262..4ac8654e 100644
--- a/usage_examples/ValueExample_post.jpage
+++ b/usage_examples/ValueExample_post.jpage
@@ -46,7 +46,7 @@ public final class ValueExample {
@java.lang.Override
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
final Object $name = this.getName();
result = result * PRIME + ($name == null ? 0 : $name.hashCode());
@@ -103,7 +103,7 @@ public final class ValueExample {
@java.lang.Override
public int hashCode() {
- final int PRIME = 277;
+ final int PRIME = 59;
int result = 1;
final Object $name = this.getName();
result = result * PRIME + ($name == null ? 0 : $name.hashCode());
--
cgit
From c38a64a5564996b552d88448bfb00722403bf194 Mon Sep 17 00:00:00 2001
From: Maarten Mulders
Date: Fri, 7 Feb 2014 16:14:01 +0100
Subject: Handlers and testcases for @Slf4j
---
src/core/lombok/eclipse/handlers/HandleLog.java | 26 ++++++++------
src/core/lombok/extern/slf4j/Slf4j.java | 4 +++
src/core/lombok/javac/handlers/HandleLog.java | 40 +++++++++++++---------
.../resource/after-delombok/LoggerSlf4j.java | 5 +++
test/transform/resource/after-ecj/LoggerSlf4j.java | 9 +++++
test/transform/resource/before/LoggerSlf4j.java | 4 +++
6 files changed, 62 insertions(+), 26 deletions(-)
(limited to 'test/transform')
diff --git a/src/core/lombok/eclipse/handlers/HandleLog.java b/src/core/lombok/eclipse/handlers/HandleLog.java
index 6b1e94be..ee9986b1 100644
--- a/src/core/lombok/eclipse/handlers/HandleLog.java
+++ b/src/core/lombok/eclipse/handlers/HandleLog.java
@@ -38,6 +38,7 @@ import org.eclipse.jdt.internal.compiler.ast.FieldDeclaration;
import org.eclipse.jdt.internal.compiler.ast.MessageSend;
import org.eclipse.jdt.internal.compiler.ast.QualifiedTypeReference;
import org.eclipse.jdt.internal.compiler.ast.SingleTypeReference;
+import org.eclipse.jdt.internal.compiler.ast.StringLiteral;
import org.eclipse.jdt.internal.compiler.ast.TypeDeclaration;
import org.eclipse.jdt.internal.compiler.ast.TypeReference;
import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants;
@@ -48,7 +49,7 @@ public class HandleLog {
throw new UnsupportedOperationException();
}
- public static void processAnnotation(LoggingFramework framework, AnnotationValues extends java.lang.annotation.Annotation> annotation, Annotation source, EclipseNode annotationNode) {
+ public static void processAnnotation(LoggingFramework framework, AnnotationValues extends java.lang.annotation.Annotation> annotation, Annotation source, EclipseNode annotationNode, String loggerCategory) {
EclipseNode owner = annotationNode.up();
switch (owner.getKind()) {
case TYPE:
@@ -71,7 +72,7 @@ public class HandleLog {
ClassLiteralAccess loggingType = selfType(owner, source);
- FieldDeclaration fieldDeclaration = createField(framework, source, loggingType);
+ FieldDeclaration fieldDeclaration = createField(framework, source, loggingType, loggerCategory);
fieldDeclaration.traverse(new SetGeneratedByVisitor(source), typeDecl.staticInitializerScope);
// TODO temporary workaround for issue 217. http://code.google.com/p/projectlombok/issues/detail?id=217
// injectFieldSuppressWarnings(owner, fieldDeclaration);
@@ -97,7 +98,7 @@ public class HandleLog {
return result;
}
- public static FieldDeclaration createField(LoggingFramework framework, Annotation source, ClassLiteralAccess loggingType) {
+ public static FieldDeclaration createField(LoggingFramework framework, Annotation source, ClassLiteralAccess loggingType, String loggerCategory) {
int pS = source.sourceStart, pE = source.sourceEnd;
long p = (long)pS << 32 | pE;
@@ -116,7 +117,12 @@ public class HandleLog {
factoryMethodCall.receiver = createNameReference(framework.getLoggerFactoryTypeName(), source);
factoryMethodCall.selector = framework.getLoggerFactoryMethodName().toCharArray();
- Expression parameter = framework.createFactoryParameter(loggingType, source);
+ Expression parameter;
+ if (loggerCategory == null || loggerCategory.trim().length() == 0) {
+ parameter = framework.createFactoryParameter(loggingType, source);
+ } else {
+ parameter = new StringLiteral(loggerCategory.toCharArray(), pS, pE, 0);
+ }
factoryMethodCall.arguments = new Expression[] { parameter };
factoryMethodCall.nameSourcePosition = p;
@@ -155,7 +161,7 @@ public class HandleLog {
@ProviderFor(EclipseAnnotationHandler.class)
public static class HandleCommonsLog extends EclipseAnnotationHandler {
@Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) {
- processAnnotation(LoggingFramework.COMMONS, annotation, source, annotationNode);
+ processAnnotation(LoggingFramework.COMMONS, annotation, source, annotationNode, "");
}
}
@@ -165,7 +171,7 @@ public class HandleLog {
@ProviderFor(EclipseAnnotationHandler.class)
public static class HandleJulLog extends EclipseAnnotationHandler {
@Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) {
- processAnnotation(LoggingFramework.JUL, annotation, source, annotationNode);
+ processAnnotation(LoggingFramework.JUL, annotation, source, annotationNode, "");
}
}
@@ -175,7 +181,7 @@ public class HandleLog {
@ProviderFor(EclipseAnnotationHandler.class)
public static class HandleLog4jLog extends EclipseAnnotationHandler {
@Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) {
- processAnnotation(LoggingFramework.LOG4J, annotation, source, annotationNode);
+ processAnnotation(LoggingFramework.LOG4J, annotation, source, annotationNode, "");
}
}
@@ -185,7 +191,7 @@ public class HandleLog {
@ProviderFor(EclipseAnnotationHandler.class)
public static class HandleLog4j2Log extends EclipseAnnotationHandler {
@Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) {
- processAnnotation(LoggingFramework.LOG4J2, annotation, source, annotationNode);
+ processAnnotation(LoggingFramework.LOG4J2, annotation, source, annotationNode, "");
}
}
@@ -195,7 +201,7 @@ public class HandleLog {
@ProviderFor(EclipseAnnotationHandler.class)
public static class HandleSlf4jLog extends EclipseAnnotationHandler {
@Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) {
- processAnnotation(LoggingFramework.SLF4J, annotation, source, annotationNode);
+ processAnnotation(LoggingFramework.SLF4J, annotation, source, annotationNode, annotation.getInstance().value());
}
}
@@ -205,7 +211,7 @@ public class HandleLog {
@ProviderFor(EclipseAnnotationHandler.class)
public static class HandleXSlf4jLog extends EclipseAnnotationHandler {
@Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) {
- processAnnotation(LoggingFramework.XSLF4J, annotation, source, annotationNode);
+ processAnnotation(LoggingFramework.XSLF4J, annotation, source, annotationNode, "");
}
}
diff --git a/src/core/lombok/extern/slf4j/Slf4j.java b/src/core/lombok/extern/slf4j/Slf4j.java
index 8490b6b6..c4495990 100644
--- a/src/core/lombok/extern/slf4j/Slf4j.java
+++ b/src/core/lombok/extern/slf4j/Slf4j.java
@@ -57,4 +57,8 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface Slf4j {
+ /**
+ * Sets the category of the constructed Logger. By default, it will use the type where the annotation is placed.
+ */
+ String value() default "";
}
diff --git a/src/core/lombok/javac/handlers/HandleLog.java b/src/core/lombok/javac/handlers/HandleLog.java
index cb22496e..12aa07fb 100644
--- a/src/core/lombok/javac/handlers/HandleLog.java
+++ b/src/core/lombok/javac/handlers/HandleLog.java
@@ -25,7 +25,9 @@ import static lombok.javac.handlers.JavacHandlerUtil.*;
import java.lang.annotation.Annotation;
+import lombok.NoArgsConstructor;
import lombok.core.AnnotationValues;
+import lombok.extern.slf4j.Slf4j;
import lombok.javac.JavacAnnotationHandler;
import lombok.javac.JavacNode;
import lombok.javac.JavacTreeMaker;
@@ -47,10 +49,10 @@ public class HandleLog {
private HandleLog() {
throw new UnsupportedOperationException();
}
-
- public static void processAnnotation(LoggingFramework framework, AnnotationValues> annotation, JavacNode annotationNode) {
+
+ public static void processAnnotation(LoggingFramework framework, AnnotationValues> annotation, JavacNode annotationNode, String loggerCategory) {
deleteAnnotationIfNeccessary(annotationNode, framework.getAnnotationClass());
-
+
JavacNode typeNode = annotationNode.up();
switch (typeNode.getKind()) {
case TYPE:
@@ -58,14 +60,14 @@ public class HandleLog {
annotationNode.addError("@Log is legal only on classes and enums.");
return;
}
-
+
if (fieldExists("log", typeNode)!= MemberExistsResult.NOT_EXISTS) {
annotationNode.addWarning("Field 'log' already exists.");
return;
}
-
+
JCFieldAccess loggingType = selfType(typeNode);
- createField(framework, typeNode, loggingType, annotationNode.get());
+ createField(framework, typeNode, loggingType, annotationNode.get(), loggerCategory);
break;
default:
annotationNode.addError("@Log is legal only on types.");
@@ -79,16 +81,22 @@ public class HandleLog {
return maker.Select(maker.Ident(name), typeNode.toName("class"));
}
- public static boolean createField(LoggingFramework framework, JavacNode typeNode, JCFieldAccess loggingType, JCTree source) {
+ public static boolean createField(LoggingFramework framework, JavacNode typeNode, JCFieldAccess loggingType, JCTree source, String loggerCategory) {
JavacTreeMaker maker = typeNode.getTreeMaker();
// private static final log = ();
JCExpression loggerType = chainDotsString(typeNode, framework.getLoggerTypeName());
JCExpression factoryMethod = chainDotsString(typeNode, framework.getLoggerFactoryMethodName());
-
- JCExpression loggerName = framework.createFactoryParameter(typeNode, loggingType);
+
+ JCExpression loggerName;
+ if (loggerCategory == null || loggerCategory.trim().length() == 0) {
+ loggerName = framework.createFactoryParameter(typeNode, loggingType);
+ } else {
+ loggerName = maker.Literal(loggerCategory);
+ }
+
JCMethodInvocation factoryMethodCall = maker.Apply(List.nil(), factoryMethod, List.of(loggerName));
-
+
JCVariableDecl fieldDecl = recursiveSetGeneratedBy(maker.VarDef(
maker.Modifiers(Flags.PRIVATE | Flags.FINAL | Flags.STATIC),
typeNode.toName("log"), loggerType, factoryMethodCall), source, typeNode.getContext());
@@ -103,7 +111,7 @@ public class HandleLog {
@ProviderFor(JavacAnnotationHandler.class)
public static class HandleCommonsLog extends JavacAnnotationHandler {
@Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) {
- processAnnotation(LoggingFramework.COMMONS, annotation, annotationNode);
+ processAnnotation(LoggingFramework.COMMONS, annotation, annotationNode, "");
}
}
@@ -113,7 +121,7 @@ public class HandleLog {
@ProviderFor(JavacAnnotationHandler.class)
public static class HandleJulLog extends JavacAnnotationHandler {
@Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) {
- processAnnotation(LoggingFramework.JUL, annotation, annotationNode);
+ processAnnotation(LoggingFramework.JUL, annotation, annotationNode, "");
}
}
@@ -123,7 +131,7 @@ public class HandleLog {
@ProviderFor(JavacAnnotationHandler.class)
public static class HandleLog4jLog extends JavacAnnotationHandler {
@Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) {
- processAnnotation(LoggingFramework.LOG4J, annotation, annotationNode);
+ processAnnotation(LoggingFramework.LOG4J, annotation, annotationNode, "");
}
}
@@ -133,7 +141,7 @@ public class HandleLog {
@ProviderFor(JavacAnnotationHandler.class)
public static class HandleLog4j2Log extends JavacAnnotationHandler {
@Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) {
- processAnnotation(LoggingFramework.LOG4J2, annotation, annotationNode);
+ processAnnotation(LoggingFramework.LOG4J2, annotation, annotationNode, "");
}
}
@@ -143,7 +151,7 @@ public class HandleLog {
@ProviderFor(JavacAnnotationHandler.class)
public static class HandleSlf4jLog extends JavacAnnotationHandler {
@Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) {
- processAnnotation(LoggingFramework.SLF4J, annotation, annotationNode);
+ processAnnotation(LoggingFramework.SLF4J, annotation, annotationNode, annotation.getInstance().value());
}
}
@@ -153,7 +161,7 @@ public class HandleLog {
@ProviderFor(JavacAnnotationHandler.class)
public static class HandleXSlf4jLog extends JavacAnnotationHandler {
@Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) {
- processAnnotation(LoggingFramework.XSLF4J, annotation, annotationNode);
+ processAnnotation(LoggingFramework.XSLF4J, annotation, annotationNode, "");
}
}
diff --git a/test/transform/resource/after-delombok/LoggerSlf4j.java b/test/transform/resource/after-delombok/LoggerSlf4j.java
index a07c8546..3c6e6d2f 100644
--- a/test/transform/resource/after-delombok/LoggerSlf4j.java
+++ b/test/transform/resource/after-delombok/LoggerSlf4j.java
@@ -11,4 +11,9 @@ class LoggerSlf4jOuter {
@java.lang.SuppressWarnings("all")
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger(Inner.class);
}
+}
+
+class LoggerSlf4jWithDifferentLoggerName {
+ @java.lang.SuppressWarnings("all")
+ private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger("DifferentLogger");
}
\ No newline at end of file
diff --git a/test/transform/resource/after-ecj/LoggerSlf4j.java b/test/transform/resource/after-ecj/LoggerSlf4j.java
index 1ccf5c9e..a34f85d7 100644
--- a/test/transform/resource/after-ecj/LoggerSlf4j.java
+++ b/test/transform/resource/after-ecj/LoggerSlf4j.java
@@ -27,4 +27,13 @@ class LoggerSlf4jOuter {
LoggerSlf4jOuter() {
super();
}
+}
+
+@Slf4j("DifferentLogger") class LoggerSlf4jWithDifferentLoggerName {
+ private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger("DifferentLogger");
+ () {
+ }
+ LoggerSlf4jWithDifferentLoggerName() {
+ super();
+ }
}
\ No newline at end of file
diff --git a/test/transform/resource/before/LoggerSlf4j.java b/test/transform/resource/before/LoggerSlf4j.java
index 133ee36e..b620e056 100644
--- a/test/transform/resource/before/LoggerSlf4j.java
+++ b/test/transform/resource/before/LoggerSlf4j.java
@@ -13,4 +13,8 @@ class LoggerSlf4jOuter {
static class Inner {
}
+}
+
+@Slf4j("DifferentLogger")
+class LoggerSlf4jWithDifferentLoggerName {
}
\ No newline at end of file
--
cgit
From f13191e02c1b8e8e8857cadfcf29cfd15dd1f1ad Mon Sep 17 00:00:00 2001
From: Maarten Mulders
Date: Sat, 8 Feb 2014 14:43:48 +0100
Subject: Handlers and testcases for @CommonsLog
---
src/core/lombok/eclipse/handlers/HandleLog.java | 2 +-
src/core/lombok/extern/apachecommons/CommonsLog.java | 4 ++++
src/core/lombok/javac/handlers/HandleLog.java | 2 +-
test/transform/resource/after-delombok/LoggerCommons.java | 4 ++++
test/transform/resource/after-ecj/LoggerCommons.java | 8 ++++++++
test/transform/resource/before/LoggerCommons.java | 6 +++++-
6 files changed, 23 insertions(+), 3 deletions(-)
(limited to 'test/transform')
diff --git a/src/core/lombok/eclipse/handlers/HandleLog.java b/src/core/lombok/eclipse/handlers/HandleLog.java
index ee9986b1..0f77bf76 100644
--- a/src/core/lombok/eclipse/handlers/HandleLog.java
+++ b/src/core/lombok/eclipse/handlers/HandleLog.java
@@ -161,7 +161,7 @@ public class HandleLog {
@ProviderFor(EclipseAnnotationHandler.class)
public static class HandleCommonsLog extends EclipseAnnotationHandler {
@Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) {
- processAnnotation(LoggingFramework.COMMONS, annotation, source, annotationNode, "");
+ processAnnotation(LoggingFramework.COMMONS, annotation, source, annotationNode, annotation.getInstance().value());
}
}
diff --git a/src/core/lombok/extern/apachecommons/CommonsLog.java b/src/core/lombok/extern/apachecommons/CommonsLog.java
index 024e3744..34ac0fe6 100644
--- a/src/core/lombok/extern/apachecommons/CommonsLog.java
+++ b/src/core/lombok/extern/apachecommons/CommonsLog.java
@@ -59,4 +59,8 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface CommonsLog {
+ /**
+ * Sets the category of the constructed Logger. By default, it will use the type where the annotation is placed.
+ */
+ String value() default "";
}
\ No newline at end of file
diff --git a/src/core/lombok/javac/handlers/HandleLog.java b/src/core/lombok/javac/handlers/HandleLog.java
index 12aa07fb..2ad16b80 100644
--- a/src/core/lombok/javac/handlers/HandleLog.java
+++ b/src/core/lombok/javac/handlers/HandleLog.java
@@ -111,7 +111,7 @@ public class HandleLog {
@ProviderFor(JavacAnnotationHandler.class)
public static class HandleCommonsLog extends JavacAnnotationHandler {
@Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) {
- processAnnotation(LoggingFramework.COMMONS, annotation, annotationNode, "");
+ processAnnotation(LoggingFramework.COMMONS, annotation, annotationNode, annotation.getInstance().value());
}
}
diff --git a/test/transform/resource/after-delombok/LoggerCommons.java b/test/transform/resource/after-delombok/LoggerCommons.java
index 6feea5b6..32ace53a 100644
--- a/test/transform/resource/after-delombok/LoggerCommons.java
+++ b/test/transform/resource/after-delombok/LoggerCommons.java
@@ -5,4 +5,8 @@ class LoggerCommons {
class LoggerCommonsWithImport {
@java.lang.SuppressWarnings("all")
private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(LoggerCommonsWithImport.class);
+}
+class LoggerCommonsWithDifferentName {
+ @java.lang.SuppressWarnings("all")
+ private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog("DifferentName");
}
\ No newline at end of file
diff --git a/test/transform/resource/after-ecj/LoggerCommons.java b/test/transform/resource/after-ecj/LoggerCommons.java
index d63bb9c1..50d07a14 100644
--- a/test/transform/resource/after-ecj/LoggerCommons.java
+++ b/test/transform/resource/after-ecj/LoggerCommons.java
@@ -14,4 +14,12 @@ import lombok.extern.apachecommons.CommonsLog;
LoggerCommonsWithImport() {
super();
}
+}
+@CommonsLog("DifferentName") class LoggerCommonsWithDifferentName {
+ private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog("DifferentName");
+ () {
+ }
+ LoggerCommonsWithDifferentName() {
+ super();
+ }
}
\ No newline at end of file
diff --git a/test/transform/resource/before/LoggerCommons.java b/test/transform/resource/before/LoggerCommons.java
index 52210d25..ce9e4ec4 100644
--- a/test/transform/resource/before/LoggerCommons.java
+++ b/test/transform/resource/before/LoggerCommons.java
@@ -6,4 +6,8 @@ class LoggerCommons {
@CommonsLog
class LoggerCommonsWithImport {
-}
\ No newline at end of file
+}
+
+@CommonsLog("DifferentName")
+class LoggerCommonsWithDifferentName {
+}
--
cgit
From e1153c16562dba545f4cc2ecbc26befde6c1a781 Mon Sep 17 00:00:00 2001
From: Maarten Mulders
Date: Sat, 8 Feb 2014 15:16:39 +0100
Subject: Handler and testcases for @Log
---
src/core/lombok/eclipse/handlers/HandleLog.java | 2 +-
src/core/lombok/extern/java/Log.java | 4 ++++
src/core/lombok/javac/handlers/HandleLog.java | 2 +-
test/transform/resource/after-delombok/LoggerJul.java | 4 ++++
test/transform/resource/after-ecj/LoggerJul.java | 8 ++++++++
test/transform/resource/before/LoggerJul.java | 4 ++++
6 files changed, 22 insertions(+), 2 deletions(-)
(limited to 'test/transform')
diff --git a/src/core/lombok/eclipse/handlers/HandleLog.java b/src/core/lombok/eclipse/handlers/HandleLog.java
index 0f77bf76..891d4df2 100644
--- a/src/core/lombok/eclipse/handlers/HandleLog.java
+++ b/src/core/lombok/eclipse/handlers/HandleLog.java
@@ -171,7 +171,7 @@ public class HandleLog {
@ProviderFor(EclipseAnnotationHandler.class)
public static class HandleJulLog extends EclipseAnnotationHandler {
@Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) {
- processAnnotation(LoggingFramework.JUL, annotation, source, annotationNode, "");
+ processAnnotation(LoggingFramework.JUL, annotation, source, annotationNode, annotation.getInstance().value());
}
}
diff --git a/src/core/lombok/extern/java/Log.java b/src/core/lombok/extern/java/Log.java
index 7ae4e07b..dfa2e2aa 100644
--- a/src/core/lombok/extern/java/Log.java
+++ b/src/core/lombok/extern/java/Log.java
@@ -58,4 +58,8 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface Log {
+ /**
+ * Sets the category of the constructed Logger. By default, it will use the type where the annotation is placed.
+ */
+ String value() default "";
}
\ No newline at end of file
diff --git a/src/core/lombok/javac/handlers/HandleLog.java b/src/core/lombok/javac/handlers/HandleLog.java
index 2ad16b80..bdb80ccb 100644
--- a/src/core/lombok/javac/handlers/HandleLog.java
+++ b/src/core/lombok/javac/handlers/HandleLog.java
@@ -121,7 +121,7 @@ public class HandleLog {
@ProviderFor(JavacAnnotationHandler.class)
public static class HandleJulLog extends JavacAnnotationHandler {
@Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) {
- processAnnotation(LoggingFramework.JUL, annotation, annotationNode, "");
+ processAnnotation(LoggingFramework.JUL, annotation, annotationNode, annotation.getInstance().value());
}
}
diff --git a/test/transform/resource/after-delombok/LoggerJul.java b/test/transform/resource/after-delombok/LoggerJul.java
index 20f0d24d..ad119777 100644
--- a/test/transform/resource/after-delombok/LoggerJul.java
+++ b/test/transform/resource/after-delombok/LoggerJul.java
@@ -5,4 +5,8 @@ class LoggerJul {
class LoggerJulWithImport {
@java.lang.SuppressWarnings("all")
private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger(LoggerJulWithImport.class.getName());
+}
+class LoggerJulWithDifferentName {
+ @java.lang.SuppressWarnings("all")
+ private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger("DifferentName");
}
\ No newline at end of file
diff --git a/test/transform/resource/after-ecj/LoggerJul.java b/test/transform/resource/after-ecj/LoggerJul.java
index c98dfe27..3aa8181d 100644
--- a/test/transform/resource/after-ecj/LoggerJul.java
+++ b/test/transform/resource/after-ecj/LoggerJul.java
@@ -14,4 +14,12 @@ import lombok.extern.java.Log;
LoggerJulWithImport() {
super();
}
+}
+@Log("DifferentName") class LoggerJulWithDifferentName {
+ private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger("DifferentName");
+ () {
+ }
+ LoggerJulWithDifferentName() {
+ super();
+ }
}
\ No newline at end of file
diff --git a/test/transform/resource/before/LoggerJul.java b/test/transform/resource/before/LoggerJul.java
index 52869e81..41e36220 100644
--- a/test/transform/resource/before/LoggerJul.java
+++ b/test/transform/resource/before/LoggerJul.java
@@ -6,4 +6,8 @@ class LoggerJul {
@Log
class LoggerJulWithImport {
+}
+
+@Log("DifferentName")
+class LoggerJulWithDifferentName {
}
\ No newline at end of file
--
cgit
From ebc9ee5f6d6bc89af65d27f472d13f18b34bef18 Mon Sep 17 00:00:00 2001
From: Maarten Mulders
Date: Sat, 8 Feb 2014 15:38:54 +0100
Subject: Handler and testcases for @Log4j
---
src/core/lombok/eclipse/handlers/HandleLog.java | 2 +-
src/core/lombok/extern/log4j/Log4j.java | 4 ++++
src/core/lombok/javac/handlers/HandleLog.java | 2 +-
test/transform/resource/after-delombok/LoggerLog4j.java | 4 ++++
test/transform/resource/after-ecj/LoggerLog4j.java | 8 ++++++++
test/transform/resource/before/LoggerLog4j.java | 4 ++++
6 files changed, 22 insertions(+), 2 deletions(-)
(limited to 'test/transform')
diff --git a/src/core/lombok/eclipse/handlers/HandleLog.java b/src/core/lombok/eclipse/handlers/HandleLog.java
index 891d4df2..1cd933e3 100644
--- a/src/core/lombok/eclipse/handlers/HandleLog.java
+++ b/src/core/lombok/eclipse/handlers/HandleLog.java
@@ -181,7 +181,7 @@ public class HandleLog {
@ProviderFor(EclipseAnnotationHandler.class)
public static class HandleLog4jLog extends EclipseAnnotationHandler {
@Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) {
- processAnnotation(LoggingFramework.LOG4J, annotation, source, annotationNode, "");
+ processAnnotation(LoggingFramework.LOG4J, annotation, source, annotationNode, annotation.getInstance().value());
}
}
diff --git a/src/core/lombok/extern/log4j/Log4j.java b/src/core/lombok/extern/log4j/Log4j.java
index 29e1b27c..0fe74599 100644
--- a/src/core/lombok/extern/log4j/Log4j.java
+++ b/src/core/lombok/extern/log4j/Log4j.java
@@ -59,4 +59,8 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface Log4j {
+ /**
+ * Sets the category of the constructed Logger. By default, it will use the type where the annotation is placed.
+ */
+ String value() default "";
}
\ No newline at end of file
diff --git a/src/core/lombok/javac/handlers/HandleLog.java b/src/core/lombok/javac/handlers/HandleLog.java
index bdb80ccb..b01dd564 100644
--- a/src/core/lombok/javac/handlers/HandleLog.java
+++ b/src/core/lombok/javac/handlers/HandleLog.java
@@ -131,7 +131,7 @@ public class HandleLog {
@ProviderFor(JavacAnnotationHandler.class)
public static class HandleLog4jLog extends JavacAnnotationHandler {
@Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) {
- processAnnotation(LoggingFramework.LOG4J, annotation, annotationNode, "");
+ processAnnotation(LoggingFramework.LOG4J, annotation, annotationNode, annotation.getInstance().value());
}
}
diff --git a/test/transform/resource/after-delombok/LoggerLog4j.java b/test/transform/resource/after-delombok/LoggerLog4j.java
index 7d54b259..99eac34f 100644
--- a/test/transform/resource/after-delombok/LoggerLog4j.java
+++ b/test/transform/resource/after-delombok/LoggerLog4j.java
@@ -5,4 +5,8 @@ class LoggerLog4j {
class LoggerLog4jWithImport {
@java.lang.SuppressWarnings("all")
private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger(LoggerLog4jWithImport.class);
+}
+class LoggerLog4jWithDifferentName {
+ @java.lang.SuppressWarnings("all")
+ private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger("DifferentName");
}
\ No newline at end of file
diff --git a/test/transform/resource/after-ecj/LoggerLog4j.java b/test/transform/resource/after-ecj/LoggerLog4j.java
index 6814be7b..a6c52d61 100644
--- a/test/transform/resource/after-ecj/LoggerLog4j.java
+++ b/test/transform/resource/after-ecj/LoggerLog4j.java
@@ -14,4 +14,12 @@ import lombok.extern.log4j.Log4j;
LoggerLog4jWithImport() {
super();
}
+}
+@Log4j("DifferentName") class LoggerLog4jWithDifferentName {
+ private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger("DifferentName");
+ () {
+ }
+ LoggerLog4jWithDifferentName() {
+ super();
+ }
}
\ No newline at end of file
diff --git a/test/transform/resource/before/LoggerLog4j.java b/test/transform/resource/before/LoggerLog4j.java
index 03735bff..fa7dad4a 100644
--- a/test/transform/resource/before/LoggerLog4j.java
+++ b/test/transform/resource/before/LoggerLog4j.java
@@ -6,4 +6,8 @@ class LoggerLog4j {
@Log4j
class LoggerLog4jWithImport {
+}
+
+@Log4j("DifferentName")
+class LoggerLog4jWithDifferentName {
}
\ No newline at end of file
--
cgit
From 1045006fa9d19c6daf51b2c200176ba789c2372f Mon Sep 17 00:00:00 2001
From: Maarten Mulders
Date: Sat, 8 Feb 2014 20:24:23 +0100
Subject: Handler and testcases for @Log4j2
---
src/core/lombok/eclipse/handlers/HandleLog.java | 2 +-
src/core/lombok/extern/log4j/Log4j2.java | 4 ++++
src/core/lombok/javac/handlers/HandleLog.java | 2 +-
test/transform/resource/after-delombok/LoggerLog4j2.java | 4 ++++
test/transform/resource/after-ecj/LoggerLog4j2.java | 8 ++++++++
test/transform/resource/before/LoggerLog4j2.java | 4 ++++
6 files changed, 22 insertions(+), 2 deletions(-)
(limited to 'test/transform')
diff --git a/src/core/lombok/eclipse/handlers/HandleLog.java b/src/core/lombok/eclipse/handlers/HandleLog.java
index 1cd933e3..583aa0af 100644
--- a/src/core/lombok/eclipse/handlers/HandleLog.java
+++ b/src/core/lombok/eclipse/handlers/HandleLog.java
@@ -191,7 +191,7 @@ public class HandleLog {
@ProviderFor(EclipseAnnotationHandler.class)
public static class HandleLog4j2Log extends EclipseAnnotationHandler {
@Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) {
- processAnnotation(LoggingFramework.LOG4J2, annotation, source, annotationNode, "");
+ processAnnotation(LoggingFramework.LOG4J2, annotation, source, annotationNode, annotation.getInstance().value());
}
}
diff --git a/src/core/lombok/extern/log4j/Log4j2.java b/src/core/lombok/extern/log4j/Log4j2.java
index 2a0f09e1..96fab793 100644
--- a/src/core/lombok/extern/log4j/Log4j2.java
+++ b/src/core/lombok/extern/log4j/Log4j2.java
@@ -59,4 +59,8 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface Log4j2 {
+ /**
+ * Sets the category of the constructed Logger. By default, it will use the type where the annotation is placed.
+ */
+ String value() default "";
}
\ No newline at end of file
diff --git a/src/core/lombok/javac/handlers/HandleLog.java b/src/core/lombok/javac/handlers/HandleLog.java
index b01dd564..a5d12964 100644
--- a/src/core/lombok/javac/handlers/HandleLog.java
+++ b/src/core/lombok/javac/handlers/HandleLog.java
@@ -141,7 +141,7 @@ public class HandleLog {
@ProviderFor(JavacAnnotationHandler.class)
public static class HandleLog4j2Log extends JavacAnnotationHandler {
@Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) {
- processAnnotation(LoggingFramework.LOG4J2, annotation, annotationNode, "");
+ processAnnotation(LoggingFramework.LOG4J2, annotation, annotationNode, annotation.getInstance().value());
}
}
diff --git a/test/transform/resource/after-delombok/LoggerLog4j2.java b/test/transform/resource/after-delombok/LoggerLog4j2.java
index 7e4c01de..8473134b 100644
--- a/test/transform/resource/after-delombok/LoggerLog4j2.java
+++ b/test/transform/resource/after-delombok/LoggerLog4j2.java
@@ -5,4 +5,8 @@ class LoggerLog4j2 {
class LoggerLog4j2WithImport {
@java.lang.SuppressWarnings("all")
private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger(LoggerLog4j2WithImport.class);
+}
+class LoggerLog4j2WithDifferentName {
+ @java.lang.SuppressWarnings("all")
+ private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger("DifferentName");
}
\ No newline at end of file
diff --git a/test/transform/resource/after-ecj/LoggerLog4j2.java b/test/transform/resource/after-ecj/LoggerLog4j2.java
index c1368e5d..3243ef2d 100644
--- a/test/transform/resource/after-ecj/LoggerLog4j2.java
+++ b/test/transform/resource/after-ecj/LoggerLog4j2.java
@@ -14,4 +14,12 @@ import lombok.extern.log4j.Log4j2;
LoggerLog4j2WithImport() {
super();
}
+}
+@Log4j2("DifferentName") class LoggerLog4j2WithDifferentName {
+ private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger("DifferentName");
+ () {
+ }
+ LoggerLog4j2WithDifferentName() {
+ super();
+ }
}
\ No newline at end of file
diff --git a/test/transform/resource/before/LoggerLog4j2.java b/test/transform/resource/before/LoggerLog4j2.java
index b7ea99ee..13b3605f 100644
--- a/test/transform/resource/before/LoggerLog4j2.java
+++ b/test/transform/resource/before/LoggerLog4j2.java
@@ -6,4 +6,8 @@ class LoggerLog4j2 {
@Log4j2
class LoggerLog4j2WithImport {
+}
+
+@Log4j2("DifferentName")
+class LoggerLog4j2WithDifferentName {
}
\ No newline at end of file
--
cgit
From c0e00edb7bf369470c55d59307bbf80cc3abb9d9 Mon Sep 17 00:00:00 2001
From: Maarten Mulders
Date: Sat, 8 Feb 2014 20:35:56 +0100
Subject: Handler and testcases for @XSlf4j
---
src/core/lombok/eclipse/handlers/HandleLog.java | 2 +-
src/core/lombok/extern/slf4j/XSlf4j.java | 4 ++++
src/core/lombok/javac/handlers/HandleLog.java | 2 +-
test/transform/resource/after-delombok/LoggerXSlf4j.java | 4 ++++
test/transform/resource/after-ecj/LoggerXSlf4j.java | 8 ++++++++
test/transform/resource/before/LoggerXSlf4j.java | 4 ++++
6 files changed, 22 insertions(+), 2 deletions(-)
(limited to 'test/transform')
diff --git a/src/core/lombok/eclipse/handlers/HandleLog.java b/src/core/lombok/eclipse/handlers/HandleLog.java
index 583aa0af..56160b39 100644
--- a/src/core/lombok/eclipse/handlers/HandleLog.java
+++ b/src/core/lombok/eclipse/handlers/HandleLog.java
@@ -211,7 +211,7 @@ public class HandleLog {
@ProviderFor(EclipseAnnotationHandler.class)
public static class HandleXSlf4jLog extends EclipseAnnotationHandler {
@Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) {
- processAnnotation(LoggingFramework.XSLF4J, annotation, source, annotationNode, "");
+ processAnnotation(LoggingFramework.XSLF4J, annotation, source, annotationNode, annotation.getInstance().value());
}
}
diff --git a/src/core/lombok/extern/slf4j/XSlf4j.java b/src/core/lombok/extern/slf4j/XSlf4j.java
index 599c68ab..306057f0 100644
--- a/src/core/lombok/extern/slf4j/XSlf4j.java
+++ b/src/core/lombok/extern/slf4j/XSlf4j.java
@@ -57,4 +57,8 @@ import java.lang.annotation.Target;
@Retention(RetentionPolicy.SOURCE)
@Target(ElementType.TYPE)
public @interface XSlf4j {
+ /**
+ * Sets the category of the constructed Logger. By default, it will use the type where the annotation is placed.
+ */
+ String value() default "";
}
diff --git a/src/core/lombok/javac/handlers/HandleLog.java b/src/core/lombok/javac/handlers/HandleLog.java
index a5d12964..12b0cb5c 100644
--- a/src/core/lombok/javac/handlers/HandleLog.java
+++ b/src/core/lombok/javac/handlers/HandleLog.java
@@ -161,7 +161,7 @@ public class HandleLog {
@ProviderFor(JavacAnnotationHandler.class)
public static class HandleXSlf4jLog extends JavacAnnotationHandler {
@Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) {
- processAnnotation(LoggingFramework.XSLF4J, annotation, annotationNode, "");
+ processAnnotation(LoggingFramework.XSLF4J, annotation, annotationNode, annotation.getInstance().value());
}
}
diff --git a/test/transform/resource/after-delombok/LoggerXSlf4j.java b/test/transform/resource/after-delombok/LoggerXSlf4j.java
index 981bcca6..d0654b51 100644
--- a/test/transform/resource/after-delombok/LoggerXSlf4j.java
+++ b/test/transform/resource/after-delombok/LoggerXSlf4j.java
@@ -5,4 +5,8 @@ class LoggerXSlf4j {
class LoggerXSlf4jWithImport {
@java.lang.SuppressWarnings("all")
private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LoggerXSlf4jWithImport.class);
+}
+class LoggerXSlf4jWithDifferentName {
+ @java.lang.SuppressWarnings("all")
+ private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger("DifferentName");
}
\ No newline at end of file
diff --git a/test/transform/resource/after-ecj/LoggerXSlf4j.java b/test/transform/resource/after-ecj/LoggerXSlf4j.java
index f05e1ae7..4cd4cb94 100644
--- a/test/transform/resource/after-ecj/LoggerXSlf4j.java
+++ b/test/transform/resource/after-ecj/LoggerXSlf4j.java
@@ -14,4 +14,12 @@ import lombok.extern.slf4j.XSlf4j;
LoggerXSlf4jWithImport() {
super();
}
+}
+@XSlf4j("DifferentName") class LoggerXSlf4jWithDifferentName {
+ private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger("DifferentName");
+ () {
+ }
+ LoggerXSlf4jWithDifferentName() {
+ super();
+ }
}
\ No newline at end of file
diff --git a/test/transform/resource/before/LoggerXSlf4j.java b/test/transform/resource/before/LoggerXSlf4j.java
index 6dbbf2d1..408bd134 100644
--- a/test/transform/resource/before/LoggerXSlf4j.java
+++ b/test/transform/resource/before/LoggerXSlf4j.java
@@ -6,4 +6,8 @@ class LoggerXSlf4j {
@XSlf4j
class LoggerXSlf4jWithImport {
+}
+
+@XSlf4j("DifferentName")
+class LoggerXSlf4jWithDifferentName {
}
\ No newline at end of file
--
cgit
From d78135180c8f9e9f4c6c361679759d3eacb63be3 Mon Sep 17 00:00:00 2001
From: Reinier Zwitserloot
Date: Mon, 10 Feb 2014 21:56:35 +0100
Subject: [deps] Updated eclipse deps to 3.9 tree. This also enables testing
java7 features on ecj. [Log] updated naming for @Log (topic= instead of
mchmulder's 'value').
---
AUTHORS | 2 +-
.../ivy-repo/org.eclipse.custom-core.runtime-3.9.0.xml | 14 ++++++++++++++
buildScripts/ivy-repo/org.eclipse.custom-ecj-4.3.1.xml | 14 ++++++++++++++
.../org.eclipse.custom-equinox.common-3.6.200.xml | 14 ++++++++++++++
.../ivy-repo/org.eclipse.custom-jdt.core-3.9.1.xml | 14 ++++++++++++++
.../ivy-repo/org.eclipse.custom-jdt.ui-3.9.1.xml | 14 ++++++++++++++
.../ivy-repo/org.eclipse.custom-osgi-3.9.0.xml | 14 ++++++++++++++
buildScripts/ivy.xml | 12 ++++++------
src/core/lombok/eclipse/handlers/HandleLog.java | 12 ++++++------
src/core/lombok/extern/apachecommons/CommonsLog.java | 2 +-
src/core/lombok/extern/java/Log.java | 2 +-
src/core/lombok/extern/log4j/Log4j.java | 2 +-
src/core/lombok/extern/log4j/Log4j2.java | 2 +-
src/core/lombok/extern/slf4j/Slf4j.java | 2 +-
src/core/lombok/extern/slf4j/XSlf4j.java | 2 +-
src/core/lombok/javac/handlers/HandleLog.java | 14 ++++++--------
test/core/src/lombok/AbstractRunTests.java | 13 +++++++++++--
test/core/src/lombok/RunTestsViaEcj.java | 3 ++-
test/transform/resource/after-ecj/LoggerCommons.java | 2 +-
test/transform/resource/after-ecj/LoggerJul.java | 2 +-
test/transform/resource/after-ecj/LoggerLog4j.java | 2 +-
test/transform/resource/after-ecj/LoggerLog4j2.java | 2 +-
test/transform/resource/after-ecj/LoggerSlf4j.java | 2 +-
test/transform/resource/after-ecj/LoggerXSlf4j.java | 2 +-
.../resource/after-ecj/NonNullWithSneakyThrows.java | 3 ++-
.../resource/after-ecj/SneakyThrowsMultiple.java | 18 ++++++++++++------
.../resource/after-ecj/SneakyThrowsPlain.java | 12 ++++++++----
.../resource/after-ecj/SneakyThrowsSingle.java | 9 ++++++---
test/transform/resource/after-ecj/ValComplex.java | 2 +-
.../resource/after-ecj/ValInTryWithResources.java | 14 ++++++++++++++
test/transform/resource/after-ecj/ValLessSimple.java | 3 ++-
test/transform/resource/before/LoggerCommons.java | 2 +-
test/transform/resource/before/LoggerJul.java | 2 +-
test/transform/resource/before/LoggerLog4j.java | 2 +-
test/transform/resource/before/LoggerLog4j2.java | 2 +-
test/transform/resource/before/LoggerSlf4j.java | 2 +-
test/transform/resource/before/LoggerXSlf4j.java | 2 +-
usage_examples/LogExample_pre.jpage | 2 +-
website/features/Log.html | 7 ++-----
39 files changed, 182 insertions(+), 64 deletions(-)
create mode 100644 buildScripts/ivy-repo/org.eclipse.custom-core.runtime-3.9.0.xml
create mode 100644 buildScripts/ivy-repo/org.eclipse.custom-ecj-4.3.1.xml
create mode 100644 buildScripts/ivy-repo/org.eclipse.custom-equinox.common-3.6.200.xml
create mode 100644 buildScripts/ivy-repo/org.eclipse.custom-jdt.core-3.9.1.xml
create mode 100644 buildScripts/ivy-repo/org.eclipse.custom-jdt.ui-3.9.1.xml
create mode 100644 buildScripts/ivy-repo/org.eclipse.custom-osgi-3.9.0.xml
create mode 100644 test/transform/resource/after-ecj/ValInTryWithResources.java
(limited to 'test/transform')
diff --git a/AUTHORS b/AUTHORS
index 32369734..f79ca61e 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,12 +1,12 @@
Lombok contributors in alphabetical order:
Jappe van der Hel
+Maarten Mulders
Philipp Eichhorn
Reinier Zwitserloot
Robbert Jan Grootjans
Roel Spilker
Sander Koning
Taiki Sugawara
-Maarten Mulders
By adding your name to this list, you grant full and irrevocable copyright and patent indemnity to Project Lombok and all use of Project Lombok, and you certify that you have the right to do so for all commits you add to Project Lombok.
diff --git a/buildScripts/ivy-repo/org.eclipse.custom-core.runtime-3.9.0.xml b/buildScripts/ivy-repo/org.eclipse.custom-core.runtime-3.9.0.xml
new file mode 100644
index 00000000..45d6a9c3
--- /dev/null
+++ b/buildScripts/ivy-repo/org.eclipse.custom-core.runtime-3.9.0.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/buildScripts/ivy-repo/org.eclipse.custom-ecj-4.3.1.xml b/buildScripts/ivy-repo/org.eclipse.custom-ecj-4.3.1.xml
new file mode 100644
index 00000000..4ebfc8a4
--- /dev/null
+++ b/buildScripts/ivy-repo/org.eclipse.custom-ecj-4.3.1.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/buildScripts/ivy-repo/org.eclipse.custom-equinox.common-3.6.200.xml b/buildScripts/ivy-repo/org.eclipse.custom-equinox.common-3.6.200.xml
new file mode 100644
index 00000000..74f7a705
--- /dev/null
+++ b/buildScripts/ivy-repo/org.eclipse.custom-equinox.common-3.6.200.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/buildScripts/ivy-repo/org.eclipse.custom-jdt.core-3.9.1.xml b/buildScripts/ivy-repo/org.eclipse.custom-jdt.core-3.9.1.xml
new file mode 100644
index 00000000..0e7c5363
--- /dev/null
+++ b/buildScripts/ivy-repo/org.eclipse.custom-jdt.core-3.9.1.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/buildScripts/ivy-repo/org.eclipse.custom-jdt.ui-3.9.1.xml b/buildScripts/ivy-repo/org.eclipse.custom-jdt.ui-3.9.1.xml
new file mode 100644
index 00000000..0577ee8a
--- /dev/null
+++ b/buildScripts/ivy-repo/org.eclipse.custom-jdt.ui-3.9.1.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/buildScripts/ivy-repo/org.eclipse.custom-osgi-3.9.0.xml b/buildScripts/ivy-repo/org.eclipse.custom-osgi-3.9.0.xml
new file mode 100644
index 00000000..247d76de
--- /dev/null
+++ b/buildScripts/ivy-repo/org.eclipse.custom-osgi-3.9.0.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/buildScripts/ivy.xml b/buildScripts/ivy.xml
index bcf5ecd1..eed69ac3 100644
--- a/buildScripts/ivy.xml
+++ b/buildScripts/ivy.xml
@@ -35,17 +35,17 @@
-
+
-
-
-
-
-
+
+
+
+
+
diff --git a/src/core/lombok/eclipse/handlers/HandleLog.java b/src/core/lombok/eclipse/handlers/HandleLog.java
index 56160b39..cf1e8018 100644
--- a/src/core/lombok/eclipse/handlers/HandleLog.java
+++ b/src/core/lombok/eclipse/handlers/HandleLog.java
@@ -161,7 +161,7 @@ public class HandleLog {
@ProviderFor(EclipseAnnotationHandler.class)
public static class HandleCommonsLog extends EclipseAnnotationHandler {
@Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) {
- processAnnotation(LoggingFramework.COMMONS, annotation, source, annotationNode, annotation.getInstance().value());
+ processAnnotation(LoggingFramework.COMMONS, annotation, source, annotationNode, annotation.getInstance().topic());
}
}
@@ -171,7 +171,7 @@ public class HandleLog {
@ProviderFor(EclipseAnnotationHandler.class)
public static class HandleJulLog extends EclipseAnnotationHandler {
@Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) {
- processAnnotation(LoggingFramework.JUL, annotation, source, annotationNode, annotation.getInstance().value());
+ processAnnotation(LoggingFramework.JUL, annotation, source, annotationNode, annotation.getInstance().topic());
}
}
@@ -181,7 +181,7 @@ public class HandleLog {
@ProviderFor(EclipseAnnotationHandler.class)
public static class HandleLog4jLog extends EclipseAnnotationHandler {
@Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) {
- processAnnotation(LoggingFramework.LOG4J, annotation, source, annotationNode, annotation.getInstance().value());
+ processAnnotation(LoggingFramework.LOG4J, annotation, source, annotationNode, annotation.getInstance().topic());
}
}
@@ -191,7 +191,7 @@ public class HandleLog {
@ProviderFor(EclipseAnnotationHandler.class)
public static class HandleLog4j2Log extends EclipseAnnotationHandler {
@Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) {
- processAnnotation(LoggingFramework.LOG4J2, annotation, source, annotationNode, annotation.getInstance().value());
+ processAnnotation(LoggingFramework.LOG4J2, annotation, source, annotationNode, annotation.getInstance().topic());
}
}
@@ -201,7 +201,7 @@ public class HandleLog {
@ProviderFor(EclipseAnnotationHandler.class)
public static class HandleSlf4jLog extends EclipseAnnotationHandler {
@Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) {
- processAnnotation(LoggingFramework.SLF4J, annotation, source, annotationNode, annotation.getInstance().value());
+ processAnnotation(LoggingFramework.SLF4J, annotation, source, annotationNode, annotation.getInstance().topic());
}
}
@@ -211,7 +211,7 @@ public class HandleLog {
@ProviderFor(EclipseAnnotationHandler.class)
public static class HandleXSlf4jLog extends EclipseAnnotationHandler {
@Override public void handle(AnnotationValues annotation, Annotation source, EclipseNode annotationNode) {
- processAnnotation(LoggingFramework.XSLF4J, annotation, source, annotationNode, annotation.getInstance().value());
+ processAnnotation(LoggingFramework.XSLF4J, annotation, source, annotationNode, annotation.getInstance().topic());
}
}
diff --git a/src/core/lombok/extern/apachecommons/CommonsLog.java b/src/core/lombok/extern/apachecommons/CommonsLog.java
index 34ac0fe6..2e31edf7 100644
--- a/src/core/lombok/extern/apachecommons/CommonsLog.java
+++ b/src/core/lombok/extern/apachecommons/CommonsLog.java
@@ -62,5 +62,5 @@ public @interface CommonsLog {
/**
* Sets the category of the constructed Logger. By default, it will use the type where the annotation is placed.
*/
- String value() default "";
+ String topic() default "";
}
\ No newline at end of file
diff --git a/src/core/lombok/extern/java/Log.java b/src/core/lombok/extern/java/Log.java
index dfa2e2aa..f8cbf03f 100644
--- a/src/core/lombok/extern/java/Log.java
+++ b/src/core/lombok/extern/java/Log.java
@@ -61,5 +61,5 @@ public @interface Log {
/**
* Sets the category of the constructed Logger. By default, it will use the type where the annotation is placed.
*/
- String value() default "";
+ String topic() default "";
}
\ No newline at end of file
diff --git a/src/core/lombok/extern/log4j/Log4j.java b/src/core/lombok/extern/log4j/Log4j.java
index 0fe74599..d3164047 100644
--- a/src/core/lombok/extern/log4j/Log4j.java
+++ b/src/core/lombok/extern/log4j/Log4j.java
@@ -62,5 +62,5 @@ public @interface Log4j {
/**
* Sets the category of the constructed Logger. By default, it will use the type where the annotation is placed.
*/
- String value() default "";
+ String topic() default "";
}
\ No newline at end of file
diff --git a/src/core/lombok/extern/log4j/Log4j2.java b/src/core/lombok/extern/log4j/Log4j2.java
index 96fab793..0267d98c 100644
--- a/src/core/lombok/extern/log4j/Log4j2.java
+++ b/src/core/lombok/extern/log4j/Log4j2.java
@@ -62,5 +62,5 @@ public @interface Log4j2 {
/**
* Sets the category of the constructed Logger. By default, it will use the type where the annotation is placed.
*/
- String value() default "";
+ String topic() default "";
}
\ No newline at end of file
diff --git a/src/core/lombok/extern/slf4j/Slf4j.java b/src/core/lombok/extern/slf4j/Slf4j.java
index c4495990..5d6e7d8c 100644
--- a/src/core/lombok/extern/slf4j/Slf4j.java
+++ b/src/core/lombok/extern/slf4j/Slf4j.java
@@ -60,5 +60,5 @@ public @interface Slf4j {
/**
* Sets the category of the constructed Logger. By default, it will use the type where the annotation is placed.
*/
- String value() default "";
+ String topic() default "";
}
diff --git a/src/core/lombok/extern/slf4j/XSlf4j.java b/src/core/lombok/extern/slf4j/XSlf4j.java
index 306057f0..0f2efe26 100644
--- a/src/core/lombok/extern/slf4j/XSlf4j.java
+++ b/src/core/lombok/extern/slf4j/XSlf4j.java
@@ -60,5 +60,5 @@ public @interface XSlf4j {
/**
* Sets the category of the constructed Logger. By default, it will use the type where the annotation is placed.
*/
- String value() default "";
+ String topic() default "";
}
diff --git a/src/core/lombok/javac/handlers/HandleLog.java b/src/core/lombok/javac/handlers/HandleLog.java
index 12b0cb5c..36f3bbb5 100644
--- a/src/core/lombok/javac/handlers/HandleLog.java
+++ b/src/core/lombok/javac/handlers/HandleLog.java
@@ -25,9 +25,7 @@ import static lombok.javac.handlers.JavacHandlerUtil.*;
import java.lang.annotation.Annotation;
-import lombok.NoArgsConstructor;
import lombok.core.AnnotationValues;
-import lombok.extern.slf4j.Slf4j;
import lombok.javac.JavacAnnotationHandler;
import lombok.javac.JavacNode;
import lombok.javac.JavacTreeMaker;
@@ -111,7 +109,7 @@ public class HandleLog {
@ProviderFor(JavacAnnotationHandler.class)
public static class HandleCommonsLog extends JavacAnnotationHandler {
@Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) {
- processAnnotation(LoggingFramework.COMMONS, annotation, annotationNode, annotation.getInstance().value());
+ processAnnotation(LoggingFramework.COMMONS, annotation, annotationNode, annotation.getInstance().topic());
}
}
@@ -121,7 +119,7 @@ public class HandleLog {
@ProviderFor(JavacAnnotationHandler.class)
public static class HandleJulLog extends JavacAnnotationHandler {
@Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) {
- processAnnotation(LoggingFramework.JUL, annotation, annotationNode, annotation.getInstance().value());
+ processAnnotation(LoggingFramework.JUL, annotation, annotationNode, annotation.getInstance().topic());
}
}
@@ -131,7 +129,7 @@ public class HandleLog {
@ProviderFor(JavacAnnotationHandler.class)
public static class HandleLog4jLog extends JavacAnnotationHandler {
@Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) {
- processAnnotation(LoggingFramework.LOG4J, annotation, annotationNode, annotation.getInstance().value());
+ processAnnotation(LoggingFramework.LOG4J, annotation, annotationNode, annotation.getInstance().topic());
}
}
@@ -141,7 +139,7 @@ public class HandleLog {
@ProviderFor(JavacAnnotationHandler.class)
public static class HandleLog4j2Log extends JavacAnnotationHandler {
@Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) {
- processAnnotation(LoggingFramework.LOG4J2, annotation, annotationNode, annotation.getInstance().value());
+ processAnnotation(LoggingFramework.LOG4J2, annotation, annotationNode, annotation.getInstance().topic());
}
}
@@ -151,7 +149,7 @@ public class HandleLog {
@ProviderFor(JavacAnnotationHandler.class)
public static class HandleSlf4jLog extends JavacAnnotationHandler {
@Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) {
- processAnnotation(LoggingFramework.SLF4J, annotation, annotationNode, annotation.getInstance().value());
+ processAnnotation(LoggingFramework.SLF4J, annotation, annotationNode, annotation.getInstance().topic());
}
}
@@ -161,7 +159,7 @@ public class HandleLog {
@ProviderFor(JavacAnnotationHandler.class)
public static class HandleXSlf4jLog extends JavacAnnotationHandler {
@Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) {
- processAnnotation(LoggingFramework.XSLF4J, annotation, annotationNode, annotation.getInstance().value());
+ processAnnotation(LoggingFramework.XSLF4J, annotation, annotationNode, annotation.getInstance().topic());
}
}
diff --git a/test/core/src/lombok/AbstractRunTests.java b/test/core/src/lombok/AbstractRunTests.java
index 2f3f0988..e84aec0d 100644
--- a/test/core/src/lombok/AbstractRunTests.java
+++ b/test/core/src/lombok/AbstractRunTests.java
@@ -225,8 +225,8 @@ public abstract class AbstractRunTests {
actualLines = removeBlanks(actualLines);
int size = Math.min(expectedLines.length, actualLines.length);
for (int i = 0; i < size; i++) {
- String expected = expectedLines[i];
- String actual = actualLines[i];
+ String expected = trimRight(expectedLines[i]);
+ String actual = trimRight(actualLines[i]);
assertEquals(String.format("Difference in %s on line %d", name, i + 1), expected, actual);
}
if (expectedLines.length > actualLines.length) {
@@ -237,6 +237,15 @@ public abstract class AbstractRunTests {
}
}
+ private static String trimRight(String in) {
+ int endIdx = in.length() - 1;
+ while (endIdx > -1 && Character.isWhitespace(in.charAt(endIdx))) {
+ endIdx--;
+ }
+
+ return in.substring(0, endIdx);
+ }
+
private static String[] removeBlanks(String[] in) {
List out = new ArrayList();
for (String s : in) {
diff --git a/test/core/src/lombok/RunTestsViaEcj.java b/test/core/src/lombok/RunTestsViaEcj.java
index 586c124a..4f3e2794 100644
--- a/test/core/src/lombok/RunTestsViaEcj.java
+++ b/test/core/src/lombok/RunTestsViaEcj.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010-2013 The Project Lombok Authors.
+ * Copyright (C) 2010-2014 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
@@ -70,6 +70,7 @@ public class RunTestsViaEcj extends AbstractRunTests {
warnings.put(CompilerOptions.OPTION_ReportUnusedLabel, "ignore");
warnings.put(CompilerOptions.OPTION_ReportUnusedImport, "ignore");
warnings.put(CompilerOptions.OPTION_ReportUnusedPrivateMember, "ignore");
+ warnings.put(CompilerOptions.OPTION_Source, CompilerOptions.VERSION_1_7);
options.set(warnings);
return options;
}
diff --git a/test/transform/resource/after-ecj/LoggerCommons.java b/test/transform/resource/after-ecj/LoggerCommons.java
index 50d07a14..df102a12 100644
--- a/test/transform/resource/after-ecj/LoggerCommons.java
+++ b/test/transform/resource/after-ecj/LoggerCommons.java
@@ -15,7 +15,7 @@ import lombok.extern.apachecommons.CommonsLog;
super();
}
}
-@CommonsLog("DifferentName") class LoggerCommonsWithDifferentName {
+@CommonsLog(topic = "DifferentName") class LoggerCommonsWithDifferentName {
private static final org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog("DifferentName");
() {
}
diff --git a/test/transform/resource/after-ecj/LoggerJul.java b/test/transform/resource/after-ecj/LoggerJul.java
index 3aa8181d..8aa4f59a 100644
--- a/test/transform/resource/after-ecj/LoggerJul.java
+++ b/test/transform/resource/after-ecj/LoggerJul.java
@@ -15,7 +15,7 @@ import lombok.extern.java.Log;
super();
}
}
-@Log("DifferentName") class LoggerJulWithDifferentName {
+@Log(topic = "DifferentName") class LoggerJulWithDifferentName {
private static final java.util.logging.Logger log = java.util.logging.Logger.getLogger("DifferentName");
() {
}
diff --git a/test/transform/resource/after-ecj/LoggerLog4j.java b/test/transform/resource/after-ecj/LoggerLog4j.java
index a6c52d61..948412e2 100644
--- a/test/transform/resource/after-ecj/LoggerLog4j.java
+++ b/test/transform/resource/after-ecj/LoggerLog4j.java
@@ -15,7 +15,7 @@ import lombok.extern.log4j.Log4j;
super();
}
}
-@Log4j("DifferentName") class LoggerLog4jWithDifferentName {
+@Log4j(topic = "DifferentName") class LoggerLog4jWithDifferentName {
private static final org.apache.log4j.Logger log = org.apache.log4j.Logger.getLogger("DifferentName");
() {
}
diff --git a/test/transform/resource/after-ecj/LoggerLog4j2.java b/test/transform/resource/after-ecj/LoggerLog4j2.java
index 3243ef2d..c2fcd428 100644
--- a/test/transform/resource/after-ecj/LoggerLog4j2.java
+++ b/test/transform/resource/after-ecj/LoggerLog4j2.java
@@ -15,7 +15,7 @@ import lombok.extern.log4j.Log4j2;
super();
}
}
-@Log4j2("DifferentName") class LoggerLog4j2WithDifferentName {
+@Log4j2(topic = "DifferentName") class LoggerLog4j2WithDifferentName {
private static final org.apache.logging.log4j.Logger log = org.apache.logging.log4j.LogManager.getLogger("DifferentName");
() {
}
diff --git a/test/transform/resource/after-ecj/LoggerSlf4j.java b/test/transform/resource/after-ecj/LoggerSlf4j.java
index a34f85d7..9c5405cb 100644
--- a/test/transform/resource/after-ecj/LoggerSlf4j.java
+++ b/test/transform/resource/after-ecj/LoggerSlf4j.java
@@ -29,7 +29,7 @@ class LoggerSlf4jOuter {
}
}
-@Slf4j("DifferentLogger") class LoggerSlf4jWithDifferentLoggerName {
+@Slf4j(topic = "DifferentLogger") class LoggerSlf4jWithDifferentLoggerName {
private static final org.slf4j.Logger log = org.slf4j.LoggerFactory.getLogger("DifferentLogger");
() {
}
diff --git a/test/transform/resource/after-ecj/LoggerXSlf4j.java b/test/transform/resource/after-ecj/LoggerXSlf4j.java
index 4cd4cb94..916859a4 100644
--- a/test/transform/resource/after-ecj/LoggerXSlf4j.java
+++ b/test/transform/resource/after-ecj/LoggerXSlf4j.java
@@ -15,7 +15,7 @@ import lombok.extern.slf4j.XSlf4j;
super();
}
}
-@XSlf4j("DifferentName") class LoggerXSlf4jWithDifferentName {
+@XSlf4j(topic = "DifferentName") class LoggerXSlf4jWithDifferentName {
private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger("DifferentName");
() {
}
diff --git a/test/transform/resource/after-ecj/NonNullWithSneakyThrows.java b/test/transform/resource/after-ecj/NonNullWithSneakyThrows.java
index fac8dcdd..1a57be29 100644
--- a/test/transform/resource/after-ecj/NonNullWithSneakyThrows.java
+++ b/test/transform/resource/after-ecj/NonNullWithSneakyThrows.java
@@ -11,7 +11,8 @@ class NonNullWithSneakyThrows {
}
System.out.println(in);
}
- catch (final java.lang.Throwable $ex) {
+ catch (final java.lang.Throwable $ex)
+ {
throw lombok.Lombok.sneakyThrow($ex);
}
}
diff --git a/test/transform/resource/after-ecj/SneakyThrowsMultiple.java b/test/transform/resource/after-ecj/SneakyThrowsMultiple.java
index 82eda411..65862c2b 100644
--- a/test/transform/resource/after-ecj/SneakyThrowsMultiple.java
+++ b/test/transform/resource/after-ecj/SneakyThrowsMultiple.java
@@ -13,11 +13,13 @@ class SneakyThrowsMultiple {
System.out.println("test1");
throw new IOException();
}
- catch (final IOException $ex) {
+ catch (final IOException $ex)
+ {
throw lombok.Lombok.sneakyThrow($ex);
}
}
- catch (final Throwable $ex) {
+ catch (final Throwable $ex)
+ {
throw lombok.Lombok.sneakyThrow($ex);
}
}
@@ -36,11 +38,13 @@ class SneakyThrowsMultiple {
throw new AWTException("WHAT");
}
}
- catch (final AWTException $ex) {
+ catch (final AWTException $ex)
+ {
throw lombok.Lombok.sneakyThrow($ex);
}
}
- catch (final IOException $ex) {
+ catch (final IOException $ex)
+ {
throw lombok.Lombok.sneakyThrow($ex);
}
}
@@ -52,11 +56,13 @@ class SneakyThrowsMultiple {
System.out.println("test3");
throw new IOException();
}
- catch (final IOException $ex) {
+ catch (final IOException $ex)
+ {
throw lombok.Lombok.sneakyThrow($ex);
}
}
- catch (final Throwable $ex) {
+ catch (final Throwable $ex)
+ {
throw lombok.Lombok.sneakyThrow($ex);
}
}
diff --git a/test/transform/resource/after-ecj/SneakyThrowsPlain.java b/test/transform/resource/after-ecj/SneakyThrowsPlain.java
index 1b45dc5a..df436891 100644
--- a/test/transform/resource/after-ecj/SneakyThrowsPlain.java
+++ b/test/transform/resource/after-ecj/SneakyThrowsPlain.java
@@ -6,7 +6,8 @@ class SneakyThrowsPlain {
{
System.out.println("constructor");
}
- catch (final java.lang.Throwable $ex) {
+ catch (final java.lang.Throwable $ex)
+ {
throw lombok.Lombok.sneakyThrow($ex);
}
}
@@ -16,7 +17,8 @@ class SneakyThrowsPlain {
{
System.out.println("constructor2");
}
- catch (final java.lang.Throwable $ex) {
+ catch (final java.lang.Throwable $ex)
+ {
throw lombok.Lombok.sneakyThrow($ex);
}
}
@@ -25,7 +27,8 @@ class SneakyThrowsPlain {
{
System.out.println("test1");
}
- catch (final java.lang.Throwable $ex) {
+ catch (final java.lang.Throwable $ex)
+ {
throw lombok.Lombok.sneakyThrow($ex);
}
}
@@ -34,7 +37,8 @@ class SneakyThrowsPlain {
{
System.out.println("test2");
}
- catch (final java.lang.Throwable $ex) {
+ catch (final java.lang.Throwable $ex)
+ {
throw lombok.Lombok.sneakyThrow($ex);
}
}
diff --git a/test/transform/resource/after-ecj/SneakyThrowsSingle.java b/test/transform/resource/after-ecj/SneakyThrowsSingle.java
index eea593f2..073d690a 100644
--- a/test/transform/resource/after-ecj/SneakyThrowsSingle.java
+++ b/test/transform/resource/after-ecj/SneakyThrowsSingle.java
@@ -8,7 +8,8 @@ class SneakyThrowsSingle {
{
System.out.println("test1");
}
- catch (final Throwable $ex) {
+ catch (final Throwable $ex)
+ {
throw lombok.Lombok.sneakyThrow($ex);
}
}
@@ -18,7 +19,8 @@ class SneakyThrowsSingle {
System.out.println("test2");
throw new IOException();
}
- catch (final IOException $ex) {
+ catch (final IOException $ex)
+ {
throw lombok.Lombok.sneakyThrow($ex);
}
}
@@ -28,7 +30,8 @@ class SneakyThrowsSingle {
System.out.println("test3");
throw new IOException();
}
- catch (final IOException $ex) {
+ catch (final IOException $ex)
+ {
throw lombok.Lombok.sneakyThrow($ex);
}
}
diff --git a/test/transform/resource/after-ecj/ValComplex.java b/test/transform/resource/after-ecj/ValComplex.java
index 6e435e56..746e3088 100644
--- a/test/transform/resource/after-ecj/ValComplex.java
+++ b/test/transform/resource/after-ecj/ValComplex.java
@@ -16,7 +16,7 @@ public class ValComplex {
final @val int field = 20;
final @val int inner = 10;
switch (field) {
- case 5 : ;
+ case 5 :
final @val char[] shouldBeCharArray2 = shouldBeCharArray;
final @val int innerInner = inner;
}
diff --git a/test/transform/resource/after-ecj/ValInTryWithResources.java b/test/transform/resource/after-ecj/ValInTryWithResources.java
new file mode 100644
index 00000000..a532d48c
--- /dev/null
+++ b/test/transform/resource/after-ecj/ValInTryWithResources.java
@@ -0,0 +1,14 @@
+import lombok.val;
+import java.io.IOException;
+public class ValInTryWithResources {
+ public ValInTryWithResources() {
+ super();
+ }
+ public void whyTryInsteadOfCleanup() throws IOException {
+ try (final @val java.io.InputStream in = getClass().getResourceAsStream("ValInTryWithResources.class"))
+ {
+ final @val java.io.InputStream i = in;
+ final @val int j = in.read();
+ }
+ }
+}
diff --git a/test/transform/resource/after-ecj/ValLessSimple.java b/test/transform/resource/after-ecj/ValLessSimple.java
index c7587f91..28772d68 100644
--- a/test/transform/resource/after-ecj/ValLessSimple.java
+++ b/test/transform/resource/after-ecj/ValLessSimple.java
@@ -32,7 +32,8 @@ public class ValLessSimple {
{
final @val int x = (1 / 0);
}
- catch (ArithmeticException e) {
+ catch (ArithmeticException e)
+ {
final @val int y = 0;
}
}
diff --git a/test/transform/resource/before/LoggerCommons.java b/test/transform/resource/before/LoggerCommons.java
index ce9e4ec4..00419d00 100644
--- a/test/transform/resource/before/LoggerCommons.java
+++ b/test/transform/resource/before/LoggerCommons.java
@@ -8,6 +8,6 @@ class LoggerCommons {
class LoggerCommonsWithImport {
}
-@CommonsLog("DifferentName")
+@CommonsLog(topic="DifferentName")
class LoggerCommonsWithDifferentName {
}
diff --git a/test/transform/resource/before/LoggerJul.java b/test/transform/resource/before/LoggerJul.java
index 41e36220..006cc344 100644
--- a/test/transform/resource/before/LoggerJul.java
+++ b/test/transform/resource/before/LoggerJul.java
@@ -8,6 +8,6 @@ class LoggerJul {
class LoggerJulWithImport {
}
-@Log("DifferentName")
+@Log(topic="DifferentName")
class LoggerJulWithDifferentName {
}
\ No newline at end of file
diff --git a/test/transform/resource/before/LoggerLog4j.java b/test/transform/resource/before/LoggerLog4j.java
index fa7dad4a..351049c5 100644
--- a/test/transform/resource/before/LoggerLog4j.java
+++ b/test/transform/resource/before/LoggerLog4j.java
@@ -8,6 +8,6 @@ class LoggerLog4j {
class LoggerLog4jWithImport {
}
-@Log4j("DifferentName")
+@Log4j(topic="DifferentName")
class LoggerLog4jWithDifferentName {
}
\ No newline at end of file
diff --git a/test/transform/resource/before/LoggerLog4j2.java b/test/transform/resource/before/LoggerLog4j2.java
index 13b3605f..c9cf9412 100644
--- a/test/transform/resource/before/LoggerLog4j2.java
+++ b/test/transform/resource/before/LoggerLog4j2.java
@@ -8,6 +8,6 @@ class LoggerLog4j2 {
class LoggerLog4j2WithImport {
}
-@Log4j2("DifferentName")
+@Log4j2(topic="DifferentName")
class LoggerLog4j2WithDifferentName {
}
\ No newline at end of file
diff --git a/test/transform/resource/before/LoggerSlf4j.java b/test/transform/resource/before/LoggerSlf4j.java
index b620e056..1113a63e 100644
--- a/test/transform/resource/before/LoggerSlf4j.java
+++ b/test/transform/resource/before/LoggerSlf4j.java
@@ -15,6 +15,6 @@ class LoggerSlf4jOuter {
}
}
-@Slf4j("DifferentLogger")
+@Slf4j(topic="DifferentLogger")
class LoggerSlf4jWithDifferentLoggerName {
}
\ No newline at end of file
diff --git a/test/transform/resource/before/LoggerXSlf4j.java b/test/transform/resource/before/LoggerXSlf4j.java
index 408bd134..a8bcb0c3 100644
--- a/test/transform/resource/before/LoggerXSlf4j.java
+++ b/test/transform/resource/before/LoggerXSlf4j.java
@@ -8,6 +8,6 @@ class LoggerXSlf4j {
class LoggerXSlf4jWithImport {
}
-@XSlf4j("DifferentName")
+@XSlf4j(topic="DifferentName")
class LoggerXSlf4jWithDifferentName {
}
\ No newline at end of file
diff --git a/usage_examples/LogExample_pre.jpage b/usage_examples/LogExample_pre.jpage
index fa746dba..ba27dd27 100644
--- a/usage_examples/LogExample_pre.jpage
+++ b/usage_examples/LogExample_pre.jpage
@@ -17,7 +17,7 @@ public class LogExampleOther {
}
}
-@CommonsLog("CounterLog")
+@CommonsLog(topic="CounterLog")
public class LogExampleCategory {
public static void main(String... args) {
diff --git a/website/features/Log.html b/website/features/Log.html
index e6b3ece6..bc9e017e 100644
--- a/website/features/Log.html
+++ b/website/features/Log.html
@@ -34,7 +34,7 @@
Creates private static final org.slf4j.ext.XLogger log = org.slf4j.ext.XLoggerFactory.getXLogger(LogExample.class);
- By default, the category (or name) of the logger will be the type where the annotation was placed. This can be customised by specifying a value for the category.
+ By default, the topic (or name) of the logger will be the class name of the class annotated with the @Log
annotation. This can be customised by specifying the topic
parameter. For example: @XSlf4j(topic="reporting")
.
@@ -54,10 +54,7 @@
If a field called log
already exists, a warning will be emitted and no code will be generated.
- A future feature of lombok's diverse log annotations is to find calls to the logger field and, if the chosen logging framework supports
- it and the log level can be compile-time determined from the log call, guard it with an if
statement. This way if
- the log statement ends up being ignored, the potentially expensive calculation of the log string is avoided entirely. This does mean
- that you should NOT put any side-effects in the expression that you log.
+ A future feature of lombok's diverse log annotations is to find calls to the logger field and, if the chosen logging framework supports it and the log level can be compile-time determined from the log call, guard it with an if
statement. This way if the log statement ends up being ignored, the potentially expensive calculation of the log string is avoided entirely. This does mean that you should NOT put any side-effects in the expression that you log.
--
cgit
From 4372aedbd03cc4e43b90a4c0c4f703da01f322ef Mon Sep 17 00:00:00 2001
From: Roel Spilker
Date: Thu, 20 Feb 2014 23:08:37 +0100
Subject: Issue 641: @Delegate is incorrectly allowed on static members in
javac. Also added tests, Reinier.
---
src/core/lombok/javac/handlers/HandleDelegate.java | 22 +++++++++++++++-------
.../resource/before/DelegateOnStatic.java | 12 ++++++++++++
.../DelegateOnStatic.java.messages | 2 ++
.../messages-ecj/DelegateOnStatic.java.messages | 2 ++
4 files changed, 31 insertions(+), 7 deletions(-)
create mode 100644 test/transform/resource/before/DelegateOnStatic.java
create mode 100644 test/transform/resource/messages-delombok/DelegateOnStatic.java.messages
create mode 100644 test/transform/resource/messages-ecj/DelegateOnStatic.java.messages
(limited to 'test/transform')
diff --git a/src/core/lombok/javac/handlers/HandleDelegate.java b/src/core/lombok/javac/handlers/HandleDelegate.java
index c9da4738..5e603777 100644
--- a/src/core/lombok/javac/handlers/HandleDelegate.java
+++ b/src/core/lombok/javac/handlers/HandleDelegate.java
@@ -62,6 +62,7 @@ import com.sun.tools.javac.code.Type.ClassType;
import com.sun.tools.javac.code.Type.TypeVar;
import com.sun.tools.javac.code.Types;
import com.sun.tools.javac.model.JavacTypes;
+import com.sun.tools.javac.tree.JCTree;
import com.sun.tools.javac.tree.JCTree.JCAnnotation;
import com.sun.tools.javac.tree.JCTree.JCBlock;
import com.sun.tools.javac.tree.JCTree.JCClassDecl;
@@ -93,6 +94,8 @@ public class HandleDelegate extends JavacAnnotationHandler {
"clone()",
"finalize()"));
+ private static final String LEGALITY_OF_DELEGATE = "@Delegate is legal only on instance fields or no-argument instance methods.";
+
@Override public void handle(AnnotationValues annotation, JCAnnotation ast, JavacNode annotationNode) {
deleteAnnotationIfNeccessary(annotationNode, Delegate.class);
@@ -100,19 +103,24 @@ public class HandleDelegate extends JavacAnnotationHandler {
Name delegateName = annotationNode.toName(annotationNode.up().getName());
DelegateReceiver delegateReceiver;
JavacResolution reso = new JavacResolution(annotationNode.getContext());
+ JCTree member = annotationNode.up().get();
if (annotationNode.up().getKind() == Kind.FIELD) {
+ if ((((JCVariableDecl) member).mods.flags & Flags.STATIC) != 0) {
+ annotationNode.addError(LEGALITY_OF_DELEGATE);
+ return;
+ }
delegateReceiver = DelegateReceiver.FIELD;
- delegateType = annotationNode.up().get().type;
+ delegateType = member.type;
if (delegateType == null) reso.resolveClassMember(annotationNode.up());
- delegateType = annotationNode.up().get().type;
+ delegateType = member.type;
} else if (annotationNode.up().getKind() == Kind.METHOD) {
- if (!(annotationNode.up().get() instanceof JCMethodDecl)) {
- annotationNode.addError("@Delegate is legal only on no-argument methods.");
+ if (!(member instanceof JCMethodDecl)) {
+ annotationNode.addError(LEGALITY_OF_DELEGATE);
return;
}
- JCMethodDecl methodDecl = (JCMethodDecl) annotationNode.up().get();
- if (!methodDecl.params.isEmpty()) {
- annotationNode.addError("@Delegate is legal only on no-argument methods.");
+ JCMethodDecl methodDecl = (JCMethodDecl) member;
+ if (!methodDecl.params.isEmpty() || (methodDecl.mods.flags & Flags.STATIC) != 0) {
+ annotationNode.addError(LEGALITY_OF_DELEGATE);
return;
}
delegateReceiver = DelegateReceiver.METHOD;
diff --git a/test/transform/resource/before/DelegateOnStatic.java b/test/transform/resource/before/DelegateOnStatic.java
new file mode 100644
index 00000000..ef56ef54
--- /dev/null
+++ b/test/transform/resource/before/DelegateOnStatic.java
@@ -0,0 +1,12 @@
+import lombok.Delegate;
+import lombok.Getter;
+
+class DelegateOnStatic {
+ @Delegate private static final java.lang.Runnable staticField = null;
+}
+
+class DelegateOnStaticMethod {
+ @Delegate private static final java.lang.Runnable staticMethod() {
+ return null;
+ };
+}
\ No newline at end of file
diff --git a/test/transform/resource/messages-delombok/DelegateOnStatic.java.messages b/test/transform/resource/messages-delombok/DelegateOnStatic.java.messages
new file mode 100644
index 00000000..b807b155
--- /dev/null
+++ b/test/transform/resource/messages-delombok/DelegateOnStatic.java.messages
@@ -0,0 +1,2 @@
+5 @Delegate is legal only on instance fields or no-argument instance methods.
+9 @Delegate is legal only on instance fields or no-argument instance methods.
\ No newline at end of file
diff --git a/test/transform/resource/messages-ecj/DelegateOnStatic.java.messages b/test/transform/resource/messages-ecj/DelegateOnStatic.java.messages
new file mode 100644
index 00000000..b807b155
--- /dev/null
+++ b/test/transform/resource/messages-ecj/DelegateOnStatic.java.messages
@@ -0,0 +1,2 @@
+5 @Delegate is legal only on instance fields or no-argument instance methods.
+9 @Delegate is legal only on instance fields or no-argument instance methods.
\ No newline at end of file
--
cgit