Example #1
0
 public override bool Equals(object obj)
 {
     if (obj is NovaNumber)
     {
         return(RuntimeOperations.Convert(((NovaNumber)obj)._internal, _myType) ==
                RuntimeOperations.Convert(_internal, _myType));
     }
     if (_numberTypes.Contains(obj.GetType()))
     {
         return(RuntimeOperations.Convert(obj, _myType) == RuntimeOperations.Convert(_internal, _myType));
     }
     return(false);
 }
Example #2
0
        private static dynamic ClassEval(object self, string eval, NovaScope scope)
        {
            NovaClass @class;
            var       instance = self as NovaInstance;

            if (instance != null)
            {
                @class = instance.Class;
            }
            else
            {
                @class = self as NovaClass;
            }
            if (@class == null)
            {
                return(null);
            }

            var xexpression = string.Format("{0};", eval);

            var res = NovaParser.Parse(xexpression);

            return(res != null?RuntimeOperations.DefineCategory(@class, res.ToList(), scope) : null);
        }
Example #3
0
 public static dynamic Convert(NovaNumber number)
 {
     return(RuntimeOperations.Convert(number._internal, number._myType));
 }