public override IEnumerable Compare()

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;
        }