internal JSWrappedProperty(PropertyInfo property, Object obj){
this.obj = obj;
this.property = property;
if (obj is JSObject){
Type pt = property.DeclaringType;
if (pt == Typeob.Object || pt == Typeob.String || pt.IsPrimitive || pt == Typeob.Array){
if (obj is BooleanObject) this.obj = ((BooleanObject)obj).value;
else if (obj is NumberObject) this.obj = ((NumberObject)obj).value;
else if (obj is StringObject) this.obj = ((StringObject)obj).value;
else if (obj is ArrayWrapper) this.obj = ((ArrayWrapper)obj).value;
}
}
}