1320408 - Part 13: Change DebugEnvironmentProxy::getMaybeSentinelValue to static method.

This commit is contained in:
Gaming4JC 2019-06-08 21:33:39 -04:00 committed by Roy Tam
commit b237ae6437
4 changed files with 10 additions and 7 deletions

View file

@ -2198,7 +2198,8 @@ js::LookupNameUnqualified(JSContext* cx, HandlePropertyName name, HandleObject e
// environments.
if (env->is<DebugEnvironmentProxy>()) {
RootedValue v(cx);
if (!env->as<DebugEnvironmentProxy>().getMaybeSentinelValue(cx, id, &v))
Rooted<DebugEnvironmentProxy*> envProxy(cx, &env->as<DebugEnvironmentProxy>());
if (!DebugEnvironmentProxy::getMaybeSentinelValue(cx, envProxy, id, &v))
return false;
isTDZ = IsUninitializedLexical(v);
} else {

View file

@ -10774,7 +10774,8 @@ DebuggerEnvironment::getVariable(JSContext* cx, HandleDebuggerEnvironment enviro
//
// See wrapDebuggeeValue for how the sentinel values are wrapped.
if (referent->is<DebugEnvironmentProxy>()) {
if (!referent->as<DebugEnvironmentProxy>().getMaybeSentinelValue(cx, id, result))
Rooted<DebugEnvironmentProxy*> env(cx, &referent->as<DebugEnvironmentProxy>());
if (!DebugEnvironmentProxy::getMaybeSentinelValue(cx, env, id, result))
return false;
} else {
if (!GetProperty(cx, referent, referent, id, result))

View file

@ -2234,11 +2234,11 @@ DebugEnvironmentProxy::isForDeclarative() const
e.is<LexicalEnvironmentObject>();
}
bool
DebugEnvironmentProxy::getMaybeSentinelValue(JSContext* cx, HandleId id, MutableHandleValue vp)
/* static */ bool
DebugEnvironmentProxy::getMaybeSentinelValue(JSContext* cx, Handle<DebugEnvironmentProxy*> env,
HandleId id, MutableHandleValue vp)
{
Rooted<DebugEnvironmentProxy*> self(cx, this);
return DebugEnvironmentProxyHandler::singleton.getMaybeSentinelValue(cx, self, id, vp);
return DebugEnvironmentProxyHandler::singleton.getMaybeSentinelValue(cx, env, id, vp);
}
bool

View file

@ -872,7 +872,8 @@ class DebugEnvironmentProxy : public ProxyObject
// Get a property by 'id', but returns sentinel values instead of throwing
// on exceptional cases.
bool getMaybeSentinelValue(JSContext* cx, HandleId id, MutableHandleValue vp);
static bool getMaybeSentinelValue(JSContext* cx, Handle<DebugEnvironmentProxy*> env,
HandleId id, MutableHandleValue vp);
// Returns true iff this is a function environment with its own this-binding
// (all functions except arrow functions and generator expression lambdas).