dont use NULL macro

This commit is contained in:
IlyaShurupov 2024-03-23 12:16:44 +03:00 committed by Ilya Shurupov
parent 9d01ba2c8a
commit e78885d452
16 changed files with 52 additions and 52 deletions

View file

@ -50,7 +50,7 @@ ConstObject* ConstObjectsPool::registerObject(obj::Object* obj) {
ConstObject* ConstObjectsPool::get(tp::alni val) { ConstObject* ConstObjectsPool::get(tp::alni val) {
auto idx = mIntegers.presents(val); auto idx = mIntegers.presents(val);
ConstObject* const_obj = NULL; ConstObject* const_obj = nullptr;
if (idx) { if (idx) {
const_obj = mIntegers.getSlotVal(idx); const_obj = mIntegers.getSlotVal(idx);
} else { } else {
@ -62,7 +62,7 @@ ConstObject* ConstObjectsPool::get(tp::alni val) {
ConstObject* ConstObjectsPool::get(const std::string& val) { ConstObject* ConstObjectsPool::get(const std::string& val) {
auto idx = mStrings.presents(val); auto idx = mStrings.presents(val);
ConstObject* const_obj = NULL; ConstObject* const_obj = nullptr;
if (idx) { if (idx) {
const_obj = mStrings.getSlotVal(idx); const_obj = mStrings.getSlotVal(idx);
} else { } else {
@ -74,7 +74,7 @@ ConstObject* ConstObjectsPool::get(const std::string& val) {
ConstObject* ConstObjectsPool::get(tp::alnf val) { ConstObject* ConstObjectsPool::get(tp::alnf val) {
auto idx = mFloats.presents(val); auto idx = mFloats.presents(val);
ConstObject* const_obj = NULL; ConstObject* const_obj = nullptr;
if (idx) { if (idx) {
const_obj = mFloats.getSlotVal(idx); const_obj = mFloats.getSlotVal(idx);
} else { } else {

View file

@ -62,13 +62,13 @@ void FunctionDefinition::EvalStatement(Statement* stm) {
EvalExpr(stm_while->mCondition); EvalExpr(stm_while->mCondition);
auto jump_if_inst = inst(Instruction(NULL, Instruction::InstType::JUMP_IF_NOT)); auto jump_if_inst = inst(Instruction(nullptr, Instruction::InstType::JUMP_IF_NOT));
if (stm_while->mScope) { if (stm_while->mScope) {
EvalStatement(stm_while->mScope); EvalStatement(stm_while->mScope);
} }
auto jump_inst = inst(Instruction(NULL, Instruction::InstType::JUMP)); auto jump_inst = inst(Instruction(nullptr, Instruction::InstType::JUMP));
auto end_mark = inst(Instruction()); auto end_mark = inst(Instruction());
jump_if_inst->data.mInstTarget = &end_mark->data; jump_if_inst->data.mInstTarget = &end_mark->data;
@ -82,13 +82,13 @@ void FunctionDefinition::EvalStatement(Statement* stm) {
EvalExpr(stm_if->mCondition); EvalExpr(stm_if->mCondition);
auto jump_if_inst = inst(Instruction(NULL, Instruction::InstType::JUMP_IF_NOT)); auto jump_if_inst = inst(Instruction(nullptr, Instruction::InstType::JUMP_IF_NOT));
if (stm_if->mOnTrue) { if (stm_if->mOnTrue) {
EvalStatement(stm_if->mOnTrue); EvalStatement(stm_if->mOnTrue);
} }
auto jump_inst = inst(Instruction(NULL, Instruction::InstType::JUMP)); auto jump_inst = inst(Instruction(nullptr, Instruction::InstType::JUMP));
auto else_mark = inst(Instruction()); auto else_mark = inst(Instruction());
if (stm_if->mOnFalse) { if (stm_if->mOnFalse) {

View file

@ -33,7 +33,7 @@ void Interpreter::exec(obj::MethodObject* method, obj::ClassObject* self, obj::D
return; return;
} }
mCallStack.enter({ NULL, method, 0 }); mCallStack.enter({ nullptr, method, 0 });
mCallStack.mStack.last().mSelf = self; mCallStack.mStack.last().mSelf = self;
stepBytecodeIn(); stepBytecodeIn();
@ -250,7 +250,7 @@ void Interpreter::stepBytecodeIn() {
case OpCode::OBJ_CREATE: case OpCode::OBJ_CREATE:
{ {
auto type = mOperandsStack.getOperand<StringObject>(); auto type = mOperandsStack.getOperand<StringObject>();
Object* new_obj = NULL; Object* new_obj = nullptr;
// basic types // basic types
auto idx = NDO->types.presents(type->val); auto idx = NDO->types.presents(type->val);
@ -272,11 +272,11 @@ void Interpreter::stepBytecodeIn() {
// PUSH_ARGS protocol // PUSH_ARGS protocol
tp::uint2 len = 0; tp::uint2 len = 0;
mOperandsStack.push((Object*) len); mOperandsStack.push((Object*) len);
mOperandsStack.push(NULL); mOperandsStack.push(nullptr);
// CALL protocol // CALL protocol
mScopeStack.enterScope(false); mScopeStack.enterScope(false);
mCallStack.enter({ NULL, method, 0 }); mCallStack.enter({ nullptr, method, 0 });
break; break;
} }
@ -313,14 +313,14 @@ void Interpreter::stepBytecodeIn() {
// Layout of OperandsStack: // Layout of OperandsStack:
// .... // ....
// +1) length : to chech number of args // +1) length : to chech number of args
// +2) NULL : stop saving args // +2) nullptr : stop saving args
// +3) object1 // +3) object1
// +4) object2 // +4) object2
// ... // ...
tp::uint2 len = read_byte(bytecode); tp::uint2 len = read_byte(bytecode);
mOperandsStack.push((Object*) len); mOperandsStack.push((Object*) len);
mOperandsStack.push(NULL); mOperandsStack.push(nullptr);
break; break;
} }
@ -367,7 +367,7 @@ void Interpreter::stepBytecodeIn() {
NDO_CASTV(MethodObject, obj, method); NDO_CASTV(MethodObject, obj, method);
mScopeStack.enterScope(false); mScopeStack.enterScope(false);
mCallStack.enter({ NULL, method, 0 }); mCallStack.enter({ nullptr, method, 0 });
// push self // push self
mCallStack.mStack.last().mSelf = mLastParent; mCallStack.mStack.last().mSelf = mLastParent;
@ -376,7 +376,7 @@ void Interpreter::stepBytecodeIn() {
(*mTypeMethod)(this); (*mTypeMethod)(this);
mIsTypeMethod = false; mIsTypeMethod = false;
mTypeMethod = NULL; mTypeMethod = nullptr;
break; break;
} }
@ -455,7 +455,7 @@ void Interpreter::stepBytecodeIn() {
auto parent = mOperandsStack.getOperand(); auto parent = mOperandsStack.getOperand();
bool is_method = read_byte(bytecode); bool is_method = read_byte(bytecode);
Object* child = NULL; Object* child = nullptr;
TypeMethods::LookupKey tm_key; TypeMethods::LookupKey tm_key;
if (is_method) { if (is_method) {

View file

@ -15,7 +15,7 @@ void OperandStack::push(Operand operand) {
} }
void OperandStack::pop() { void OperandStack::pop() {
ASSERT(mIdx != NULL && "stack overflow"); ASSERT(mIdx != 0 && "stack overflow");
mIdx--; mIdx--;
} }

View file

@ -40,7 +40,7 @@ void ScopeStack::enterScope(bool aChildReachable) {
} }
void ScopeStack::leaveScope() { void ScopeStack::leaveScope() {
ASSERT(mIdx != NULL && "stack overflow"); ASSERT(mIdx != 0 && "stack overflow");
mBuff[mIdx - 1].~Scope(); mBuff[mIdx - 1].~Scope();
mIdx--; mIdx--;
} }

View file

@ -31,7 +31,7 @@ Parser::Result Parser::parse(const std::string& stream) {
bind(parser); bind(parser);
std::string streamStd(stream.c_str()); std::string streamStd(stream.c_str());
streamStd += "\n"; // for windows os to be happy streamStd += "\n"; // for Windows os to be happy
ASSERT(parser.valid()); ASSERT(parser.valid());

View file

@ -142,7 +142,7 @@ const tp::Map<std::string, Object*>& DictObject::getItems() const { return items
static auto tm_get = TypeMethod{ .nameid = "get", static auto tm_get = TypeMethod{ .nameid = "get",
.descr = "gets the object", .descr = "gets the object",
.args = { { "str key", NULL } }, .args = { { "str key", nullptr } },
.exec = .exec =
[](const TypeMethod* tm) { [](const TypeMethod* tm) {
auto const self = (DictObject*) tm->self; auto const self = (DictObject*) tm->self;
@ -156,12 +156,12 @@ static auto tm_get = TypeMethod{ .nameid = "get",
tm->ret.obj = self->getSlotVal(idx); tm->ret.obj = self->getSlotVal(idx);
} }
}, },
.ret = { "object", NULL } }; .ret = { "object", nullptr } };
static auto tm_put = TypeMethod{ static auto tm_put = TypeMethod{
.nameid = "put", .nameid = "put",
.descr = "puts the object into the dictinary", .descr = "puts the object into the dictinary",
.args = { { "key", NULL }, { "object", NULL } }, .args = { { "key", nullptr }, { "object", nullptr } },
.exec = .exec =
[](const TypeMethod* tm) { [](const TypeMethod* tm) {
auto const self = (DictObject*) tm->self; auto const self = (DictObject*) tm->self;
@ -180,7 +180,7 @@ static auto tm_remove = TypeMethod{
.nameid = "remove", .nameid = "remove",
.descr = "remove the object from the dictinary", .descr = "remove the object from the dictinary",
.args = { .args = {
{ "key", NULL }, { "key", nullptr },
}, },
.exec = [](const TypeMethod* tm) { .exec = [](const TypeMethod* tm) {
auto const self = (DictObject*)tm->self; auto const self = (DictObject*)tm->self;
@ -194,7 +194,7 @@ static auto tm_remove = TypeMethod{
}, },
}; };
struct obj::ObjectType DictObject::TypeData = { .base = NULL, struct obj::ObjectType DictObject::TypeData = { .base = nullptr,
.constructor = DictObject::constructor, .constructor = DictObject::constructor,
.destructor = DictObject::destructor, .destructor = DictObject::destructor,
.copy = DictObject::copy, .copy = DictObject::copy,

View file

@ -10,7 +10,7 @@ using namespace tp;
void EnumObject::constructor(EnumObject* self) { void EnumObject::constructor(EnumObject* self) {
self->active = 0; self->active = 0;
self->nentries = 0; self->nentries = 0;
self->entries = NULL; self->entries = nullptr;
} }
void obj::EnumObject::destructor(EnumObject* self) { void obj::EnumObject::destructor(EnumObject* self) {
@ -126,7 +126,7 @@ static void load(ArchiverIn& file_self, EnumObject* self) {
file_self >> self->active; file_self >> self->active;
if (self->active == -1) { if (self->active == -1) {
self->nentries = 0; self->nentries = 0;
self->entries = NULL; self->entries = nullptr;
return; return;
} }
file_self >> self->nentries; file_self >> self->nentries;
@ -134,7 +134,7 @@ static void load(ArchiverIn& file_self, EnumObject* self) {
file_self.readBytes((tp::int1*) self->entries, self->nentries * ENV_ALNI_SIZE_B); file_self.readBytes((tp::int1*) self->entries, self->nentries * ENV_ALNI_SIZE_B);
} }
bool obj::EnumObject::compare(EnumObject* first, EnumObject* second) { return first->entries != NULL && second->entries != NULL && first->active == second->active; } bool obj::EnumObject::compare(EnumObject* first, EnumObject* second) { return first->entries != nullptr && second->entries != nullptr && first->active == second->active; }
EnumObject* obj::EnumObject::create(tp::InitialierList<const char*> list) { EnumObject* obj::EnumObject::create(tp::InitialierList<const char*> list) {
auto enum_object = (EnumObject*) obj::NDO->create("enum"); auto enum_object = (EnumObject*) obj::NDO->create("enum");
@ -160,7 +160,7 @@ struct ObjectTypeConversions EnumObjectTypeConversions = {
}; };
struct obj::ObjectType obj::EnumObject::TypeData = { struct obj::ObjectType obj::EnumObject::TypeData = {
.base = NULL, .base = nullptr,
.constructor = (object_constructor) EnumObject::constructor, .constructor = (object_constructor) EnumObject::constructor,
.destructor = (object_destructor) EnumObject::destructor, .destructor = (object_destructor) EnumObject::destructor,
.copy = (object_copy) EnumObject::copy, .copy = (object_copy) EnumObject::copy,

View file

@ -57,9 +57,9 @@ struct ObjectTypeAriphmetics FloatObject::TypeAriphm = {
}; };
struct obj::ObjectType obj::FloatObject::TypeData = { struct obj::ObjectType obj::FloatObject::TypeData = {
.base = NULL, .base = nullptr,
.constructor = (object_constructor) FloatObject::constructor, .constructor = (object_constructor) FloatObject::constructor,
.destructor = NULL, .destructor = nullptr,
.copy = (object_copy) FloatObject::copy, .copy = (object_copy) FloatObject::copy,
.size = sizeof(FloatObject), .size = sizeof(FloatObject),
.name = "float", .name = "float",

View file

@ -58,9 +58,9 @@ struct ObjectTypeAriphmetics IntObject::TypeAriphm = {
}; };
struct obj::ObjectType obj::IntObject::TypeData = { struct obj::ObjectType obj::IntObject::TypeData = {
.base = NULL, .base = nullptr,
.constructor = IntObject::constructor, .constructor = IntObject::constructor,
.destructor = NULL, .destructor = nullptr,
.copy = (object_copy) IntObject::copy, .copy = (object_copy) IntObject::copy,
.size = sizeof(IntObject), .size = sizeof(IntObject),
.name = "int", .name = "int",

View file

@ -20,7 +20,7 @@ LinkObject* LinkObject::create(Object* in) {
alni LinkObject::save_size(LinkObject* self) { return sizeof(alni); } alni LinkObject::save_size(LinkObject* self) { return sizeof(alni); }
void LinkObject::save(LinkObject* self, ArchiverOut& file_self) { void LinkObject::save(LinkObject* self, ArchiverOut& file_self) {
if (self->link != NULL) { if (self->link != nullptr) {
alni link_object_save_adress = NDO->save(file_self, self->link); alni link_object_save_adress = NDO->save(file_self, self->link);
file_self << link_object_save_adress; file_self << link_object_save_adress;
} else { } else {
@ -35,7 +35,7 @@ void LinkObject::load(ArchiverIn& file_self, LinkObject* self) {
file_self >> saved_object_adress; file_self >> saved_object_adress;
if (saved_object_adress == -1) { if (saved_object_adress == -1) {
self->link = NULL; self->link = nullptr;
} else { } else {
self->link = NDO->load(file_self, saved_object_adress); self->link = NDO->load(file_self, saved_object_adress);
NDO->refinc(self->link); NDO->refinc(self->link);
@ -66,7 +66,7 @@ void LinkObject::setLink(Object* obj) {
link = obj; link = obj;
} }
static auto tm_set = TypeMethod{ .nameid = "set", .descr = "sets the link", .args = { { "target", NULL } }, .exec = [](const TypeMethod* tm) { static auto tm_set = TypeMethod{ .nameid = "set", .descr = "sets the link", .args = { { "target", nullptr } }, .exec = [](const TypeMethod* tm) {
auto const self = (LinkObject*) tm->self; auto const self = (LinkObject*) tm->self;
auto const target = tm->args[0].obj; auto const target = tm->args[0].obj;
self->setLink(target); self->setLink(target);
@ -82,15 +82,15 @@ static auto tm_get = TypeMethod{ .nameid = "get",
tm->ret.obj = link; tm->ret.obj = link;
} }
}, },
.ret = { "the link", NULL } }; .ret = { "the link", nullptr } };
struct obj::ObjectType LinkObject::TypeData = { .base = NULL, struct obj::ObjectType LinkObject::TypeData = { .base = nullptr,
.constructor = LinkObject::constructor, .constructor = LinkObject::constructor,
.destructor = (object_destructor) LinkObject::destructor, .destructor = (object_destructor) LinkObject::destructor,
.copy = LinkObject::copy, .copy = LinkObject::copy,
.size = sizeof(LinkObject), .size = sizeof(LinkObject),
.name = "link", .name = "link",
.convesions = NULL, .convesions = nullptr,
.save_size = (object_save_size) LinkObject::save_size, .save_size = (object_save_size) LinkObject::save_size,
.save = (object_save) LinkObject::save, .save = (object_save) LinkObject::save,
.load = (object_load) LinkObject::load, .load = (object_load) LinkObject::load,

View file

@ -106,13 +106,13 @@ void ListObject::popBack() {
const tp::List<Object*>& ListObject::getItems() const { return items; } const tp::List<Object*>& ListObject::getItems() const { return items; }
struct obj::ObjectType obj::ListObject::TypeData = { .base = NULL, struct obj::ObjectType obj::ListObject::TypeData = { .base = nullptr,
.constructor = ListObject::constructor, .constructor = ListObject::constructor,
.destructor = ListObject::destructor, .destructor = ListObject::destructor,
.copy = ListObject::copy, .copy = ListObject::copy,
.size = sizeof(ListObject), .size = sizeof(ListObject),
.name = "list", .name = "list",
.convesions = NULL, .convesions = nullptr,
.save_size = (object_save_size) save_size, .save_size = (object_save_size) save_size,
.save = (object_save) save, .save = (object_save) save,
.load = (object_load) load, .load = (object_load) load,

View file

@ -6,13 +6,13 @@
using namespace obj; using namespace obj;
struct ObjectType MethodObject::TypeData = { struct ObjectType MethodObject::TypeData = {
.base = NULL, .base = nullptr,
.constructor = (object_constructor) MethodObject::constructor, .constructor = (object_constructor) MethodObject::constructor,
.destructor = (object_destructor) MethodObject::destructor, .destructor = (object_destructor) MethodObject::destructor,
.copy = (object_copy) MethodObject::copy, .copy = (object_copy) MethodObject::copy,
.size = sizeof(MethodObject), .size = sizeof(MethodObject),
.name = "method", .name = "method",
.convesions = NULL, .convesions = nullptr,
.save_size = (object_save_size) MethodObject::save_size, .save_size = (object_save_size) MethodObject::save_size,
.save = (object_save) MethodObject::save, .save = (object_save) MethodObject::save,
.load = (object_load) MethodObject::load, .load = (object_load) MethodObject::load,

View file

@ -5,7 +5,7 @@
using namespace obj; using namespace obj;
using namespace tp; using namespace tp;
obj::NullObject* obj::NdoNull_globalInstance = NULL; obj::NullObject* obj::NdoNull_globalInstance = nullptr;
bool uninit_flag = false; bool uninit_flag = false;
void NullObject::uninit() { void NullObject::uninit() {
@ -16,7 +16,7 @@ void NullObject::uninit() {
void NullObject::destructor(Object* self) { DEBUG_ASSERT(uninit_flag && "Only one the instance of NullObject exists and thus it can't be destroyed"); } void NullObject::destructor(Object* self) { DEBUG_ASSERT(uninit_flag && "Only one the instance of NullObject exists and thus it can't be destroyed"); }
std::string to_string(NullObject* self) { return "NULL"; } std::string to_string(NullObject* self) { return "nullptr"; }
alni to_int(NullObject* self) { return 0; } alni to_int(NullObject* self) { return 0; }
@ -29,19 +29,19 @@ obj::TypeMethods* tm_construct() {
} }
struct ObjectTypeConversions NullObjectTypeConversions = { struct ObjectTypeConversions NullObjectTypeConversions = {
.from_int = NULL, .from_int = nullptr,
.from_float = NULL, .from_float = nullptr,
.from_string = NULL, .from_string = nullptr,
.to_string = (object_to_string) to_string, .to_string = (object_to_string) to_string,
.to_int = (object_to_int) to_int, .to_int = (object_to_int) to_int,
.to_float = (object_to_float) to_float, .to_float = (object_to_float) to_float,
}; };
struct ObjectType NullObject::TypeData = { struct ObjectType NullObject::TypeData = {
.base = NULL, .base = nullptr,
.constructor = NULL, .constructor = nullptr,
.destructor = NullObject::destructor, .destructor = NullObject::destructor,
.copy = NULL, .copy = nullptr,
.size = sizeof(NullObject), .size = sizeof(NullObject),
.name = "null", .name = "null",
.convesions = &NullObjectTypeConversions, .convesions = &NullObjectTypeConversions,

View file

@ -64,7 +64,7 @@ struct ObjectTypeConversions StringObjectTypeConversions = {
}; };
struct obj::ObjectType StringObject::TypeData = { struct obj::ObjectType StringObject::TypeData = {
.base = NULL, .base = nullptr,
.constructor = StringObject::constructor, .constructor = StringObject::constructor,
.destructor = (object_destructor) StringObject::destructor, .destructor = (object_destructor) StringObject::destructor,
.copy = StringObject::copy, .copy = StringObject::copy,

View file

@ -54,7 +54,7 @@ static struct ObjectTypeConversions conversions = {
}; };
struct obj::ObjectType TypeObject::TypeData = { struct obj::ObjectType TypeObject::TypeData = {
.base = NULL, .base = nullptr,
//.constructor = (object_constructor) TypeObject::constructor, //.constructor = (object_constructor) TypeObject::constructor,
.size = sizeof(TypeObject), .size = sizeof(TypeObject),
.name = "typeobject", .name = "typeobject",