void ScriptPromisePropertyBase::clearWrappers() { checkThis(); checkWrappers(); v8::HandleScope handleScope(m_isolate); for (WeakPersistentSet::iterator i = m_wrappers.begin(); i != m_wrappers.end(); ++i) { v8::Local<v8::Object> wrapper = (*i)->newLocal(m_isolate); if (!wrapper.IsEmpty()) { ScriptState* scriptState = ScriptState::from(wrapper->CreationContext()); V8HiddenValue::deleteHiddenValue(scriptState, wrapper, resolverName()); V8HiddenValue::deleteHiddenValue(scriptState, wrapper, promiseName()); } } m_wrappers.clear(); }
void testReferenceArgument() { clang_analyzer_eval(getConstrainedFieldRef(getS()) == 42); // expected-warning{{TRUE}} clang_analyzer_eval(checkThis(getS())); // expected-warning{{TRUE}} }
void emitCheckThis(HTS& env) { auto const ctx = gen(env, LdCtx, fp(env)); checkThis(env, ctx); }
void ScriptPromisePropertyBase::resetBase() { checkThis(); clearWrappers(); m_state = Pending; }
void emitThis(HTS& env) { auto const ctx = gen(env, LdCtx, fp(env)); checkThis(env, ctx); auto const this_ = gen(env, CastCtxThis, ctx); pushIncRef(env, this_); }