Skip to content

Commit 85a0a1f

Browse files
committed
Clean up and add copy constructors
1 parent 7cd6abc commit 85a0a1f

11 files changed

+47
-9
lines changed

src/Microsoft.OpenApi/Any/IOpenApiAny.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT license.
33

4-
using System;
54
using Microsoft.OpenApi.Interfaces;
65

76
namespace Microsoft.OpenApi.Any

src/Microsoft.OpenApi/Any/CloneHelper.cs renamed to src/Microsoft.OpenApi/Any/OpenApiAnyCloneHelper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ namespace Microsoft.OpenApi.Any
88
/// <summary>
99
/// Contains logic for cloning objects through copy constructors.
1010
/// </summary>
11-
public class CloneHelper
11+
public class OpenApiAnyCloneHelper
1212
{
1313
/// <summary>
1414
/// Clones an instance of <see cref="IOpenApiAny"/> object from the copy constructor

src/Microsoft.OpenApi/Any/OpenApiArray.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,19 @@ public class OpenApiArray : List<IOpenApiAny>, IOpenApiAny
1717
/// </summary>
1818
public AnyType AnyType { get; } = AnyType.Array;
1919

20+
/// <summary>
21+
/// Parameterless constructor
22+
/// </summary>
23+
public OpenApiArray() { }
24+
25+
/// <summary>
26+
/// Initializes a copy of <see cref="OpenApiArray"/> object
27+
/// </summary>
28+
public OpenApiArray(OpenApiArray array)
29+
{
30+
AnyType = array.AnyType;
31+
}
32+
2033
/// <summary>
2134
/// Write out contents of OpenApiArray to passed writer
2235
/// </summary>

src/Microsoft.OpenApi/Any/OpenApiNull.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,19 @@ public class OpenApiNull : IOpenApiAny
1515
/// </summary>
1616
public AnyType AnyType { get; } = AnyType.Null;
1717

18+
/// <summary>
19+
/// Parameterless constructor
20+
/// </summary>
21+
public OpenApiNull() { }
22+
23+
/// <summary>
24+
/// Initializes a copy of <see cref="OpenApiNull"/> object
25+
/// </summary>
26+
public OpenApiNull(OpenApiNull openApiNull)
27+
{
28+
AnyType = openApiNull.AnyType;
29+
}
30+
1831
/// <summary>
1932
/// Write out null representation
2033
/// </summary>

src/Microsoft.OpenApi/Any/OpenApiObject.cs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,19 @@ public class OpenApiObject : Dictionary<string, IOpenApiAny>, IOpenApiAny
1616
/// </summary>
1717
public AnyType AnyType { get; } = AnyType.Object;
1818

19+
/// <summary>
20+
/// Parameterless constructor
21+
/// </summary>
22+
public OpenApiObject() { }
23+
24+
/// <summary>
25+
/// Initializes a copy of <see cref="OpenApiObject"/> object
26+
/// </summary>
27+
public OpenApiObject(OpenApiObject obj)
28+
{
29+
AnyType = obj.AnyType;
30+
}
31+
1932
/// <summary>
2033
/// Serialize OpenApiObject to writer
2134
/// </summary>

src/Microsoft.OpenApi/Models/OpenApiExample.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ public OpenApiExample(OpenApiExample example)
6666
{
6767
Summary = example.Summary;
6868
Description = example.Description;
69-
Value = CloneHelper.CloneFromCopyConstructor(example.Value);
69+
Value = OpenApiAnyCloneHelper.CloneFromCopyConstructor(example.Value);
7070
ExternalValue = example.ExternalValue;
7171
Extensions = new Dictionary<string, IOpenApiExtension>(example.Extensions);
7272
Reference = new(example.Reference);

src/Microsoft.OpenApi/Models/OpenApiHeader.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ public OpenApiHeader(OpenApiHeader header)
106106
Explode = header.Explode;
107107
AllowReserved = header.AllowReserved;
108108
Schema = new(header.Schema);
109-
Example = CloneHelper.CloneFromCopyConstructor(header.Example);
109+
Example = OpenApiAnyCloneHelper.CloneFromCopyConstructor(header.Example);
110110
Examples = new Dictionary<string, OpenApiExample>(header.Examples);
111111
Content = new Dictionary<string, OpenApiMediaType>(header.Content);
112112
Extensions = new Dictionary<string, IOpenApiExtension>(header.Extensions);

src/Microsoft.OpenApi/Models/OpenApiMediaType.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public OpenApiMediaType() {}
5454
public OpenApiMediaType(OpenApiMediaType mediaType)
5555
{
5656
Schema = new(mediaType.Schema);
57-
Example = CloneHelper.CloneFromCopyConstructor(mediaType.Example);
57+
Example = OpenApiAnyCloneHelper.CloneFromCopyConstructor(mediaType.Example);
5858
Examples = new Dictionary<string, OpenApiExample>(mediaType.Examples);
5959
Encoding = new Dictionary<string, OpenApiEncoding>(mediaType.Encoding);
6060
Extensions = new Dictionary<string, IOpenApiExtension>(mediaType.Extensions);

src/Microsoft.OpenApi/Models/OpenApiParameter.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ public OpenApiParameter(OpenApiParameter parameter)
157157
AllowReserved = parameter.AllowReserved;
158158
Schema = new(parameter.Schema);
159159
Examples = new Dictionary<string, OpenApiExample>(parameter.Examples);
160-
Example = CloneHelper.CloneFromCopyConstructor(parameter.Example);
160+
Example = OpenApiAnyCloneHelper.CloneFromCopyConstructor(parameter.Example);
161161
Content = new Dictionary<string, OpenApiMediaType>(parameter.Content);
162162
Extensions = new Dictionary<string, IOpenApiExtension>(parameter.Extensions);
163163
AllowEmptyValue = parameter.AllowEmptyValue;

src/Microsoft.OpenApi/Models/OpenApiSchema.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ public OpenApiSchema(OpenApiSchema schema)
264264
MinLength = schema.MinLength;
265265
Pattern = schema.Pattern;
266266
MultipleOf = schema.MultipleOf;
267-
Default = CloneHelper.CloneFromCopyConstructor(schema.Default);
267+
Default = OpenApiAnyCloneHelper.CloneFromCopyConstructor(schema.Default);
268268
ReadOnly = schema.ReadOnly;
269269
WriteOnly = schema.WriteOnly;
270270
AllOf = new List<OpenApiSchema>(schema.AllOf);
@@ -282,7 +282,7 @@ public OpenApiSchema(OpenApiSchema schema)
282282
AdditionalPropertiesAllowed = schema.AdditionalPropertiesAllowed;
283283
AdditionalProperties = new(schema.AdditionalProperties);
284284
Discriminator = new(schema.Discriminator);
285-
Example = CloneHelper.CloneFromCopyConstructor(schema.Example);
285+
Example = OpenApiAnyCloneHelper.CloneFromCopyConstructor(schema.Example);
286286
Enum = new List<IOpenApiAny>(schema.Enum);
287287
Nullable = schema.Nullable;
288288
ExternalDocs = new(schema.ExternalDocs);

0 commit comments

Comments
 (0)