ScriptObject* TypeDescriber::describeType(Atom value, uint32_t flags) { Traitsp traits = chooseTraits(value, flags); if (!traits) return NULL; ScriptObject* o = new_object(); const KVPair props[] = { { kstrid_name, strAtom(describeClassName(traits)) }, { kstrid_isDynamic, boolAtom(traits->needsHashtable()) }, { kstrid_isFinal, boolAtom(traits->final) },
ScriptObject* TypeDescriber::describeType(Atom value, uint32_t flags) { Traitsp traits = m_toplevel->toTraits(value); if (flags & USE_ITRAITS) traits = traits->itraits; if (!traits) return NULL; ScriptObject* o = new_object(); const KVPair props[] = { { kstrid_name, strAtom(describeClassName(traits)) }, { kstrid_isDynamic, boolAtom(traits->needsHashtable()) }, { kstrid_isFinal, boolAtom(traits->final) },