From e1ae3fefbc1d1a789595257f95b0033a7181728c Mon Sep 17 00:00:00 2001 From: Josiah Noel <32279667+SentryMan@users.noreply.github.com> Date: Mon, 6 Oct 2025 21:23:14 -0400 Subject: [PATCH 1/5] only log cascade warning if in the same module --- .../java/io/avaje/jsonb/generator/TypeReader.java | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java b/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java index 256cd9eb..58b847c5 100644 --- a/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java +++ b/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java @@ -358,8 +358,18 @@ private void matchFieldToSetter(FieldReader field) { field.setUseGetterAddAll(); } else if (ProcessingContext.isCascadeType(baseType)) { nonAccessibleField = true; - logWarn(field.element(), errorContext + baseType + ", non public field %s with no matching setter or constructor?", field.fieldName()); - + var module = APContext.getProjectModuleElement(); + if (!module.isUnnamed() + && APContext.elements() + .getModuleOf(baseType) + .equals(APContext.getProjectModuleElement())) { + logWarn( + field.element(), + "%s%s, non public field %s with no matching setter or constructor?", + errorContext, + baseType, + field.fieldName()); + } } else { logError(field.element(), errorContext + baseType + ", non public field %s with no matching setter or constructor?", field.fieldName()); } From a6cd3d44d8e4d8e836ffbcea9c0e509d50a60547 Mon Sep 17 00:00:00 2001 From: Josiah Noel <32279667+SentryMan@users.noreply.github.com> Date: Mon, 6 Oct 2025 21:25:52 -0400 Subject: [PATCH 2/5] Update TypeReader.java --- .../java/io/avaje/jsonb/generator/TypeReader.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java b/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java index 58b847c5..daa62f4c 100644 --- a/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java +++ b/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java @@ -359,10 +359,7 @@ private void matchFieldToSetter(FieldReader field) { } else if (ProcessingContext.isCascadeType(baseType)) { nonAccessibleField = true; var module = APContext.getProjectModuleElement(); - if (!module.isUnnamed() - && APContext.elements() - .getModuleOf(baseType) - .equals(APContext.getProjectModuleElement())) { + if (!module.isUnnamed() && module.equals(APContext.elements().getModuleOf(baseType))) { logWarn( field.element(), "%s%s, non public field %s with no matching setter or constructor?", @@ -371,7 +368,12 @@ private void matchFieldToSetter(FieldReader field) { field.fieldName()); } } else { - logError(field.element(), errorContext + baseType + ", non public field %s with no matching setter or constructor?", field.fieldName()); + logError( + field.element(), + errorContext + + baseType + + ", non public field %s with no matching setter or constructor?", + field.fieldName()); } } } From c73935787e1f6ce1fb9eae59bf2bab13df21d0f6 Mon Sep 17 00:00:00 2001 From: Josiah Noel <32279667+SentryMan@users.noreply.github.com> Date: Mon, 6 Oct 2025 21:26:30 -0400 Subject: [PATCH 3/5] Update TypeReader.java --- .../src/main/java/io/avaje/jsonb/generator/TypeReader.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java b/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java index daa62f4c..618e8d0f 100644 --- a/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java +++ b/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java @@ -368,12 +368,7 @@ private void matchFieldToSetter(FieldReader field) { field.fieldName()); } } else { - logError( - field.element(), - errorContext - + baseType - + ", non public field %s with no matching setter or constructor?", - field.fieldName()); + logError(field.element(), errorContext + baseType + ", non public field %s with no matching setter or constructor?", field.fieldName()); } } } From dc9a9763b4c38beffd93ef6cf51a5f6a9e0b2d3e Mon Sep 17 00:00:00 2001 From: Josiah Noel <32279667+SentryMan@users.noreply.github.com> Date: Mon, 6 Oct 2025 22:01:34 -0400 Subject: [PATCH 4/5] Update TypeReader.java --- .../src/main/java/io/avaje/jsonb/generator/TypeReader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java b/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java index 618e8d0f..55c357be 100644 --- a/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java +++ b/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java @@ -359,7 +359,7 @@ private void matchFieldToSetter(FieldReader field) { } else if (ProcessingContext.isCascadeType(baseType)) { nonAccessibleField = true; var module = APContext.getProjectModuleElement(); - if (!module.isUnnamed() && module.equals(APContext.elements().getModuleOf(baseType))) { + if (!module.equals(APContext.elements().getModuleOf(baseType))) { logWarn( field.element(), "%s%s, non public field %s with no matching setter or constructor?", From 60a8f275bb5d98be15beefe5ef8864c0ae9f5919 Mon Sep 17 00:00:00 2001 From: Josiah Noel <32279667+SentryMan@users.noreply.github.com> Date: Mon, 6 Oct 2025 22:02:42 -0400 Subject: [PATCH 5/5] Revert "Update TypeReader.java" This reverts commit dc9a9763b4c38beffd93ef6cf51a5f6a9e0b2d3e. --- .../src/main/java/io/avaje/jsonb/generator/TypeReader.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java b/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java index 55c357be..618e8d0f 100644 --- a/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java +++ b/jsonb-generator/src/main/java/io/avaje/jsonb/generator/TypeReader.java @@ -359,7 +359,7 @@ private void matchFieldToSetter(FieldReader field) { } else if (ProcessingContext.isCascadeType(baseType)) { nonAccessibleField = true; var module = APContext.getProjectModuleElement(); - if (!module.equals(APContext.elements().getModuleOf(baseType))) { + if (!module.isUnnamed() && module.equals(APContext.elements().getModuleOf(baseType))) { logWarn( field.element(), "%s%s, non public field %s with no matching setter or constructor?",