QNameClass::QNameClass(VTable* cvtable) : ClassClosure(cvtable) { AvmAssert(traits()->getSizeOfInstance() == sizeof(QNameClass)); createVanillaPrototype(); AvmCore* core = this->core(); kUri = core->internConstantStringLatin1("uri")->atom(); kLocalName = core->internConstantStringLatin1("localName")->atom(); }
RegExpClass::RegExpClass(VTable* cvtable) : ClassClosure(cvtable) { AvmAssert(traits()->getSizeOfInstance() == sizeof(RegExpClass)); AvmCore* core = this->core(); ScriptObject* object_prototype = toplevel()->objectClass->prototype; prototype = new (core->GetGC(), ivtable()->getExtraSize()) RegExpObject(this,object_prototype); kindex = core->internConstantStringLatin1("index"); kinput = core->internConstantStringLatin1("input"); }
XMLClass::XMLClass(VTable* cvtable) : ClassClosure(cvtable) { AvmAssert(traits()->getSizeOfInstance() == sizeof(XMLClass)); AvmCore* core = this->core(); createVanillaPrototype(); // These are static objects on the XML type // E4X: The XML constructor has the following properties // XML.ignoreComments // XML.ignoreProcessingInstructions // XML.ignoreWhitespace // XML.prettyPrinting // XML.prettyIndent m_flags = kFlagIgnoreComments | kFlagIgnoreProcessingInstructions | kFlagIgnoreWhitespace | kFlagPrettyPrinting; m_prettyIndent = 2; kAttribute = core->internConstantStringLatin1("attribute"); kComment = core->internConstantStringLatin1("comment"); kProcessingInstruction = core->internConstantStringLatin1("processing-instruction"); kElement = core->internConstantStringLatin1("element"); kText = core->internConstantStringLatin1("text"); kColon = core->internConstantStringLatin1(":"); kXml = core->internConstantStringLatin1("xml"); // for notifications kAttrAdded = core->internConstantStringLatin1("attributeAdded"); kAttrRemoved = core->internConstantStringLatin1("attributeRemoved"); kAttrChanged = core->internConstantStringLatin1("attributeChanged"); kNodeAdded = core->internConstantStringLatin1("nodeAdded"); kNodeRemoved = core->internConstantStringLatin1("nodeRemoved"); kNodeChanged = core->internConstantStringLatin1("nodeChanged"); kNamespaceAdded = core->internConstantStringLatin1("namespaceAdded"); kNamespaceRemoved = core->internConstantStringLatin1("namespaceRemoved"); kNamespaceSet = core->internConstantStringLatin1("namespaceSet"); kNameSet = core->internConstantStringLatin1("nameSet"); kTextSet = core->internConstantStringLatin1("textSet"); toplevel()->_builtinClasses[avmplus::NativeID::abcclass_XML]=this; // XML.settings // XML.setSettings ([settings]) // XML.defaultSettings() }