diff --git a/src/Microsoft.OpenApi.Readers/OpenApiStreamReader.cs b/src/Microsoft.OpenApi.Readers/OpenApiStreamReader.cs index 8922be4ce..984b3fc3c 100644 --- a/src/Microsoft.OpenApi.Readers/OpenApiStreamReader.cs +++ b/src/Microsoft.OpenApi.Readers/OpenApiStreamReader.cs @@ -60,9 +60,9 @@ public OpenApiDocument Read(Stream input, out OpenApiDiagnostic diagnostic) public async Task ReadAsync(Stream input, CancellationToken cancellationToken = default) { MemoryStream bufferedStream; - if (input is MemoryStream) + if (input is MemoryStream stream) { - bufferedStream = (MemoryStream)input; + bufferedStream = stream; } else { diff --git a/src/Microsoft.OpenApi.Readers/ParseNodes/OpenApiAnyConverter.cs b/src/Microsoft.OpenApi.Readers/ParseNodes/OpenApiAnyConverter.cs index 01aef7652..e104365c1 100644 --- a/src/Microsoft.OpenApi.Readers/ParseNodes/OpenApiAnyConverter.cs +++ b/src/Microsoft.OpenApi.Readers/ParseNodes/OpenApiAnyConverter.cs @@ -50,16 +50,16 @@ public static IOpenApiAny GetSpecificOpenApiAny(IOpenApiAny openApiAny, OpenApiS return newObject; } - if (!(openApiAny is OpenApiString)) + if (openApiAny is not OpenApiString apiString) { return openApiAny; } - var value = ((OpenApiString)openApiAny).Value; + var value = apiString.Value; var type = schema?.Type; var format = schema?.Format; - if (((OpenApiString)openApiAny).IsExplicit()) + if (apiString.IsExplicit()) { // More narrow type detection for explicit strings, only check types that are passed as strings if (schema == null) @@ -113,7 +113,7 @@ public static IOpenApiAny GetSpecificOpenApiAny(IOpenApiAny openApiAny, OpenApiS } } - return openApiAny; + return apiString; } if (value is null or "null") @@ -247,7 +247,7 @@ public static IOpenApiAny GetSpecificOpenApiAny(IOpenApiAny openApiAny, OpenApiS if (type == "string") { - return openApiAny; + return apiString; } if (type == "boolean") @@ -262,7 +262,7 @@ public static IOpenApiAny GetSpecificOpenApiAny(IOpenApiAny openApiAny, OpenApiS // If data conflicts with the given type, return a string. // This converter is used in the parser, so it does not perform any validations, // but the validator can be used to validate whether the data and given type conflicts. - return openApiAny; + return apiString; } } } diff --git a/src/Microsoft.OpenApi/Extensions/OpenAPIWriterExtensions.cs b/src/Microsoft.OpenApi/Extensions/OpenAPIWriterExtensions.cs index a32807ab6..824f86a8d 100644 --- a/src/Microsoft.OpenApi/Extensions/OpenAPIWriterExtensions.cs +++ b/src/Microsoft.OpenApi/Extensions/OpenAPIWriterExtensions.cs @@ -16,9 +16,9 @@ internal static class OpenAPIWriterExtensions /// internal static OpenApiWriterSettings GetSettings(this IOpenApiWriter openApiWriter) { - if (openApiWriter is OpenApiWriterBase) + if (openApiWriter is OpenApiWriterBase @base) { - return ((OpenApiWriterBase)openApiWriter).Settings; + return @base.Settings; } return new OpenApiWriterSettings(); } diff --git a/src/Microsoft.OpenApi/Models/OpenApiParameter.cs b/src/Microsoft.OpenApi/Models/OpenApiParameter.cs index 06e5749e6..3918f233b 100644 --- a/src/Microsoft.OpenApi/Models/OpenApiParameter.cs +++ b/src/Microsoft.OpenApi/Models/OpenApiParameter.cs @@ -411,10 +411,10 @@ public void SerializeAsV2WithoutReference(IOpenApiWriter writer) { Style = In switch { - ParameterLocation.Query => (ParameterStyle?)ParameterStyle.Form, - ParameterLocation.Header => (ParameterStyle?)ParameterStyle.Simple, - ParameterLocation.Path => (ParameterStyle?)ParameterStyle.Simple, - ParameterLocation.Cookie => (ParameterStyle?)ParameterStyle.Form, + ParameterLocation.Query => ParameterStyle.Form, + ParameterLocation.Header => ParameterStyle.Simple, + ParameterLocation.Path => ParameterStyle.Simple, + ParameterLocation.Cookie => ParameterStyle.Form, _ => (ParameterStyle?)ParameterStyle.Simple, }; diff --git a/src/Microsoft.OpenApi/Validations/Rules/RuleHelpers.cs b/src/Microsoft.OpenApi/Validations/Rules/RuleHelpers.cs index 630dc8e65..dc4b6d6c9 100644 --- a/src/Microsoft.OpenApi/Validations/Rules/RuleHelpers.cs +++ b/src/Microsoft.OpenApi/Validations/Rules/RuleHelpers.cs @@ -75,7 +75,7 @@ public static void ValidateDataTypeMismatch( } // If value is not a string and also not an object, there is a data mismatch. - if (!(value is OpenApiObject)) + if (value is not OpenApiObject anyObject) { context.CreateWarning( ruleName, @@ -83,8 +83,6 @@ public static void ValidateDataTypeMismatch( return; } - var anyObject = (OpenApiObject)value; - foreach (var key in anyObject.Keys) { context.Enter(key); @@ -115,7 +113,7 @@ public static void ValidateDataTypeMismatch( } // If value is not a string and also not an array, there is a data mismatch. - if (!(value is OpenApiArray)) + if (value is not OpenApiArray anyArray) { context.CreateWarning( ruleName, @@ -123,8 +121,6 @@ public static void ValidateDataTypeMismatch( return; } - var anyArray = (OpenApiArray)value; - for (int i = 0; i < anyArray.Count; i++) { context.Enter(i.ToString());