protected override JObject Visit(ConstrainedPart part) { var result = part.Inner.AcceptForValue(this); result["constraint"] = ConstraintDescriber.Describe(part.Constraint); return(result); }
public void Visit(ConstrainedPart part) { var left = Describe(part.Inner); sb.Append(left); var right = Describe(part.Constraint); if (right == left) { return; } sb.Append(':'); sb.Append(right); }
public static SignaturePart Constrained([NotNull] SignaturePart inner, [NotNull] Constraint constraint) { return(ConstrainedPart.From(inner, constraint)); }
void ISignatureVisitor.Visit(ConstrainedPart part) => result = Visit(part);
protected abstract T Visit([NotNull] ConstrainedPart part);