def METHOD_NAME(obj):
    if not obj.is_object():
        raise MakeError('TypeError',
                        'Object.isFrozen called on non-object')
    if obj.extensible:
        return False
    for desc in obj.own.values():
        if desc['configurable']:
            return False
        if is_data_descriptor(desc) and desc['writable']:
            return False
    return True