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); }
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); }
public static dynamic Convert(NovaNumber number) { return(RuntimeOperations.Convert(number._internal, number._myType)); }