@@ -180,14 +180,13 @@ private static Stream<MethodParameter> fromSimpleClass(Class<?> paramClass, Fiel
180180 try {
181181 Parameter parameter = field .getAnnotation (Parameter .class );
182182 boolean isNotRequired = parameter == null || !parameter .required ();
183- Annotation [] finalFieldAnnotations = fieldAnnotations ;
184- if (paramClass .isRecord ()) {
183+ if (paramClass .getSuperclass () != null && paramClass .isRecord ()) {
185184 return Stream .of (paramClass .getRecordComponents ())
186185 .filter (d -> d .getName ().equals (field .getName ()))
187186 .map (RecordComponent ::getAccessor )
188187 .map (method -> new MethodParameter (method , -1 ))
189188 .map (methodParameter -> DelegatingMethodParameter .changeContainingClass (methodParameter , paramClass ))
190- .map (param -> new DelegatingMethodParameter (param , fieldNamePrefix + field .getName (), finalFieldAnnotations , true , isNotRequired ));
189+ .map (param -> new DelegatingMethodParameter (param , fieldNamePrefix + field .getName (), fieldAnnotations , true , isNotRequired ));
191190
192191 }
193192 else
@@ -197,7 +196,7 @@ private static Stream<MethodParameter> fromSimpleClass(Class<?> paramClass, Fiel
197196 .filter (Objects ::nonNull )
198197 .map (method -> new MethodParameter (method , -1 ))
199198 .map (methodParameter -> DelegatingMethodParameter .changeContainingClass (methodParameter , paramClass ))
200- .map (param -> new DelegatingMethodParameter (param , fieldNamePrefix + field .getName (), finalFieldAnnotations , true , isNotRequired ));
199+ .map (param -> new DelegatingMethodParameter (param , fieldNamePrefix + field .getName (), fieldAnnotations , true , isNotRequired ));
201200 }
202201 catch (IntrospectionException e ) {
203202 return Stream .of ();
0 commit comments