コード例 #1
0
ファイル: jsobject.cs プロジェクト: mhoffesommer/pygmalion
        public virtual bool HasInstance(ExecutionContext GLOBAL, object ob)
        {
            if (ob == null || ob is JSUndefined || ob is bool || ob is double || ob is string)
            {
                return(false);
            }
            object o = this.GetItem(GLOBAL, "prototype").GetValue(GLOBAL);

            if (o == null || o is JSUndefined || o is bool || o is double || o is string)
            {
                throw new TypeError(Class + " is not a progenitor in this case");
            }
            do
            {
                ob = JSObject.GetPrototype(GLOBAL, ob);
                if (o == ob)
                {
                    return(true);
                }
            }while (ob != null);
            return(false);
        }