예제 #1
0
        public override string ToString()
        {
            var output           = new Output();
            var definitionStatus = DefinitionStatus.ToStringOutput();

            output.Append(definitionStatus);
            if (definitionStatus.Length > 0)
            {
                output.Append(" ");
            }
            SubExpression.ToStringFormatted(output);
            return(output.ToString());
        }
예제 #2
0
        public static string ToStringOutput(this DefinitionStatus definitionStatus)
        {
            switch (definitionStatus)
            {
            case DefinitionStatus.None:
                return("");

            case DefinitionStatus.EquivalentTo:
                return("===");

            case DefinitionStatus.SubTypeOf:
                return("<<<");

            default:
                throw new InvalidEnumArgumentException(nameof(definitionStatus), (int)definitionStatus,
                                                       typeof(DefinitionStatus));
            }
        }
예제 #3
0
 public Expression(FocusConcept focusConcept, IRefinement refinement = null,
                   DefinitionStatus definitionStatus = DefinitionStatus.None)
 {
     DefinitionStatus = definitionStatus;
     SubExpression    = new SubExpression(focusConcept, refinement);
 }
예제 #4
0
 public Expression(SubExpression subExpression, DefinitionStatus definitionStatus = DefinitionStatus.None)
 {
     DefinitionStatus = definitionStatus;
     SubExpression    = subExpression;
 }
예제 #5
0
 public Expression(IEnumerable <FocusConcept> focusConcepts, IRefinement refinement = null,
                   DefinitionStatus definitionStatus = DefinitionStatus.None)
 {
     DefinitionStatus = definitionStatus;
     SubExpression    = new SubExpression(focusConcepts, refinement);
 }
예제 #6
0
 public bool ContainsSlot()
 {
     return(DefinitionStatus.ContainsSlot() || Subexpression.ContainsSlot());
 }