2026-07-25 23:01:18 +02:00
|
|
|
#include "bscript/buninit.h"
|
2026-07-08 19:58:41 +02:00
|
|
|
|
2026-07-25 23:01:18 +02:00
|
|
|
#include "bscript/bobject.h"
|
2026-07-08 19:58:41 +02:00
|
|
|
|
|
|
|
|
namespace Pol::Bscript
|
|
|
|
|
{
|
|
|
|
|
|
2026-07-14 19:04:07 +02:00
|
|
|
Clib::fixed_allocator<UninitObject, 256> uninit_alloc;
|
2026-07-08 19:58:41 +02:00
|
|
|
|
|
|
|
|
UninitObject* UninitObject::SharedInstance;
|
|
|
|
|
ref_ptr<BObjectImp> UninitObject::SharedInstanceOwner;
|
|
|
|
|
BObjectRef UninitObject::SharedInstanceRef;
|
|
|
|
|
|
|
|
|
|
UninitObject::UninitObject() : BObjectImp( OTUninit ) {}
|
|
|
|
|
|
|
|
|
|
BObjectImp* UninitObject::copy() const
|
|
|
|
|
{
|
|
|
|
|
return create();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
size_t UninitObject::sizeEstimate() const
|
|
|
|
|
{
|
|
|
|
|
return sizeof( UninitObject );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool UninitObject::isTrue() const
|
|
|
|
|
{
|
|
|
|
|
return false;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* An uninit is equal to any other error or uninit
|
|
|
|
|
*/
|
|
|
|
|
bool UninitObject::operator==( const BObjectImp& imp ) const
|
|
|
|
|
{
|
|
|
|
|
return ( imp.isa( OTError ) || imp.isa( OTUninit ) );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
bool UninitObject::operator<( const BObjectImp& imp ) const
|
|
|
|
|
{
|
|
|
|
|
if ( imp.isa( OTError ) || imp.isa( OTUninit ) )
|
|
|
|
|
return false; // Because it's equal can't be lesser
|
|
|
|
|
|
|
|
|
|
return true;
|
|
|
|
|
}
|
|
|
|
|
} // namespace Pol::Bscript
|