Skip to content

Commit 778184f

Browse files
committed
fix: restores default constructor for ISerializable implementation
1 parent 4f28b65 commit 778184f

File tree

2 files changed

+45
-40
lines changed

2 files changed

+45
-40
lines changed

src/Microsoft.OpenApi/Models/OpenApiExtensibleDictionary.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,17 @@ public abstract class OpenApiExtensibleDictionary<T> : Dictionary<string, T>,
1717
IOpenApiExtensible
1818
where T : IOpenApiSerializable
1919
{
20+
/// <summary>
21+
/// Parameterless constructor
22+
/// </summary>
23+
protected OpenApiExtensibleDictionary():this(null) { }
2024
/// <summary>
2125
/// Initializes a copy of <see cref="OpenApiExtensibleDictionary{T}"/> class.
2226
/// </summary>
2327
/// <param name="dictionary">The generic dictionary.</param>
2428
/// <param name="extensions">The dictionary of <see cref="IOpenApiExtension"/>.</param>
2529
protected OpenApiExtensibleDictionary(
26-
Dictionary<string, T> dictionary = null,
30+
Dictionary<string, T> dictionary,
2731
IDictionary<string, IOpenApiExtension> extensions = null) : base(dictionary is null ? [] : dictionary)
2832
{
2933
Extensions = extensions != null ? new Dictionary<string, IOpenApiExtension>(extensions) : [];

test/Microsoft.OpenApi.Tests/PublicApi/PublicApi.approved.txt

Lines changed: 40 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -629,7 +629,7 @@ namespace Microsoft.OpenApi.Models
629629
where T : Microsoft.OpenApi.Interfaces.IOpenApiSerializable
630630
{
631631
protected OpenApiExtensibleDictionary() { }
632-
protected OpenApiExtensibleDictionary(System.Collections.Generic.Dictionary<string, T> dictionary = null, System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Interfaces.IOpenApiExtension> extensions = null) { }
632+
protected OpenApiExtensibleDictionary(System.Collections.Generic.Dictionary<string, T> dictionary, System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Interfaces.IOpenApiExtension> extensions = null) { }
633633
public System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Interfaces.IOpenApiExtension> Extensions { get; set; }
634634
public void SerializeAsV2(Microsoft.OpenApi.Writers.IOpenApiWriter writer) { }
635635
public void SerializeAsV3(Microsoft.OpenApi.Writers.IOpenApiWriter writer) { }
@@ -1452,6 +1452,7 @@ namespace Microsoft.OpenApi.Services
14521452
}
14531453
public class OpenApiReferenceError : Microsoft.OpenApi.Models.OpenApiError
14541454
{
1455+
public readonly Microsoft.OpenApi.Models.OpenApiReference Reference;
14551456
public OpenApiReferenceError(Microsoft.OpenApi.Exceptions.OpenApiException exception) { }
14561457
public OpenApiReferenceError(Microsoft.OpenApi.Models.OpenApiReference reference, string message) { }
14571458
}
@@ -1577,43 +1578,43 @@ namespace Microsoft.OpenApi.Validations
15771578
public System.Collections.Generic.IEnumerable<Microsoft.OpenApi.Validations.OpenApiValidatorWarning> Warnings { get; }
15781579
public void AddError(Microsoft.OpenApi.Validations.OpenApiValidatorError error) { }
15791580
public void AddWarning(Microsoft.OpenApi.Validations.OpenApiValidatorWarning warning) { }
1580-
public override void Visit(Microsoft.OpenApi.Interfaces.IOpenApiExtensible item) { }
1581-
public override void Visit(Microsoft.OpenApi.Interfaces.IOpenApiExtension item) { }
1582-
public override void Visit(Microsoft.OpenApi.Models.OpenApiCallback item) { }
1583-
public override void Visit(Microsoft.OpenApi.Models.OpenApiComponents item) { }
1584-
public override void Visit(Microsoft.OpenApi.Models.OpenApiContact item) { }
1585-
public override void Visit(Microsoft.OpenApi.Models.OpenApiDocument item) { }
1586-
public override void Visit(Microsoft.OpenApi.Models.OpenApiEncoding item) { }
1587-
public override void Visit(Microsoft.OpenApi.Models.OpenApiExample item) { }
1588-
public override void Visit(Microsoft.OpenApi.Models.OpenApiExternalDocs item) { }
1589-
public override void Visit(Microsoft.OpenApi.Models.OpenApiHeader item) { }
1590-
public override void Visit(Microsoft.OpenApi.Models.OpenApiInfo item) { }
1591-
public override void Visit(Microsoft.OpenApi.Models.OpenApiLicense item) { }
1592-
public override void Visit(Microsoft.OpenApi.Models.OpenApiLink item) { }
1593-
public override void Visit(Microsoft.OpenApi.Models.OpenApiMediaType item) { }
1594-
public override void Visit(Microsoft.OpenApi.Models.OpenApiOAuthFlow item) { }
1595-
public override void Visit(Microsoft.OpenApi.Models.OpenApiOperation item) { }
1596-
public override void Visit(Microsoft.OpenApi.Models.OpenApiParameter item) { }
1597-
public override void Visit(Microsoft.OpenApi.Models.OpenApiPathItem item) { }
1598-
public override void Visit(Microsoft.OpenApi.Models.OpenApiPaths item) { }
1599-
public override void Visit(Microsoft.OpenApi.Models.OpenApiRequestBody item) { }
1600-
public override void Visit(Microsoft.OpenApi.Models.OpenApiResponse item) { }
1601-
public override void Visit(Microsoft.OpenApi.Models.OpenApiResponses item) { }
1602-
public override void Visit(Microsoft.OpenApi.Models.OpenApiSchema item) { }
1603-
public override void Visit(Microsoft.OpenApi.Models.OpenApiSecurityRequirement item) { }
1604-
public override void Visit(Microsoft.OpenApi.Models.OpenApiSecurityScheme item) { }
1605-
public override void Visit(Microsoft.OpenApi.Models.OpenApiServer item) { }
1606-
public override void Visit(Microsoft.OpenApi.Models.OpenApiServerVariable item) { }
1607-
public override void Visit(Microsoft.OpenApi.Models.OpenApiTag item) { }
1608-
public override void Visit(System.Collections.Generic.IDictionary<Microsoft.OpenApi.Models.OperationType, Microsoft.OpenApi.Models.OpenApiOperation> item) { }
1609-
public override void Visit(System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Models.OpenApiCallback> item) { }
1610-
public override void Visit(System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Models.OpenApiEncoding> item) { }
1611-
public override void Visit(System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Models.OpenApiExample> item) { }
1612-
public override void Visit(System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Models.OpenApiHeader> item) { }
1613-
public override void Visit(System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Models.OpenApiLink> item) { }
1614-
public override void Visit(System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Models.OpenApiMediaType> item) { }
1615-
public override void Visit(System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Models.OpenApiServerVariable> item) { }
1616-
public override void Visit(System.Collections.Generic.IList<Microsoft.OpenApi.Models.OpenApiExample> items) { }
1581+
public override void Visit(Microsoft.OpenApi.Interfaces.IOpenApiExtensible openApiExtensible) { }
1582+
public override void Visit(Microsoft.OpenApi.Interfaces.IOpenApiExtension openApiExtension) { }
1583+
public override void Visit(Microsoft.OpenApi.Models.OpenApiCallback callback) { }
1584+
public override void Visit(Microsoft.OpenApi.Models.OpenApiComponents components) { }
1585+
public override void Visit(Microsoft.OpenApi.Models.OpenApiContact contact) { }
1586+
public override void Visit(Microsoft.OpenApi.Models.OpenApiDocument doc) { }
1587+
public override void Visit(Microsoft.OpenApi.Models.OpenApiEncoding encoding) { }
1588+
public override void Visit(Microsoft.OpenApi.Models.OpenApiExample example) { }
1589+
public override void Visit(Microsoft.OpenApi.Models.OpenApiExternalDocs externalDocs) { }
1590+
public override void Visit(Microsoft.OpenApi.Models.OpenApiHeader header) { }
1591+
public override void Visit(Microsoft.OpenApi.Models.OpenApiInfo info) { }
1592+
public override void Visit(Microsoft.OpenApi.Models.OpenApiLicense license) { }
1593+
public override void Visit(Microsoft.OpenApi.Models.OpenApiLink link) { }
1594+
public override void Visit(Microsoft.OpenApi.Models.OpenApiMediaType mediaType) { }
1595+
public override void Visit(Microsoft.OpenApi.Models.OpenApiOAuthFlow openApiOAuthFlow) { }
1596+
public override void Visit(Microsoft.OpenApi.Models.OpenApiOperation operation) { }
1597+
public override void Visit(Microsoft.OpenApi.Models.OpenApiParameter parameter) { }
1598+
public override void Visit(Microsoft.OpenApi.Models.OpenApiPathItem pathItem) { }
1599+
public override void Visit(Microsoft.OpenApi.Models.OpenApiPaths paths) { }
1600+
public override void Visit(Microsoft.OpenApi.Models.OpenApiRequestBody requestBody) { }
1601+
public override void Visit(Microsoft.OpenApi.Models.OpenApiResponse response) { }
1602+
public override void Visit(Microsoft.OpenApi.Models.OpenApiResponses response) { }
1603+
public override void Visit(Microsoft.OpenApi.Models.OpenApiSchema schema) { }
1604+
public override void Visit(Microsoft.OpenApi.Models.OpenApiSecurityRequirement securityRequirement) { }
1605+
public override void Visit(Microsoft.OpenApi.Models.OpenApiSecurityScheme securityScheme) { }
1606+
public override void Visit(Microsoft.OpenApi.Models.OpenApiServer server) { }
1607+
public override void Visit(Microsoft.OpenApi.Models.OpenApiServerVariable serverVariable) { }
1608+
public override void Visit(Microsoft.OpenApi.Models.OpenApiTag tag) { }
1609+
public override void Visit(System.Collections.Generic.IDictionary<Microsoft.OpenApi.Models.OperationType, Microsoft.OpenApi.Models.OpenApiOperation> operations) { }
1610+
public override void Visit(System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Models.OpenApiCallback> callbacks) { }
1611+
public override void Visit(System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Models.OpenApiEncoding> encodings) { }
1612+
public override void Visit(System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Models.OpenApiExample> examples) { }
1613+
public override void Visit(System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Models.OpenApiHeader> headers) { }
1614+
public override void Visit(System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Models.OpenApiLink> links) { }
1615+
public override void Visit(System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Models.OpenApiMediaType> content) { }
1616+
public override void Visit(System.Collections.Generic.IDictionary<string, Microsoft.OpenApi.Models.OpenApiServerVariable> serverVariables) { }
1617+
public override void Visit(System.Collections.Generic.IList<Microsoft.OpenApi.Models.OpenApiExample> example) { }
16171618
}
16181619
public class OpenApiValidatorError : Microsoft.OpenApi.Models.OpenApiError
16191620
{
@@ -1670,7 +1671,7 @@ namespace Microsoft.OpenApi.Validations.Rules
16701671
[Microsoft.OpenApi.Validations.Rules.OpenApiRule]
16711672
public static class OpenApiComponentsRules
16721673
{
1673-
public static System.Text.RegularExpressions.Regex KeyRegex;
1674+
public static readonly System.Text.RegularExpressions.Regex KeyRegex;
16741675
public static Microsoft.OpenApi.Validations.ValidationRule<Microsoft.OpenApi.Models.OpenApiComponents> KeyMustBeRegularExpression { get; }
16751676
}
16761677
[Microsoft.OpenApi.Validations.Rules.OpenApiRule]

0 commit comments

Comments
 (0)