diff --git a/src/core/lombok/eclipse/handlers/HandleJacksonized.java b/src/core/lombok/eclipse/handlers/HandleJacksonized.java index b6f5c68a..d148d8b7 100644 --- a/src/core/lombok/eclipse/handlers/HandleJacksonized.java +++ b/src/core/lombok/eclipse/handlers/HandleJacksonized.java @@ -188,15 +188,20 @@ public class HandleJacksonized extends EclipseAnnotationHandler { // Add @JsonProperty to all fields. It will be automatically copied to the getter/setters later. for (EclipseNode eclipseNode : tdNode.down()) { if (eclipseNode.getKind() == Kind.FIELD) { - if (eclipseNode.isTransient()) createJsonIgnoreForField(eclipseNode, annotationNode); - else createJsonPropertyForField(eclipseNode, annotationNode); + if (JacksonAnnotations.JSON_PROPERTY.isAnnotating(eclipseNode) || + JacksonAnnotations.JSON_IGNORE.isAnnotating(eclipseNode)) { + return; + } else if (eclipseNode.isTransient()) { + createJsonIgnoreForField(eclipseNode, annotationNode); + } else { + createJsonPropertyForField(eclipseNode, annotationNode); + } } } tdNode.rebuild(); } private void createJsonPropertyForField(EclipseNode fieldNode, EclipseNode annotationNode) { - if (JacksonAnnotations.JSON_PROPERTY.isAnnotating(fieldNode)) return; ASTNode astNode = fieldNode.get(); if (astNode instanceof FieldDeclaration) { FieldDeclaration fd = (FieldDeclaration)astNode; @@ -206,7 +211,6 @@ public class HandleJacksonized extends EclipseAnnotationHandler { } private void createJsonIgnoreForField(EclipseNode fieldNode, EclipseNode annotationNode) { - if (JacksonAnnotations.JSON_IGNORE.isAnnotating(fieldNode)) return; ASTNode astNode = fieldNode.get(); if (astNode instanceof FieldDeclaration) { FieldDeclaration fd = (FieldDeclaration)astNode; diff --git a/src/core/lombok/javac/handlers/HandleJacksonized.java b/src/core/lombok/javac/handlers/HandleJacksonized.java index 6a43abe4..7cfabfed 100644 --- a/src/core/lombok/javac/handlers/HandleJacksonized.java +++ b/src/core/lombok/javac/handlers/HandleJacksonized.java @@ -122,16 +122,19 @@ public class HandleJacksonized extends JavacAnnotationHandler { // Add @JsonIgnore to all transient fields. It will be automatically copied to the getter/setters later. for (JavacNode javacNode : tdNode.down()) { if (javacNode.getKind() == Kind.FIELD) { - if (javacNode.isTransient()) createJsonIgnoreForField(javacNode, annotationNode); - else createJsonPropertyForField(javacNode, annotationNode); + if (JacksonAnnotations.JSON_PROPERTY.isAnnotating(javacNode) || + JacksonAnnotations.JSON_IGNORE.isAnnotating(javacNode)) { + return; + } else if (javacNode.isTransient()) { + createJsonIgnoreForField(javacNode, annotationNode); + } else { + createJsonPropertyForField(javacNode, annotationNode); + } } } } private void createJsonPropertyForField(JavacNode fieldNode, JavacNode annotationNode) { - if (JacksonAnnotations.JSON_PROPERTY.isAnnotating(fieldNode)) { - return; - } JavacTreeMaker maker = fieldNode.getTreeMaker(); JCExpression jsonPropertyType = chainDots(fieldNode, JacksonAnnotations.JSON_PROPERTY.chainedDots); @@ -142,9 +145,6 @@ public class HandleJacksonized extends JavacAnnotationHandler { } private void createJsonIgnoreForField(JavacNode fieldNode, JavacNode annotationNode) { - if (JacksonAnnotations.JSON_IGNORE.isAnnotating(fieldNode)) { - return; - } JavacTreeMaker maker = fieldNode.getTreeMaker(); JCExpression jsonPropertyType = chainDots(fieldNode, JacksonAnnotations.JSON_IGNORE.chainedDots);