Bug 1134865 - Part 1: Add JSObject::constructorDisplayAtom; r=djvj

This commit is contained in:
Nick Fitzgerald
2015-04-27 10:57:06 -07:00
parent 1a387aed07
commit ad5d3feb5e
4 changed files with 102 additions and 0 deletions

View File

@@ -4106,3 +4106,32 @@ JSObject::traceChildren(JSTracer* trc)
} while (false);
}
}
static JSAtom*
displayAtomFromObjectGroup(ObjectGroup& group)
{
TypeNewScript* script = group.newScript();
if (!script)
return nullptr;
return script->function()->displayAtom();
}
bool
JSObject::constructorDisplayAtom(JSContext* cx, js::MutableHandleAtom name)
{
ObjectGroup *g = getGroup(cx);
if (!g)
return false;
name.set(displayAtomFromObjectGroup(*g));
return true;
}
JSAtom*
JSObject::maybeConstructorDisplayAtom() const
{
if (hasLazyGroup())
return nullptr;
return displayAtomFromObjectGroup(*group());
}