JSValue JSNPObject::methodGetter(ExecState* exec, JSValue slotBase, PropertyName methodName) { JSNPObject* thisObj = static_cast<JSNPObject*>(asObject(slotBase)); ASSERT_GC_OBJECT_INHERITS(thisObj, &s_info); if (!thisObj->m_npObject) return throwInvalidAccessError(exec); NPIdentifier npIdentifier = npIdentifierFromIdentifier(methodName); return JSNPMethod::create(exec, thisObj->globalObject(), methodName.ustring(), npIdentifier); }
static NPIdentifier npIdentifierFromIdentifier(PropertyName identifier) { return static_cast<NPIdentifier>(IdentifierRep::get(identifier.ustring().utf8().data())); }