diff --git a/src/ServiceStack/NativeTypes/Java/JavaGenerator.cs b/src/ServiceStack/NativeTypes/Java/JavaGenerator.cs index 4e91d62ce06..68f443b79fc 100644 --- a/src/ServiceStack/NativeTypes/Java/JavaGenerator.cs +++ b/src/ServiceStack/NativeTypes/Java/JavaGenerator.cs @@ -306,7 +306,7 @@ private List RemoveIgnoredTypes(MetadataTypes metadata) for (var i = 0; i < type.EnumNames.Count; i++) { var name = type.EnumNames[i]; - var value = type.EnumValues != null ? type.EnumValues[i] : null; + var value = type.EnumValues?[i]; var delim = i == type.EnumNames.Count - 1 ? ";" : ","; var serializeAs = JsConfig.TreatEnumAsInteger || (type.Attributes.Safe().Any(x => x.Name == "Flags")) diff --git a/src/ServiceStack/NativeTypes/NativeTypesMetadata.cs b/src/ServiceStack/NativeTypes/NativeTypesMetadata.cs index e08de158e76..e1497970956 100644 --- a/src/ServiceStack/NativeTypes/NativeTypesMetadata.cs +++ b/src/ServiceStack/NativeTypes/NativeTypesMetadata.cs @@ -743,13 +743,13 @@ public static MetadataType ToMetadataType(this MetadataTypeName type) public static List GetAllMetadataTypes(this MetadataTypes metadata) { - var allTypes = new List(); - allTypes.AddRange(metadata.Types); - allTypes.AddRange(metadata.Operations.Where(x => x.Request != null).Select(x => x.Request)); - allTypes.AddRange(metadata.Operations.Where(x => x.Response != null).Select(x => x.Response)); - allTypes.AddRange(metadata.Operations.Where(x => x.Request?.ReturnMarkerTypeName != null).Select( - x => x.Request.ReturnMarkerTypeName.ToMetadataType())); - return allTypes; + var allTypes = metadata.Operations.Where(x => x.Request != null).Select(x => x.Request) + .Union(metadata.Operations.Where(x => x.Response != null).Select(x => x.Response)) + .Union(metadata.Operations.Where(x => x.Request?.ReturnMarkerTypeName != null).Select( + x => x.Request.ReturnMarkerTypeName.ToMetadataType())) + .Union(metadata.Types); + + return allTypes.ToList(); } public static HashSet GetReferencedTypeNames(this MetadataType type) @@ -993,7 +993,7 @@ public static List GetIncludeList(MetadataTypes metadata, MetadataTypesC if (typesToExpand.Count != 0 || NamespaceWildCard.Length != 0) { var includeTypesInNamespace = NamespaceWildCard.Length > 0 - ? metadata.Types + ? metadata.GetAllMetadataTypes() .Where(x => namespacedTypes.Any(ns => x.Namespace?.StartsWith(ns) == true)) .Select(x => x.Name) .ToHashSet()