WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Commit c23583b

Browse files
committed
2.2.1 - Fix Listener target resolution for parameterized events
1 parent 53d4d6b commit c23583b

File tree

2 files changed

+3
-2
lines changed

2 files changed

+3
-2
lines changed

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
group 'me.zero'
2-
version '2.2.0'
2+
version '2.2.1'
33

44
apply plugin: 'java'
55

src/main/java/me/zero/alpine/bus/EventManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import me.zero.alpine.listener.EventSubscriber;
44
import me.zero.alpine.listener.Listener;
55
import me.zero.alpine.listener.Subscribe;
6+
import net.jodah.typetools.TypeResolver;
67

78
import java.lang.reflect.Field;
89
import java.lang.reflect.Modifier;
@@ -173,7 +174,7 @@ protected static <T> Listener<T> asListener(EventSubscriber subscriber, Field fi
173174
field.setAccessible(accessible);
174175

175176
// Resolve the actual target type from the field type parameter, and update the Listener target
176-
Class<T> target = (Class<T>) ((ParameterizedType) field.getGenericType()).getActualTypeArguments()[0];
177+
Class<T> target = (Class<T>) TypeResolver.resolveRawArgument(field.getGenericType(), Listener.class);
177178
listener.setTarget(target);
178179

179180
return listener;

0 commit comments

Comments
 (0)