in openapi-diff/src/modeler/AutoRest.Swagger/Model/SwaggerParameter.cs [43:92]
public override IEnumerable<ComparisonMessage> Compare(
ComparisonContext<ServiceDefinition> context,
SwaggerParameter previous
)
{
var priorParameter = previous;
if (priorParameter == null)
{
throw new ArgumentNullException("priorVersion");
}
if (context == null)
{
throw new ArgumentNullException("context");
}
context.Direction = DataDirection.Request;
base.Compare(context, previous);
if (In != priorParameter.In)
{
context.LogBreakingChange(
ComparisonMessages.ParameterInHasChanged,
priorParameter.In.ToString().ToLower(),
In.ToString().ToLower()
);
}
if (IsConstant != priorParameter.IsConstant)
{
context.LogBreakingChange(ComparisonMessages.ConstantStatusHasChanged);
}
if (Reference != null && !Reference.Equals(priorParameter.Reference))
{
context.LogBreakingChange(ComparisonMessages.ReferenceRedirection);
}
if (Schema != null && priorParameter.Schema != null)
{
context.PushProperty("schema");
Schema.Compare(context, priorParameter.Schema);
context.Pop();
}
context.Direction = DataDirection.None;
return context.Messages;
}