Esempio n. 1
0
    bool RecyclableObject::IsWritableDataOnlyDetectionBitSet()
    {
        if (DynamicType::Is(this->GetTypeId()))
        {
            DynamicObject* obj = DynamicObject::FromVar(this);
            return obj->GetTypeHandler()->IsWritableDataOnlyDetectionBitSet() ||
                (obj->HasObjectArray() && obj->GetObjectArrayOrFlagsAsArray()->IsWritableDataOnlyDetectionBitSet());
        }

        return false;
    }
Esempio n. 2
0
    bool RecyclableObject::HasOnlyWritableDataProperties()
    {
        if (DynamicType::Is(this->GetTypeId()))
        {
            DynamicObject* obj = DynamicObject::FromVar(this);
            return obj->GetTypeHandler()->GetHasOnlyWritableDataProperties() &&
                (!obj->HasObjectArray() || obj->GetObjectArrayOrFlagsAsArray()->HasOnlyWritableDataProperties());
        }

        return true;
    }
Esempio n. 3
0
 void RecyclableObject::ClearWritableDataOnlyDetectionBit()
 {
     if (DynamicType::Is(this->GetTypeId()))
     {
         DynamicObject* obj = DynamicObject::FromVar(this);
         obj->GetTypeHandler()->ClearWritableDataOnlyDetectionBit();
         if (obj->HasObjectArray())
         {
             obj->GetObjectArrayOrFlagsAsArray()->ClearWritableDataOnlyDetectionBit();
         }
     }
 }