Implement isModuleNamespaceObject

Signed-off-by: Seonghyun Kim <sh8281.kim@samsung.com>
This commit is contained in:
Seonghyun Kim 2021-06-17 17:13:28 +09:00 committed by Boram Bae
commit e341516cae
4 changed files with 17 additions and 0 deletions

View file

@ -2324,6 +2324,11 @@ bool ValueRef::isTypedArrayPrototypeObject()
return toImpl(this).isPointerValue() && toImpl(this).asPointerValue()->isTypedArrayPrototypeObject();
}
bool ValueRef::isModuleNamespaceObject()
{
return toImpl(this).isPointerValue() && toImpl(this).asPointerValue()->isModuleNamespaceObject();
}
bool ValueRef::asBoolean()
{
return toImpl(this).asBoolean();

View file

@ -733,6 +733,7 @@ public:
bool isSetIteratorObject();
bool isTypedArrayObject();
bool isTypedArrayPrototypeObject();
bool isModuleNamespaceObject();
bool asBoolean();
double asNumber();

View file

@ -31,6 +31,11 @@ class ModuleNamespaceObject : public Object {
public:
ModuleNamespaceObject(ExecutionState& state, Script* script);
virtual bool isModuleNamespaceObject() const override
{
return true;
}
virtual bool isInlineCacheable() override
{
return false;

View file

@ -68,6 +68,7 @@ class AsyncGeneratorObject;
class AsyncFromSyncIteratorObject;
class GlobalObjectProxyObject;
class TypedArrayObject;
class ModuleNamespaceObject;
#if defined(ENABLE_THREADING)
class SharedArrayBufferObject;
#endif
@ -399,6 +400,11 @@ public:
return false;
}
virtual bool isModuleNamespaceObject() const
{
return false;
}
virtual bool isArgumentsObject() const
{
return false;