From c98038e82512ec255a24a0dfd6971eab52bd5b8e Mon Sep 17 00:00:00 2001 From: Eugene Lukash Date: Sun, 27 Aug 2023 02:09:46 -0400 Subject: [PATCH] #1479 need to look at value, not key --- .../fixture/generics/MultimapSafeVarargs.java | 22 +++++++++++++++++++ .../value/processor/meta/ValueAttribute.java | 3 ++- 2 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 value-fixture/src/org/immutables/fixture/generics/MultimapSafeVarargs.java diff --git a/value-fixture/src/org/immutables/fixture/generics/MultimapSafeVarargs.java b/value-fixture/src/org/immutables/fixture/generics/MultimapSafeVarargs.java new file mode 100644 index 000000000..b170a82f8 --- /dev/null +++ b/value-fixture/src/org/immutables/fixture/generics/MultimapSafeVarargs.java @@ -0,0 +1,22 @@ +package org.immutables.fixture.generics; + +import com.google.common.collect.Multimap; +import org.immutables.value.Value; + +@Value.Enclosing +public interface MultimapSafeVarargs { + @Value.Immutable + interface ParamKey { + Multimap, String> vals(); + } + @Value.Immutable + interface ParamVal { + Multimap> vals(); + } + @Value.Immutable + interface ParamBoth { + Multimap, Val> vals(); + } + + interface Val {} +} diff --git a/value-processor/src/org/immutables/value/processor/meta/ValueAttribute.java b/value-processor/src/org/immutables/value/processor/meta/ValueAttribute.java index a53b9ecd9..a96108f0b 100644 --- a/value-processor/src/org/immutables/value/processor/meta/ValueAttribute.java +++ b/value-processor/src/org/immutables/value/processor/meta/ValueAttribute.java @@ -993,7 +993,8 @@ public boolean hasTypeAnnotations() { } public boolean isNonRawElementType() { - return getElementType().indexOf('<') > 0; + List args = typeParameters(); + return !args.isEmpty() && args.get(args.size() - 1).indexOf('<') > 0; } public boolean isNonRawSecondaryElementType() {