From 74d6af9ac4c48efa6b2343da2df1b56315a6e071 Mon Sep 17 00:00:00 2001 From: Edouard DUPIN Date: Wed, 4 Jul 2018 21:08:12 +0200 Subject: [PATCH] [DEV] remove is_delegable() --- rabbit/Object.hpp | 4 +++- rabbit/VirtualMachine.cpp | 7 ++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/rabbit/Object.hpp b/rabbit/Object.hpp index 56e8ec8..ca71e0b 100644 --- a/rabbit/Object.hpp +++ b/rabbit/Object.hpp @@ -141,6 +141,9 @@ namespace rabbit { bool canBeFalse() const { return (_type & SQOBJECT_CANBEFALSE) != 0; } + bool isDelegable() const { + return (_type & SQOBJECT_DELEGABLE) != 0; + } bool isTable() const { return _type == rabbit::OT_TABLE; } @@ -211,7 +214,6 @@ namespace rabbit { #define _realval(o) ((o).isWeakRef() == false?(rabbit::Object)o:(o).toWeakRef()->_obj) - #define is_delegable(t) ((t).getType()&SQOBJECT_DELEGABLE) #define raw_type(obj) _RAW_TYPE((obj)._type) #define _stringval(obj) (obj)._unVal.pString->_val diff --git a/rabbit/VirtualMachine.cpp b/rabbit/VirtualMachine.cpp index f3b02a0..afb0262 100644 --- a/rabbit/VirtualMachine.cpp +++ b/rabbit/VirtualMachine.cpp @@ -192,8 +192,8 @@ bool rabbit::VirtualMachine::arithMetaMethod(int64_t op,const rabbit::ObjectPtr case '%': mm=MT_MODULO; break; default: mm = MT_ADD; assert(0); break; //shutup compiler } - if(is_delegable(o1) && o1.toDelegable()->_delegate) { - + if( o1.isDelegable() == true + && o1.toDelegable()->_delegate) { rabbit::ObjectPtr closure; if(o1.toDelegable()->getMetaMethod(this, mm, closure)) { push(o1); @@ -370,7 +370,8 @@ bool rabbit::VirtualMachine::stringCat(const rabbit::ObjectPtr &str,const rabbit bool rabbit::VirtualMachine::typeOf(const rabbit::ObjectPtr &obj1,rabbit::ObjectPtr &dest) { - if(is_delegable(obj1) && obj1.toDelegable()->_delegate) { + if( obj1.isDelegable() == true + && obj1.toDelegable()->_delegate) { rabbit::ObjectPtr closure; if(obj1.toDelegable()->getMetaMethod(this, MT_TYPEOF, closure)) { push(obj1);