Skip to content

Commit eae3641

Browse files
committed
Create new object instances for copying purposes
1 parent 0298364 commit eae3641

31 files changed

+123
-106
lines changed

src/Microsoft.OpenApi/Models/OpenApiCallback.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,10 @@ public OpenApiCallback() { }
4545
/// </summary>
4646
public OpenApiCallback(OpenApiCallback callback)
4747
{
48-
PathItems = callback.PathItems;
48+
PathItems = new(callback.PathItems);
4949
UnresolvedReference = callback.UnresolvedReference;
50-
Reference = callback.Reference;
51-
Extensions = callback.Extensions;
50+
Reference = new(callback.Reference);
51+
Extensions = new Dictionary<string, IOpenApiExtension>(callback.Extensions);
5252
}
5353

5454
/// <summary>

src/Microsoft.OpenApi/Models/OpenApiComponents.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -78,16 +78,16 @@ public OpenApiComponents() { }
7878
/// </summary>
7979
public OpenApiComponents(OpenApiComponents components)
8080
{
81-
Schemas = components.Schemas;
82-
Responses = components.Responses;
83-
Parameters = components.Parameters;
84-
Examples = components.Examples;
85-
RequestBodies = components.RequestBodies;
86-
Headers = components.Headers;
87-
SecuritySchemes = components.SecuritySchemes;
88-
Links = components.Links;
89-
Callbacks = components.Callbacks;
90-
Extensions = components.Extensions;
81+
Schemas = new Dictionary<string, OpenApiSchema>(components.Schemas);
82+
Responses = new Dictionary<string, OpenApiResponse>(components.Responses);
83+
Parameters = new Dictionary<string, OpenApiParameter>(components.Parameters);
84+
Examples = new Dictionary<string, OpenApiExample>(components.Examples);
85+
RequestBodies = new Dictionary<string, OpenApiRequestBody>(components.RequestBodies);
86+
Headers = new Dictionary<string, OpenApiHeader>(components.Headers);
87+
SecuritySchemes = new Dictionary<string, OpenApiSecurityScheme>(components.SecuritySchemes);
88+
Links = new Dictionary<string, OpenApiLink>(components.Links);
89+
Callbacks = new Dictionary<string, OpenApiCallback>(components.Callbacks);
90+
Extensions = new Dictionary<string, IOpenApiExtension>(components.Extensions);
9191
}
9292

9393
/// <summary>

src/Microsoft.OpenApi/Models/OpenApiContact.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public OpenApiContact(OpenApiContact contact)
4848
Name = contact.Name;
4949
Url = contact.Url;
5050
Email = contact.Email;
51-
Extensions = contact.Extensions;
51+
Extensions = new Dictionary<string, IOpenApiExtension>(contact.Extensions);
5252
}
5353

5454
/// <summary>

src/Microsoft.OpenApi/Models/OpenApiDiscriminator.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ public OpenApiDiscriminator() { }
3333
public OpenApiDiscriminator(OpenApiDiscriminator discriminator)
3434
{
3535
PropertyName = discriminator.PropertyName;
36-
Mapping = discriminator.Mapping;
36+
Mapping = new Dictionary<string, string>(discriminator.Mapping);
3737
}
3838

3939
/// <summary>

src/Microsoft.OpenApi/Models/OpenApiDocument.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -72,15 +72,15 @@ public OpenApiDocument() {}
7272
/// </summary>
7373
public OpenApiDocument(OpenApiDocument document)
7474
{
75-
Workspace = document.Workspace;
76-
Info = document.Info;
77-
Servers = document.Servers;
78-
Paths = document.Paths;
79-
Components = document.Components;
80-
SecurityRequirements = document.SecurityRequirements;
81-
Tags = document.Tags;
82-
ExternalDocs = document.ExternalDocs;
83-
Extensions = document.Extensions;
75+
Workspace = new(document.Workspace);
76+
Info = new(document.Info);
77+
Servers = new List<OpenApiServer>(document.Servers);
78+
Paths = new(document.Paths);
79+
Components = new(document.Components);
80+
SecurityRequirements = new List<OpenApiSecurityRequirement>(document.SecurityRequirements);
81+
Tags = new List<OpenApiTag>(document.Tags);
82+
ExternalDocs = new(document.ExternalDocs);
83+
Extensions = new Dictionary<string, IOpenApiExtension>(document.Extensions);
8484
}
8585

8686
/// <summary>

src/Microsoft.OpenApi/Models/OpenApiEncoding.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,11 +64,11 @@ public OpenApiEncoding() {}
6464
public OpenApiEncoding(OpenApiEncoding encoding)
6565
{
6666
ContentType = encoding.ContentType;
67-
Headers = encoding.Headers;
67+
Headers = new Dictionary<string, OpenApiHeader>(encoding.Headers);
6868
Style = encoding.Style;
6969
Explode = encoding.Explode;
7070
AllowReserved = encoding.AllowReserved;
71-
Extensions = encoding.Extensions;
71+
Extensions = new Dictionary<string, IOpenApiExtension>(encoding.Extensions);
7272
}
7373

7474
/// <summary>

src/Microsoft.OpenApi/Models/OpenApiExample.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,8 +68,8 @@ public OpenApiExample(OpenApiExample example)
6868
Description = example.Description;
6969
Value = example.Value;
7070
ExternalValue = example.ExternalValue;
71-
Extensions = example.Extensions;
72-
Reference = example.Reference;
71+
Extensions = new Dictionary<string, IOpenApiExtension>(example.Extensions);
72+
Reference = new(example.Reference);
7373
UnresolvedReference = example.UnresolvedReference;
7474
}
7575

src/Microsoft.OpenApi/Models/OpenApiExternalDocs.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public OpenApiExternalDocs(OpenApiExternalDocs externalDocs)
4141
{
4242
Description = externalDocs.Description;
4343
Url = externalDocs.Url;
44-
Extensions = externalDocs.Extensions;
44+
Extensions = new Dictionary<string, IOpenApiExtension>(externalDocs.Extensions);
4545
}
4646

4747
/// <summary>

src/Microsoft.OpenApi/Models/OpenApiHeader.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -97,19 +97,19 @@ public OpenApiHeader() {}
9797
public OpenApiHeader(OpenApiHeader header)
9898
{
9999
UnresolvedReference = header.UnresolvedReference;
100-
Reference = header.Reference;
100+
Reference = new(header.Reference);
101101
Description = header.Description;
102102
Required = header.Required;
103103
Deprecated = header.Deprecated;
104104
AllowEmptyValue = header.AllowEmptyValue;
105105
Style = header.Style;
106106
Explode = header.Explode;
107107
AllowReserved = header.AllowReserved;
108-
Schema = header.Schema;
108+
Schema = new(header.Schema);
109109
Example = header.Example;
110-
Examples = header.Examples;
111-
Content = header.Content;
112-
Extensions = header.Extensions;
110+
Examples = new Dictionary<string, OpenApiExample>(header.Examples);
111+
Content = new Dictionary<string, OpenApiMediaType>(header.Content);
112+
Extensions = new Dictionary<string, IOpenApiExtension>(header.Extensions);
113113
}
114114

115115
/// <summary>

src/Microsoft.OpenApi/Models/OpenApiInfo.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,9 @@ public OpenApiInfo(OpenApiInfo info)
6363
Description = info.Description;
6464
Version = info.Version;
6565
TermsOfService = info.TermsOfService;
66-
Contact = info.Contact;
67-
License = info.License;
68-
Extensions = info.Extensions;
66+
Contact = new(info.Contact);
67+
License = new(info.License);
68+
Extensions = new Dictionary<string, IOpenApiExtension>(info.Extensions);
6969
}
7070

7171
/// <summary>

0 commit comments

Comments
 (0)