Skip to content

Commit 9039e5c

Browse files
committed
remove redundant workaround
fix #384
1 parent 5a4d405 commit 9039e5c

File tree

1 file changed

+11
-28
lines changed

1 file changed

+11
-28
lines changed

libs/javavi/src/main/java/kg/ash/javavi/readers/Reflection.java

Lines changed: 11 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -187,14 +187,14 @@ public SourceClass getSourceClass(Class cls) {
187187
clazz.setPackage(cls.getPackage().getName());
188188
}
189189

190-
TreeMap<String, String> typeArgumentsAccordance = new TreeMap<>();
190+
TreeMap<String, String> typeArgumentsMap = new TreeMap<>();
191191
if (typeArguments != null && !typeArguments.isEmpty()) {
192192
List<String> arguments = new ArrayList<>(typeArguments);
193193
Stream.of(cls.getTypeParameters()).forEachOrdered(type -> {
194-
typeArgumentsAccordance.put(
194+
typeArgumentsMap.put(
195195
type.getTypeName(), popTypeArgument(arguments));
196196
clazz.addTypeArgument(
197-
typeArgumentsAccordance.get(type.getTypeName()));
197+
typeArgumentsMap.get(type.getTypeName()));
198198
});
199199
}
200200

@@ -211,7 +211,7 @@ public SourceClass getSourceClass(Class cls) {
211211

212212
Stream.of(cls.getGenericInterfaces())
213213
.map(i -> getGenericName(
214-
typeArgumentsAccordance, i.getTypeName()))
214+
typeArgumentsMap, i.getTypeName()))
215215
.forEach(clazz::addInterface);
216216

217217
ClassSearcher seacher = new ClassSearcher();
@@ -234,15 +234,15 @@ public SourceClass getSourceClass(Class cls) {
234234
ClassConstructor constructor = new ClassConstructor();
235235

236236
String genericDeclaration =
237-
getGenericName(typeArgumentsAccordance,
237+
getGenericName(typeArgumentsMap,
238238
ctor.toGenericString());
239239
constructor.setDeclaration(genericDeclaration);
240240
constructor.setModifiers(
241241
EnumSetModifierFromInt(ctor.getModifiers()));
242242

243243
Stream.of(ctor.getGenericParameterTypes())
244244
.map(t -> getGenericName(
245-
typeArgumentsAccordance, t.getTypeName()))
245+
typeArgumentsMap, t.getTypeName()))
246246
.forEach(t -> constructor.addTypeParameter(
247247
new ClassTypeParameter(t)));
248248

@@ -257,7 +257,7 @@ public SourceClass getSourceClass(Class cls) {
257257
field.setName(f.getName());
258258
field.setModifiers(EnumSetModifierFromInt(f.getModifiers()));
259259

260-
String genericType = getGenericName(typeArgumentsAccordance,
260+
String genericType = getGenericName(typeArgumentsMap,
261261
f.getGenericType().getTypeName());
262262
field.setTypeName(genericType);
263263

@@ -268,24 +268,6 @@ public SourceClass getSourceClass(Class cls) {
268268
methodsSet.addAll(Arrays.asList(cls.getDeclaredMethods()));
269269
methodsSet.addAll(Arrays.asList(cls.getMethods()));
270270
methodsSet.forEach(m -> {
271-
// Workaround for Iterable<T> that give us another
272-
// generic name in List::forEach method.
273-
TreeMap<String, String> tAA =
274-
(TreeMap<String, String>) typeArgumentsAccordance.clone();
275-
List<String> keySet = new ArrayList<>(tAA.keySet());
276-
Stream.of(m.getDeclaringClass().getTypeParameters())
277-
.forEach(type -> {
278-
Optional<String> key = Optional.ofNullable(
279-
keySet.isEmpty()
280-
? null
281-
: keySet.get(0));
282-
key.filter(k -> !k.equals(type.getTypeName()))
283-
.ifPresent(k -> {
284-
tAA.put(type.getTypeName(), tAA.get(k));
285-
keySet.remove(0);
286-
});
287-
});
288-
289271
ClassMethod method = new ClassMethod();
290272
if (m.getAnnotationsByType(Deprecated.class).length > 0) {
291273
method.setDeprecated(true);
@@ -294,16 +276,17 @@ public SourceClass getSourceClass(Class cls) {
294276
method.setModifiers(EnumSetModifierFromInt(m.getModifiers()));
295277

296278
String genericDeclaration = getGenericName(
297-
tAA, m.toGenericString());
279+
typeArgumentsMap, m.toGenericString());
298280
method.setDeclaration(genericDeclaration);
299281

300282
String genericReturnType = getGenericName(
301-
tAA, m.getGenericReturnType().getTypeName());
283+
typeArgumentsMap,
284+
m.getGenericReturnType().getTypeName());
302285
method.setTypeName(genericReturnType);
303286

304287
Type[] parameterTypes = m.getGenericParameterTypes();
305288
Stream.of(parameterTypes)
306-
.map(t -> getGenericName(tAA, t.getTypeName()))
289+
.map(t -> getGenericName(typeArgumentsMap, t.getTypeName()))
307290
.forEachOrdered(
308291
t -> method.addTypeParameter(
309292
new ClassTypeParameter(t)));

0 commit comments

Comments
 (0)