@@ -2516,15 +2516,10 @@ private <T extends TypeTree & Expression> T typeTree(@Nullable ClassNode classNo
2516
2516
&& classNode .getUnresolvedSuperClass ().isUsingGenerics ()
2517
2517
&& !classNode .getUnresolvedSuperClass ().isGenericsPlaceHolder ()
2518
2518
&& classNode .getGenericsTypes () == null ;
2519
- if (isAnonymousClassWithGenericSuper ) {
2519
+ if (isAnonymousClassWithGenericSuper || ( classNode . isUsingGenerics () && ! classNode . isGenericsPlaceHolder ()) ) {
2520
2520
JContainer <Expression > typeParameters = inferredType ?
2521
2521
JContainer .build (sourceBefore ("<" ), singletonList (padRight (new J .Empty (randomId (), EMPTY , Markers .EMPTY ), sourceBefore (">" ))), Markers .EMPTY ) :
2522
- visitTypeParameterizations (classNode .getUnresolvedSuperClass ().getGenericsTypes ());
2523
- expr = new J .ParameterizedType (randomId (), EMPTY , Markers .EMPTY , (NameTree ) expr , typeParameters , typeMapping .type (classNode ));
2524
- } else if (classNode .isUsingGenerics () && !classNode .isGenericsPlaceHolder ()) {
2525
- JContainer <Expression > typeParameters = inferredType ?
2526
- JContainer .build (sourceBefore ("<" ), singletonList (padRight (new J .Empty (randomId (), EMPTY , Markers .EMPTY ), sourceBefore (">" ))), Markers .EMPTY ) :
2527
- visitTypeParameterizations (classNode .getGenericsTypes ());
2522
+ visitTypeParameterizations (isAnonymousClassWithGenericSuper ? classNode .getUnresolvedSuperClass ().getGenericsTypes () : classNode .getGenericsTypes ());
2528
2523
expr = new J .ParameterizedType (randomId (), EMPTY , Markers .EMPTY , (NameTree ) expr , typeParameters , typeMapping .type (classNode ));
2529
2524
}
2530
2525
}
@@ -3100,7 +3095,7 @@ private boolean isInferred(ConstructorCallExpression ctor) {
3100
3095
3101
3096
ClassNode innerClass = ctor .getType ();
3102
3097
if (!(innerClass instanceof InnerClassNode )) {
3103
- return false ;
3098
+ return innerClass . getGenericsTypes () != null && innerClass . getGenericsTypes (). length == 0 ;
3104
3099
}
3105
3100
3106
3101
ClassNode superClass = innerClass .getUnresolvedSuperClass ();
0 commit comments