Пример #1
0
    protected override string GetTokenDataString()
    {
        StringBuilder buffer = new StringBuilder();

        buffer.AppendLine();
        buffer.AppendLine($"Lhs={(Lhs != null ? Lhs.ToString() : "null")},");
        buffer.AppendLine($"Rhs={(Rhs != null ? Rhs.ToString() : "null")}");

        return(buffer.ToString());
    }
Пример #2
0
 public override string ToString()
 {
     if (Rhs != null)
     {
         return(string.Format("{0}={1}", Lhs.ToString(), Rhs.ToString()));
     }
     else
     {
         return(Lhs.ToString());
     }
 }
Пример #3
0
        public override bool Equals(object obj)
        {
            var eqGoal = obj as EqGoal;

            if (eqGoal != null)
            {
                if (Rhs == null)
                {
                    return(Lhs.Equals(eqGoal.Lhs));
                }

                bool isNum1 = LogicSharp.IsNumeric(Rhs);
                bool isNum2 = LogicSharp.IsNumeric(eqGoal.Rhs);
                bool result;
                if (isNum1 && isNum2)
                {
                    result = LogicSharp.NumericEqual(Rhs, eqGoal.Rhs);
                }
                else
                {
                    result = Rhs.Equals(eqGoal.Rhs);
                }
                return(Lhs.Equals(eqGoal.Lhs) && result);
            }

            var eq = obj as Equation;

            if (eq != null)
            {
                if (Rhs == null)
                {
                    return(Lhs.Equals(eq.Lhs));
                }
                bool isNum1 = LogicSharp.IsNumeric(Rhs);
                bool isNum2 = LogicSharp.IsNumeric(eq.Rhs);
                bool result;
                if (isNum1 && isNum2)
                {
                    result = LogicSharp.NumericEqual(Rhs, eq.Rhs);
                }
                else
                {
                    result = Rhs.Equals(eq.Rhs);
                }

                if (eq.Lhs == null)
                {
                    return(false);
                }
                return(Lhs.ToString().Equals(eq.Lhs.ToString()) && result);
            }

            return(false);
        }
Пример #4
0
 public override void GuardTypeSafety()
 {
     if (Lhs == null || Lhs.ReturnType == null)
     {
         return;
     }
     if (Lhs.ReturnType != typeof(string))
     {
         throw ConvertException.StaticTypeSafety(typeof(bool), Lhs.ReturnType, Lhs.ToString());
     }
     Lhs.GuardTypeSafety();
     if (Rhs == null || Rhs.ReturnType == null)
     {
         return;
     }
     Rhs.GuardTypeSafety();
 }
Пример #5
0
 public override string ToString()
 {
     return(string.Format("{0}-{1}", Lhs.ToString(), Rhs.ToString()));
 }
Пример #6
0
 public override string ToString()
 {
     return(string.Format("{0}{1}{2}", Lhs.ToString(), Operation, Rhs.ToString()));
 }
 public override string ToString()
 {
     return(Lhs.ToString());
 }