From 21749e9d0bb4d3947f475f796125fff9c4ffe01b Mon Sep 17 00:00:00 2001 From: Siphalor Date: Sun, 24 May 2026 16:38:15 +0200 Subject: [PATCH] fix(weaver-pojo): Prevent `StringMapPojoWeaver` from weaving entries without `@StringMapWeaving` --- CHANGELOG.md | 1 + .../tweed5/weaver/pojo/api/weaving/StringMapPojoWeaver.java | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 716e9c2..1ecc47a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - `core`: Fixed return type of `MutableStructuredConfigEntry#apply` to correctly be itself. +- `weaver-pojo`: Fixed `StringMapPojoWeaver` weaving entries without `@StringMapWeaving` annotation. ## [0.8.1] - 2026-04-26 diff --git a/tweed5/weaver-pojo/src/main/java/de/siphalor/tweed5/weaver/pojo/api/weaving/StringMapPojoWeaver.java b/tweed5/weaver-pojo/src/main/java/de/siphalor/tweed5/weaver/pojo/api/weaving/StringMapPojoWeaver.java index fb555e4..3e0ae88 100644 --- a/tweed5/weaver-pojo/src/main/java/de/siphalor/tweed5/weaver/pojo/api/weaving/StringMapPojoWeaver.java +++ b/tweed5/weaver-pojo/src/main/java/de/siphalor/tweed5/weaver/pojo/api/weaving/StringMapPojoWeaver.java @@ -41,6 +41,10 @@ public class StringMapPojoWeaver implements TweedPojoWeavingExtension { public @Nullable ConfigEntry weaveEntry(ActualType valueType, WeavingContext context) { assert weavingConfigAccess != null; + if (!valueType.isAnnotationPresent(StringMapWeaving.class)) { + return null; + } + List> mapTypeParams = valueType.getTypesOfSuperArguments(Map.class); if (mapTypeParams == null || mapTypeParams.get(0).declaredType() != String.class) { return null;