summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/runtime/JSWithScope.h
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@lorry>2015-05-20 09:56:07 +0000
committerLorry Tar Creator <lorry-tar-importer@lorry>2015-05-20 09:56:07 +0000
commit41386e9cb918eed93b3f13648cbef387e371e451 (patch)
treea97f9d7bd1d9d091833286085f72da9d83fd0606 /Source/JavaScriptCore/runtime/JSWithScope.h
parente15dd966d523731101f70ccf768bba12435a0208 (diff)
downloadWebKitGtk-tarball-41386e9cb918eed93b3f13648cbef387e371e451.tar.gz
webkitgtk-2.4.9webkitgtk-2.4.9
Diffstat (limited to 'Source/JavaScriptCore/runtime/JSWithScope.h')
-rw-r--r--Source/JavaScriptCore/runtime/JSWithScope.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/Source/JavaScriptCore/runtime/JSWithScope.h b/Source/JavaScriptCore/runtime/JSWithScope.h
index 8e5d09fa1..9b7e1826d 100644
--- a/Source/JavaScriptCore/runtime/JSWithScope.h
+++ b/Source/JavaScriptCore/runtime/JSWithScope.h
@@ -34,6 +34,13 @@ class JSWithScope : public JSScope {
public:
typedef JSScope Base;
+ static JSWithScope* create(ExecState* exec, JSObject* object)
+ {
+ JSWithScope* withScope = new (NotNull, allocateCell<JSWithScope>(*exec->heap())) JSWithScope(exec, object);
+ withScope->finishCreation(exec->vm());
+ return withScope;
+ }
+
static JSWithScope* create(ExecState* exec, JSObject* object, JSScope* next)
{
JSWithScope* withScope = new (NotNull, allocateCell<JSWithScope>(*exec->heap())) JSWithScope(exec, object, next);
@@ -52,7 +59,20 @@ public:
DECLARE_EXPORT_INFO;
+protected:
+ static const unsigned StructureFlags = OverridesVisitChildren | Base::StructureFlags;
+
private:
+ JSWithScope(ExecState* exec, JSObject* object)
+ : Base(
+ exec->vm(),
+ exec->lexicalGlobalObject()->withScopeStructure(),
+ exec->scope()
+ )
+ , m_object(exec->vm(), this, object)
+ {
+ }
+
JSWithScope(ExecState* exec, JSObject* object, JSScope* next)
: Base(
exec->vm(),