@@ -549,9 +549,14 @@ public ResolvableType[] getInterfaces() {
549
549
ResolvableType [] interfaces = this .interfaces ;
550
550
if (interfaces == null ) {
551
551
Type [] genericIfcs = resolved .getGenericInterfaces ();
552
- interfaces = new ResolvableType [genericIfcs .length ];
553
- for (int i = 0 ; i < genericIfcs .length ; i ++) {
554
- interfaces [i ] = forType (genericIfcs [i ], this );
552
+ if (genericIfcs .length > 0 ) {
553
+ interfaces = new ResolvableType [genericIfcs .length ];
554
+ for (int i = 0 ; i < genericIfcs .length ; i ++) {
555
+ interfaces [i ] = forType (genericIfcs [i ], this );
556
+ }
557
+ }
558
+ else {
559
+ interfaces = EMPTY_TYPES_ARRAY ;
555
560
}
556
561
this .interfaces = interfaces ;
557
562
}
@@ -789,16 +794,26 @@ public ResolvableType[] getGenerics() {
789
794
if (generics == null ) {
790
795
if (this .type instanceof Class <?> clazz ) {
791
796
Type [] typeParams = clazz .getTypeParameters ();
792
- generics = new ResolvableType [typeParams .length ];
793
- for (int i = 0 ; i < generics .length ; i ++) {
794
- generics [i ] = ResolvableType .forType (typeParams [i ], this );
797
+ if (typeParams .length > 0 ) {
798
+ generics = new ResolvableType [typeParams .length ];
799
+ for (int i = 0 ; i < generics .length ; i ++) {
800
+ generics [i ] = ResolvableType .forType (typeParams [i ], this );
801
+ }
802
+ }
803
+ else {
804
+ generics = EMPTY_TYPES_ARRAY ;
795
805
}
796
806
}
797
807
else if (this .type instanceof ParameterizedType parameterizedType ) {
798
808
Type [] actualTypeArguments = parameterizedType .getActualTypeArguments ();
799
- generics = new ResolvableType [actualTypeArguments .length ];
800
- for (int i = 0 ; i < actualTypeArguments .length ; i ++) {
801
- generics [i ] = forType (actualTypeArguments [i ], this .variableResolver );
809
+ if (actualTypeArguments .length > 0 ) {
810
+ generics = new ResolvableType [actualTypeArguments .length ];
811
+ for (int i = 0 ; i < actualTypeArguments .length ; i ++) {
812
+ generics [i ] = forType (actualTypeArguments [i ], this .variableResolver );
813
+ }
814
+ }
815
+ else {
816
+ generics = EMPTY_TYPES_ARRAY ;
802
817
}
803
818
}
804
819
else {
0 commit comments