diff --git a/src/core/lombok/eclipse/handlers/HandleGetter.java b/src/core/lombok/eclipse/handlers/HandleGetter.java index 31236d21a..2d8b112f4 100644 --- a/src/core/lombok/eclipse/handlers/HandleGetter.java +++ b/src/core/lombok/eclipse/handlers/HandleGetter.java @@ -168,7 +168,7 @@ public void createGetterForFields(AccessLevel level, Collection fie public void createGetterForField(AccessLevel level, EclipseNode fieldNode, EclipseNode errorNode, ASTNode source, boolean whineIfExists, boolean lazy, List onMethod) { - if (fieldNode.getKind() != Kind.FIELD) { + if (fieldNode.getKind() != Kind.FIELD || fieldNode.isEnumMember()) { errorNode.addError(GETTER_NODE_NOT_SUPPORTED_ERR); return; } diff --git a/src/core/lombok/javac/handlers/HandleGetter.java b/src/core/lombok/javac/handlers/HandleGetter.java index a8a98d60d..153a22013 100644 --- a/src/core/lombok/javac/handlers/HandleGetter.java +++ b/src/core/lombok/javac/handlers/HandleGetter.java @@ -165,7 +165,7 @@ public void createGetterForFields(AccessLevel level, Collection field public void createGetterForField(AccessLevel level, JavacNode fieldNode, JavacNode source, boolean whineIfExists, boolean lazy, List onMethod) { - if (fieldNode.getKind() != Kind.FIELD) { + if (fieldNode.getKind() != Kind.FIELD || fieldNode.isEnumMember()) { source.addError(GETTER_NODE_NOT_SUPPORTED_ERR); return; } diff --git a/test/transform/resource/after-delombok/GetterEnumConstant.java b/test/transform/resource/after-delombok/GetterEnumConstant.java new file mode 100644 index 000000000..b0213115a --- /dev/null +++ b/test/transform/resource/after-delombok/GetterEnumConstant.java @@ -0,0 +1,3 @@ +enum GetterEnumConstant { + ONE; +} diff --git a/test/transform/resource/after-ecj/GetterEnumConstant.java b/test/transform/resource/after-ecj/GetterEnumConstant.java new file mode 100644 index 000000000..b8e7029d3 --- /dev/null +++ b/test/transform/resource/after-ecj/GetterEnumConstant.java @@ -0,0 +1,9 @@ +import lombok.Getter; +enum GetterEnumConstant { + @Getter ONE(), + () { + } + GetterEnumConstant() { + super(); + } +} diff --git a/test/transform/resource/before/GetterEnumConstant.java b/test/transform/resource/before/GetterEnumConstant.java new file mode 100644 index 000000000..ba6b0ab0a --- /dev/null +++ b/test/transform/resource/before/GetterEnumConstant.java @@ -0,0 +1,6 @@ +import lombok.Getter; + +enum GetterEnumConstant { + @Getter + ONE; +} \ No newline at end of file diff --git a/test/transform/resource/messages-delombok/GetterEnumConstant.java.messages b/test/transform/resource/messages-delombok/GetterEnumConstant.java.messages new file mode 100644 index 000000000..bec676928 --- /dev/null +++ b/test/transform/resource/messages-delombok/GetterEnumConstant.java.messages @@ -0,0 +1 @@ +4 @Getter is only supported on a class, an enum, or a field. diff --git a/test/transform/resource/messages-ecj/GetterEnumConstant.java.messages b/test/transform/resource/messages-ecj/GetterEnumConstant.java.messages new file mode 100644 index 000000000..bec676928 --- /dev/null +++ b/test/transform/resource/messages-ecj/GetterEnumConstant.java.messages @@ -0,0 +1 @@ +4 @Getter is only supported on a class, an enum, or a field.