コード例 #1
0
ファイル: jsref.cs プロジェクト: mhoffesommer/pygmalion
        public static object GetValue(ExecutionContext GLOBAL, object reference)
        {
            Reference refer = reference as Reference;

            if (refer == null)
            {
                return(reference);
            }
            JSObjectBase baseOb = refer.GetBase();

            if (baseOb == null)
            {
                baseOb = GLOBAL.jobject;
            }
            JSProperty prop = baseOb.GetItem(GLOBAL, refer.GetPropertyName());

            if (prop == null && baseOb == GLOBAL.jobject)
            {
                throw new ReferenceError(baseOb.ToString() + " of type " + baseOb.Class + " doesn't have a " + (refer != null ? refer.GetPropertyName() : reference.ToString()) + " property.");
            }
            else if (prop == null)
            {
                return(JSUndefined.Undefined);
            }
            else
            {
                return(prop.GetValue(GLOBAL));
            }
        }
コード例 #2
0
ファイル: jsref.cs プロジェクト: mhoffesommer/pygmalion
 public override string ToString()
 {
     return("{ base: " + (mBase == null ? "(null)" : mBase.ToString()) + ", propName: " + GetPropertyName() + " }");
 }