From ed284adeb2f9a467f8eba47585c343e620ca740b Mon Sep 17 00:00:00 2001 From: Siphalor Date: Fri, 31 Oct 2025 12:46:49 +0100 Subject: [PATCH] [core] Explicit contract for ConfigEntry#deepCopy --- .../java/de/siphalor/tweed5/core/api/entry/ConfigEntry.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tweed5/core/src/main/java/de/siphalor/tweed5/core/api/entry/ConfigEntry.java b/tweed5/core/src/main/java/de/siphalor/tweed5/core/api/entry/ConfigEntry.java index 5d611e3..81e6740 100644 --- a/tweed5/core/src/main/java/de/siphalor/tweed5/core/api/entry/ConfigEntry.java +++ b/tweed5/core/src/main/java/de/siphalor/tweed5/core/api/entry/ConfigEntry.java @@ -2,6 +2,7 @@ package de.siphalor.tweed5.core.api.entry; import de.siphalor.tweed5.core.api.container.ConfigContainer; import de.siphalor.tweed5.patchwork.api.Patchwork; +import org.jetbrains.annotations.Contract; import org.jspecify.annotations.Nullable; import java.util.function.Consumer; @@ -27,5 +28,6 @@ public interface ConfigEntry { void visitInOrder(ConfigEntryVisitor visitor); void visitInOrder(ConfigEntryValueVisitor visitor, T value); + @Contract(value = "null -> null; !null -> new", pure = true) T deepCopy(T value); }