Skip to content

Commit

Permalink
fix: aligns reference copy constructors
Browse files Browse the repository at this point in the history
Signed-off-by: Vincent Biret <vibiret@microsoft.com>
  • Loading branch information
baywet committed Jan 30, 2025
1 parent 9bc3044 commit ce93aa7
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,14 @@ public class OpenApiCallbackReference : BaseOpenApiReferenceHolder<OpenApiCallba
/// </param>
public OpenApiCallbackReference(string referenceId, OpenApiDocument hostDocument, string externalResource = null):base(referenceId, hostDocument, ReferenceType.Callback, externalResource)
{
}
/// <summary>
/// Copy constructor
/// </summary>
/// <param name="callback">The reference to copy</param>
private OpenApiCallbackReference(OpenApiCallbackReference callback):base(callback)
{

}

internal OpenApiCallbackReference(OpenApiCallback target, string referenceId):base(target, referenceId, ReferenceType.Callback)
Expand Down Expand Up @@ -55,9 +63,7 @@ public override void SerializeAsV2(IOpenApiWriter writer)
/// <inheritdoc/>
public IOpenApiCallback CreateShallowCopy()
{
return _target is null ?
new OpenApiCallbackReference(Reference.Id, Reference.HostDocument, Reference.ExternalResource) :
new OpenApiCallbackReference(_target, Reference.Id);
return new OpenApiCallbackReference(this);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@ public class OpenApiExampleReference : BaseOpenApiReferenceHolder<OpenApiExample
public OpenApiExampleReference(string referenceId, OpenApiDocument hostDocument, string externalResource = null):base(referenceId, hostDocument, ReferenceType.Example, externalResource)
{
}
/// <summary>
/// Copy constructor
/// </summary>
/// <param name="example">The example reference to copy</param>
private OpenApiExampleReference(OpenApiExampleReference example):base(example)
{
}

internal OpenApiExampleReference(OpenApiExample target, string referenceId):base(target, referenceId, ReferenceType.Example)
{
Expand Down Expand Up @@ -84,9 +91,7 @@ public override void SerializeAsV2(IOpenApiWriter writer)
/// <inheritdoc/>
public IOpenApiExample CreateShallowCopy()
{
return _target is null ?
new OpenApiExampleReference(Reference.Id, Reference.HostDocument, Reference.ExternalResource) :
new OpenApiExampleReference(_target, Reference.Id);
return new OpenApiExampleReference(this);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public OpenApiLinkReference(string referenceId, OpenApiDocument hostDocument, st
/// Copy constructor.
/// </summary>
/// <param name="reference">The reference to copy</param>
public OpenApiLinkReference(OpenApiLinkReference reference):base(reference)
private OpenApiLinkReference(OpenApiLinkReference reference):base(reference)
{
}
internal OpenApiLinkReference(OpenApiLink target, string referenceId):base(target, referenceId, ReferenceType.Link)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public OpenApiParameterReference(string referenceId, OpenApiDocument hostDocumen
/// Copy constructor
/// </summary>
/// <param name="parameter">The parameter reference to copy</param>
public OpenApiParameterReference(OpenApiParameterReference parameter):base(parameter)
private OpenApiParameterReference(OpenApiParameterReference parameter):base(parameter)
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,13 @@ public class OpenApiSchemaReference : BaseOpenApiReferenceHolder<OpenApiSchema,
public OpenApiSchemaReference(string referenceId, OpenApiDocument hostDocument, string externalResource = null):base(referenceId, hostDocument, ReferenceType.Schema, externalResource)
{
}
/// <summary>
/// Copy constructor
/// </summary>
/// <param name="schema">The schema reference to copy</param>
private OpenApiSchemaReference(OpenApiSchemaReference schema):base(schema)
{
}

internal OpenApiSchemaReference(OpenApiSchema target, string referenceId):base(target, referenceId, ReferenceType.Schema)
{
Expand Down Expand Up @@ -196,9 +203,7 @@ public override IOpenApiSchema CopyReferenceAsTargetElementWithOverrides(IOpenAp
/// <inheritdoc/>
public IOpenApiSchema CreateShallowCopy()
{
return _target is null ?
new OpenApiSchemaReference(Reference.Id, Reference.HostDocument, Reference.ExternalResource) :
new OpenApiSchemaReference(_target, Reference.Id);
return new OpenApiSchemaReference(this);
}
}
}

0 comments on commit ce93aa7

Please sign in to comment.