@@ -2079,24 +2079,12 @@ public ModelsMap postProcessModels(ModelsMap objs) {
20792079 }
20802080 // make sure the x-implements is always a List and always at least empty
20812081 for (ModelMap mo : objs .getModels ()) {
2082- CodegenModel cm = mo .getModel ();
2083- if (cm .getVendorExtensions ().containsKey (X_IMPLEMENTS )) {
2084- List <String > xImplements = getObjectAsStringList (cm .getVendorExtensions ().get (X_IMPLEMENTS ));
2085- cm .getVendorExtensions ().replace (X_IMPLEMENTS , xImplements );
2086- } else {
2087- cm .getVendorExtensions ().put (X_IMPLEMENTS , new ArrayList <String >());
2088- }
2082+ normalizeVendorExtensionWithStringList (mo .getModel (), X_IMPLEMENTS );
20892083 }
20902084
20912085 // make sure the x-class-extra-annotation is always a List and always at least empty
20922086 for (ModelMap mo : objs .getModels ()) {
2093- CodegenModel cm = mo .getModel ();
2094- if (cm .getVendorExtensions ().containsKey (VendorExtension .X_CLASS_EXTRA_ANNOTATION .getName ())) {
2095- List <String > xClassExtraAnnotation = getObjectAsStringList (cm .getVendorExtensions ().get (VendorExtension .X_CLASS_EXTRA_ANNOTATION .getName ()));
2096- cm .getVendorExtensions ().replace (VendorExtension .X_CLASS_EXTRA_ANNOTATION .getName (), xClassExtraAnnotation );
2097- } else {
2098- cm .getVendorExtensions ().put (VendorExtension .X_CLASS_EXTRA_ANNOTATION .getName (), new ArrayList <String >());
2099- }
2087+ normalizeVendorExtensionWithStringList (mo .getModel (), VendorExtension .X_CLASS_EXTRA_ANNOTATION .getName ());
21002088 }
21012089
21022090 // skip interfaces predefined in open api spec in x-implements via additional property xImplementsSkip
@@ -2769,6 +2757,15 @@ protected ImmutableMap.Builder<String, Mustache.Lambda> addMustacheLambdas() {
27692757
27702758 }
27712759
2760+ private void normalizeVendorExtensionWithStringList (CodegenModel cm , String name ) {
2761+ if (cm .getVendorExtensions ().containsKey (name )) {
2762+ List <String > annotations = getObjectAsStringList (cm .getVendorExtensions ().get (name ));
2763+ cm .getVendorExtensions ().replace (name , annotations );
2764+ } else {
2765+ cm .getVendorExtensions ().put (name , new ArrayList <String >());
2766+ }
2767+ }
2768+
27722769 /**
27732770 * for Jspecify, remove @Nullable before the datatype and set keptNullable to true if done.
27742771 */
0 commit comments