//Auto-generated by /usr/bin/smokegen. DO NOT EDIT.
#include <khtml_includes.h>
#include <typeinfo>

#include <smoke.h>
#include <khtml_smoke.h>

class __internal_SmokeClass {};

namespace __smokekhtml {

class x_DOM__DOMString : public DOM::DOMString, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // DOM::DOMString* DOMString()
        x_DOM__DOMString* xret = new x_DOM__DOMString();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__DOMString() : DOMString() {}
    static void x_2(Smoke::Stack x) {
        // DOM::DOMString* DOMString(const QChar*, unsigned int)
        x_DOM__DOMString* xret = new x_DOM__DOMString((const QChar*)x[1].s_class,(unsigned int)x[2].s_uint);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__DOMString(const QChar* x1, unsigned int x2) : DOMString(x1, x2) {}
    static void x_3(Smoke::Stack x) {
        // DOM::DOMString* DOMString(const QString&)
        x_DOM__DOMString* xret = new x_DOM__DOMString(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__DOMString(const QString& x1) : DOMString(x1) {}
    static void x_4(Smoke::Stack x) {
        // DOM::DOMString* DOMString(const char*)
        x_DOM__DOMString* xret = new x_DOM__DOMString((const char*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__DOMString(const char* x1) : DOMString(x1) {}
    static void x_5(Smoke::Stack x) {
        // DOM::DOMString* DOMString(const char*, unsigned int)
        x_DOM__DOMString* xret = new x_DOM__DOMString((const char*)x[1].s_class,(unsigned int)x[2].s_uint);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__DOMString(const char* x1, unsigned int x2) : DOMString(x1, x2) {}
    static void x_6(Smoke::Stack x) {
        // DOM::DOMString* DOMString(const DOM::DOMString&)
        x_DOM__DOMString* xret = new x_DOM__DOMString(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__DOMString(const DOM::DOMString& x1) : DOMString(x1) {}
    void x_7(Smoke::Stack x) {
        // DOM::DOMString& operator=(const DOM::DOMString&)
        DOM::DOMString& xret = this->DOM::DOMString::operator=(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_8(Smoke::Stack x) {
        // DOM::DOMString& operator+=(const DOM::DOMString&)
        DOM::DOMString& xret = this->DOM::DOMString::operator+=(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_9(Smoke::Stack x) {
        // DOM::DOMString operator+(const DOM::DOMString&)
        DOM::DOMString xret = this->DOM::DOMString::operator+(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_10(Smoke::Stack x) {
        // void insert(DOM::DOMString, unsigned int)
        this->DOM::DOMString::insert(*(DOM::DOMString*)x[1].s_class,(unsigned int)x[2].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // const QChar& operator[](unsigned int) const
        const QChar& xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::operator[]((unsigned int)x[1].s_uint);
        x[0].s_class = (void*)&xret;
    }
    void x_12(Smoke::Stack x) {
        // int find(const QChar, int) const
        int xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::find(*(const QChar*)x[1].s_class,(int)x[2].s_int);
        x[0].s_int = xret;
    }
    void x_13(Smoke::Stack x) {
        // int reverseFind(const QChar, int) const
        int xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::reverseFind(*(const QChar*)x[1].s_class,(int)x[2].s_int);
        x[0].s_int = xret;
    }
    void x_14(Smoke::Stack x) {
        // DOM::DOMString substring(unsigned int, unsigned int) const
        DOM::DOMString xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::substring((unsigned int)x[1].s_uint,(unsigned int)x[2].s_uint);
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_15(Smoke::Stack x) {
        // unsigned int length() const
        unsigned int xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::length();
        x[0].s_uint = xret;
    }
    void x_16(Smoke::Stack x) {
        // void truncate(unsigned int)
        this->DOM::DOMString::truncate((unsigned int)x[1].s_uint);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // void remove(unsigned int, int)
        this->DOM::DOMString::remove((unsigned int)x[1].s_uint,(int)x[2].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // DOM::DOMString split(unsigned int)
        DOM::DOMString xret = this->DOM::DOMString::split((unsigned int)x[1].s_uint);
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_19(Smoke::Stack x) {
        // DOM::DOMString lower() const
        DOM::DOMString xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::lower();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_20(Smoke::Stack x) {
        // DOM::DOMString upper() const
        DOM::DOMString xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::upper();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_21(Smoke::Stack x) {
        // QChar* unicode() const
        QChar* xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::unicode();
        x[0].s_class = (void*)xret;
    }
    void x_22(Smoke::Stack x) {
        // QChar* characters() const
        QChar* xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::characters();
        x[0].s_class = (void*)xret;
    }
    void x_23(Smoke::Stack x) {
        // QString string() const
        QString xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::string();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_24(Smoke::Stack x) {
        // int toInt() const
        int xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::toInt();
        x[0].s_int = xret;
    }
    void x_25(Smoke::Stack x) {
        // int toInt(bool*) const
        int xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::toInt((bool*)x[1].s_class);
        x[0].s_int = xret;
    }
    void x_26(Smoke::Stack x) {
        // float toFloat(bool*) const
        float xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::toFloat((bool*)x[1].s_class);
        x[0].s_float = xret;
    }
    void x_27(Smoke::Stack x) {
        // bool percentage(int&) const
        bool xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::percentage(*(int*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_28(Smoke::Stack x) {
        // static DOM::DOMString number(float)
        DOM::DOMString xret = DOM::DOMString::number((float)x[1].s_float);
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_29(Smoke::Stack x) {
        // DOM::DOMString copy() const
        DOM::DOMString xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::copy();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_30(Smoke::Stack x) {
        // bool isNull() const
        bool xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::isNull();
        x[0].s_bool = xret;
    }
    void x_31(Smoke::Stack x) {
        // bool isEmpty() const
        bool xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::isEmpty();
        x[0].s_bool = xret;
    }
    void x_32(Smoke::Stack x) {
        // bool endsWith(const DOM::DOMString&) const
        bool xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::endsWith(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_33(Smoke::Stack x) {
        // bool startsWith(const DOM::DOMString&) const
        bool xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::startsWith(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_34(Smoke::Stack x) {
        // int find(const QChar) const
        int xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::find(*(const QChar*)x[1].s_class,(int)0);
        x[0].s_int = xret;
    }
    void x_35(Smoke::Stack x) {
        // int reverseFind(const QChar) const
        int xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::reverseFind(*(const QChar*)x[1].s_class,(int)-1);
        x[0].s_int = xret;
    }
    void x_36(Smoke::Stack x) {
        // DOM::DOMString substring(unsigned int) const
        DOM::DOMString xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::substring((unsigned int)x[1].s_uint,(unsigned int)UINT_MAX);
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_37(Smoke::Stack x) {
        // void remove(unsigned int)
        this->DOM::DOMString::remove((unsigned int)x[1].s_uint,(int)1);
        (void)x; // noop (for compiler warning)
    }
    void x_38(Smoke::Stack x) {
        // float toFloat() const
        float xret = ((const x_DOM__DOMString*)this)->DOM::DOMString::toFloat((bool*)0);
        x[0].s_float = xret;
    }
    ~x_DOM__DOMString() { this->_binding->deleted(26, (void*)this); }
};
void xcall_DOM__DOMString(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__DOMString *xself = (x_DOM__DOMString*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__DOMString::x_1(args);	break;
        case 2: x_DOM__DOMString::x_2(args);	break;
        case 3: x_DOM__DOMString::x_3(args);	break;
        case 4: x_DOM__DOMString::x_4(args);	break;
        case 5: x_DOM__DOMString::x_5(args);	break;
        case 6: x_DOM__DOMString::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: x_DOM__DOMString::x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: delete (DOM::DOMString*)xself;	break;
    }
}
class x_DOM__Document : public DOM::Document, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // DOM::Document* Document()
        x_DOM__Document* xret = new x_DOM__Document();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__Document() : Document() {}
    static void x_2(Smoke::Stack x) {
        // DOM::Document* Document(bool)
        x_DOM__Document* xret = new x_DOM__Document((bool)x[1].s_bool);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__Document(bool x1) : Document(x1) {}
    static void x_3(Smoke::Stack x) {
        // DOM::Document* Document(const DOM::Document&)
        x_DOM__Document* xret = new x_DOM__Document(*(const DOM::Document*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__Document(const DOM::Document& x1) : Document(x1) {}
    static void x_4(Smoke::Stack x) {
        // DOM::Document* Document(const DOM::Node&)
        x_DOM__Document* xret = new x_DOM__Document(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__Document(const DOM::Node& x1) : Document(x1) {}
    void x_5(Smoke::Stack x) {
        // DOM::Document& operator=(const DOM::Node&)
        DOM::Document& xret = this->DOM::Document::operator=(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // DOM::Document& operator=(const DOM::Document&)
        DOM::Document& xret = this->DOM::Document::operator=(*(const DOM::Document*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_7(Smoke::Stack x) {
        // DOM::DocumentType doctype() const
        DOM::DocumentType xret = ((const x_DOM__Document*)this)->DOM::Document::doctype();
        x[0].s_class = (void*)new DOM::DocumentType(xret);
    }
    void x_8(Smoke::Stack x) {
        // DOM::DOMImplementation implementation() const
        DOM::DOMImplementation xret = ((const x_DOM__Document*)this)->DOM::Document::implementation();
        x[0].s_class = (void*)new DOM::DOMImplementation(xret);
    }
    void x_9(Smoke::Stack x) {
        // DOM::Element documentElement() const
        DOM::Element xret = ((const x_DOM__Document*)this)->DOM::Document::documentElement();
        x[0].s_class = (void*)new DOM::Element(xret);
    }
    void x_10(Smoke::Stack x) {
        // DOM::Element createElement(const DOM::DOMString&)
        DOM::Element xret = this->DOM::Document::createElement(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)new DOM::Element(xret);
    }
    void x_11(Smoke::Stack x) {
        // DOM::Element createElementNS(const DOM::DOMString&, const DOM::DOMString&)
        DOM::Element xret = this->DOM::Document::createElementNS(*(const DOM::DOMString*)x[1].s_class,*(const DOM::DOMString*)x[2].s_class);
        x[0].s_class = (void*)new DOM::Element(xret);
    }
    void x_12(Smoke::Stack x) {
        // DOM::DocumentFragment createDocumentFragment()
        DOM::DocumentFragment xret = this->DOM::Document::createDocumentFragment();
        x[0].s_class = (void*)new DOM::DocumentFragment(xret);
    }
    void x_13(Smoke::Stack x) {
        // DOM::Text createTextNode(const DOM::DOMString&)
        DOM::Text xret = this->DOM::Document::createTextNode(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)new DOM::Text(xret);
    }
    void x_14(Smoke::Stack x) {
        // DOM::Comment createComment(const DOM::DOMString&)
        DOM::Comment xret = this->DOM::Document::createComment(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)new DOM::Comment(xret);
    }
    void x_15(Smoke::Stack x) {
        // DOM::CDATASection createCDATASection(const DOM::DOMString&)
        DOM::CDATASection xret = this->DOM::Document::createCDATASection(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)new DOM::CDATASection(xret);
    }
    void x_16(Smoke::Stack x) {
        // DOM::ProcessingInstruction createProcessingInstruction(const DOM::DOMString&, const DOM::DOMString&)
        DOM::ProcessingInstruction xret = this->DOM::Document::createProcessingInstruction(*(const DOM::DOMString*)x[1].s_class,*(const DOM::DOMString*)x[2].s_class);
        x[0].s_class = (void*)new DOM::ProcessingInstruction(xret);
    }
    void x_17(Smoke::Stack x) {
        // DOM::Attr createAttribute(const DOM::DOMString&)
        DOM::Attr xret = this->DOM::Document::createAttribute(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)new DOM::Attr(xret);
    }
    void x_18(Smoke::Stack x) {
        // DOM::Attr createAttributeNS(const DOM::DOMString&, const DOM::DOMString&)
        DOM::Attr xret = this->DOM::Document::createAttributeNS(*(const DOM::DOMString*)x[1].s_class,*(const DOM::DOMString*)x[2].s_class);
        x[0].s_class = (void*)new DOM::Attr(xret);
    }
    void x_19(Smoke::Stack x) {
        // DOM::EntityReference createEntityReference(const DOM::DOMString&)
        DOM::EntityReference xret = this->DOM::Document::createEntityReference(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)new DOM::EntityReference(xret);
    }
    void x_20(Smoke::Stack x) {
        // DOM::Element getElementById(const DOM::DOMString&) const
        DOM::Element xret = ((const x_DOM__Document*)this)->DOM::Document::getElementById(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)new DOM::Element(xret);
    }
    void x_21(Smoke::Stack x) {
        // DOM::NodeList getElementsByTagName(const DOM::DOMString&)
        DOM::NodeList xret = this->DOM::Document::getElementsByTagName(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)new DOM::NodeList(xret);
    }
    void x_22(Smoke::Stack x) {
        // DOM::NodeList getElementsByTagNameNS(const DOM::DOMString&, const DOM::DOMString&)
        DOM::NodeList xret = this->DOM::Document::getElementsByTagNameNS(*(const DOM::DOMString*)x[1].s_class,*(const DOM::DOMString*)x[2].s_class);
        x[0].s_class = (void*)new DOM::NodeList(xret);
    }
    void x_23(Smoke::Stack x) {
        // DOM::NodeList getElementsByClassName(const DOM::DOMString&)
        DOM::NodeList xret = this->DOM::Document::getElementsByClassName(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)new DOM::NodeList(xret);
    }
    void x_24(Smoke::Stack x) {
        // DOM::Node importNode(const DOM::Node&, bool)
        DOM::Node xret = this->DOM::Document::importNode(*(const DOM::Node*)x[1].s_class,(bool)x[2].s_bool);
        x[0].s_class = (void*)new DOM::Node(xret);
    }
    void x_25(Smoke::Stack x) {
        // bool isHTMLDocument() const
        bool xret = ((const x_DOM__Document*)this)->DOM::Document::isHTMLDocument();
        x[0].s_bool = xret;
    }
    void x_26(Smoke::Stack x) {
        // DOM::Range createRange()
        DOM::Range xret = this->DOM::Document::createRange();
        x[0].s_class = (void*)new DOM::Range(xret);
    }
    void x_27(Smoke::Stack x) {
        // DOM::NodeIterator createNodeIterator(DOM::Node, unsigned long, DOM::NodeFilter, bool)
        DOM::NodeIterator xret = this->DOM::Document::createNodeIterator(*(DOM::Node*)x[1].s_class,(unsigned long)x[2].s_ulong,*(DOM::NodeFilter*)x[3].s_class,(bool)x[4].s_bool);
        x[0].s_class = (void*)new DOM::NodeIterator(xret);
    }
    void x_28(Smoke::Stack x) {
        // DOM::TreeWalker createTreeWalker(DOM::Node, unsigned long, DOM::NodeFilter, bool)
        DOM::TreeWalker xret = this->DOM::Document::createTreeWalker(*(DOM::Node*)x[1].s_class,(unsigned long)x[2].s_ulong,*(DOM::NodeFilter*)x[3].s_class,(bool)x[4].s_bool);
        x[0].s_class = (void*)new DOM::TreeWalker(xret);
    }
    void x_29(Smoke::Stack x) {
        // DOM::Event createEvent(const DOM::DOMString&)
        DOM::Event xret = this->DOM::Document::createEvent(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)new DOM::Event(xret);
    }
    void x_30(Smoke::Stack x) {
        // DOM::AbstractView defaultView() const
        DOM::AbstractView xret = ((const x_DOM__Document*)this)->DOM::Document::defaultView();
        x[0].s_class = (void*)new DOM::AbstractView(xret);
    }
    void x_31(Smoke::Stack x) {
        // DOM::StyleSheetList styleSheets() const
        DOM::StyleSheetList xret = ((const x_DOM__Document*)this)->DOM::Document::styleSheets();
        x[0].s_class = (void*)new DOM::StyleSheetList(xret);
    }
    void x_32(Smoke::Stack x) {
        // DOM::DOMString preferredStylesheetSet()
        DOM::DOMString xret = this->DOM::Document::preferredStylesheetSet();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_33(Smoke::Stack x) {
        // DOM::DOMString selectedStylesheetSet()
        DOM::DOMString xret = this->DOM::Document::selectedStylesheetSet();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_34(Smoke::Stack x) {
        // void setSelectedStylesheetSet(const DOM::DOMString&)
        this->DOM::Document::setSelectedStylesheetSet(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_35(Smoke::Stack x) {
        // void addStyleSheet(const DOM::StyleSheet&)
        this->DOM::Document::addStyleSheet(*(const DOM::StyleSheet*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_36(Smoke::Stack x) {
        // void removeStyleSheet(const DOM::StyleSheet&)
        this->DOM::Document::removeStyleSheet(*(const DOM::StyleSheet*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_37(Smoke::Stack x) {
        // KHTMLView* view() const
        KHTMLView* xret = ((const x_DOM__Document*)this)->DOM::Document::view();
        x[0].s_class = (void*)xret;
    }
    void x_38(Smoke::Stack x) {
        // DOM::CSSStyleDeclaration getOverrideStyle(const DOM::Element&, const DOM::DOMString&)
        DOM::CSSStyleDeclaration xret = this->DOM::Document::getOverrideStyle(*(const DOM::Element*)x[1].s_class,*(const DOM::DOMString*)x[2].s_class);
        x[0].s_class = (void*)new DOM::CSSStyleDeclaration(xret);
    }
    void x_39(Smoke::Stack x) {
        // bool async() const
        bool xret = ((const x_DOM__Document*)this)->DOM::Document::async();
        x[0].s_bool = xret;
    }
    void x_40(Smoke::Stack x) {
        // void setAsync(bool)
        this->DOM::Document::setAsync((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_41(Smoke::Stack x) {
        // void abort()
        this->DOM::Document::abort();
        (void)x; // noop (for compiler warning)
    }
    void x_42(Smoke::Stack x) {
        // void load(const DOM::DOMString&)
        this->DOM::Document::load(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_43(Smoke::Stack x) {
        // void loadXML(const DOM::DOMString&)
        this->DOM::Document::loadXML(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_44(Smoke::Stack x) {
        // DOM::Element querySelector(const DOM::DOMString&) const
        DOM::Element xret = ((const x_DOM__Document*)this)->DOM::Document::querySelector(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)new DOM::Element(xret);
    }
    void x_45(Smoke::Stack x) {
        // DOM::NodeList querySelectorAll(const DOM::DOMString&) const
        DOM::NodeList xret = ((const x_DOM__Document*)this)->DOM::Document::querySelectorAll(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)new DOM::NodeList(xret);
    }
    void x_46(Smoke::Stack x) {
        // bool designMode() const
        bool xret = ((const x_DOM__Document*)this)->DOM::Document::designMode();
        x[0].s_bool = xret;
    }
    void x_47(Smoke::Stack x) {
        // void setDesignMode(bool)
        this->DOM::Document::setDesignMode((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_48(Smoke::Stack x) {
        // DOM::DOMString completeURL(const DOM::DOMString&)
        DOM::DOMString xret = this->DOM::Document::completeURL(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_49(Smoke::Stack x) {
        // DOM::DOMString toString() const
        DOM::DOMString xret = ((const x_DOM__Document*)this)->DOM::Document::toString();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_50(Smoke::Stack x) {
        // bool execCommand(const DOM::DOMString&, bool, const DOM::DOMString&)
        bool xret = this->DOM::Document::execCommand(*(const DOM::DOMString*)x[1].s_class,(bool)x[2].s_bool,*(const DOM::DOMString*)x[3].s_class);
        x[0].s_bool = xret;
    }
    void x_51(Smoke::Stack x) {
        // bool queryCommandEnabled(const DOM::DOMString&)
        bool xret = this->DOM::Document::queryCommandEnabled(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_52(Smoke::Stack x) {
        // bool queryCommandIndeterm(const DOM::DOMString&)
        bool xret = this->DOM::Document::queryCommandIndeterm(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_53(Smoke::Stack x) {
        // bool queryCommandState(const DOM::DOMString&)
        bool xret = this->DOM::Document::queryCommandState(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_54(Smoke::Stack x) {
        // bool queryCommandSupported(const DOM::DOMString&)
        bool xret = this->DOM::Document::queryCommandSupported(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_55(Smoke::Stack x) {
        // DOM::DOMString queryCommandValue(const DOM::DOMString&)
        DOM::DOMString xret = this->DOM::Document::queryCommandValue(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_56(Smoke::Stack x) {
        // void updateRendering()
        this->DOM::Document::updateRendering();
        (void)x; // noop (for compiler warning)
    }
    ~x_DOM__Document() { this->_binding->deleted(27, (void*)this); }
};
void xcall_DOM__Document(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__Document *xself = (x_DOM__Document*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__Document::x_1(args);	break;
        case 2: x_DOM__Document::x_2(args);	break;
        case 3: x_DOM__Document::x_3(args);	break;
        case 4: x_DOM__Document::x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: xself->x_40(args);	break;
        case 41: xself->x_41(args);	break;
        case 42: xself->x_42(args);	break;
        case 43: xself->x_43(args);	break;
        case 44: xself->x_44(args);	break;
        case 45: xself->x_45(args);	break;
        case 46: xself->x_46(args);	break;
        case 47: xself->x_47(args);	break;
        case 48: xself->x_48(args);	break;
        case 49: xself->x_49(args);	break;
        case 50: xself->x_50(args);	break;
        case 51: xself->x_51(args);	break;
        case 52: xself->x_52(args);	break;
        case 53: xself->x_53(args);	break;
        case 54: xself->x_54(args);	break;
        case 55: xself->x_55(args);	break;
        case 56: xself->x_56(args);	break;
        case 57: delete (DOM::Document*)xself;	break;
    }
}
class x_DOM__DocumentFragment : public DOM::DocumentFragment, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // DOM::DocumentFragment* DocumentFragment()
        x_DOM__DocumentFragment* xret = new x_DOM__DocumentFragment();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__DocumentFragment() : DocumentFragment() {}
    static void x_2(Smoke::Stack x) {
        // DOM::DocumentFragment* DocumentFragment(const DOM::DocumentFragment&)
        x_DOM__DocumentFragment* xret = new x_DOM__DocumentFragment(*(const DOM::DocumentFragment*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__DocumentFragment(const DOM::DocumentFragment& x1) : DocumentFragment(x1) {}
    static void x_3(Smoke::Stack x) {
        // DOM::DocumentFragment* DocumentFragment(const DOM::Node&)
        x_DOM__DocumentFragment* xret = new x_DOM__DocumentFragment(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__DocumentFragment(const DOM::Node& x1) : DocumentFragment(x1) {}
    void x_4(Smoke::Stack x) {
        // DOM::DocumentFragment& operator=(const DOM::Node&)
        DOM::DocumentFragment& xret = this->DOM::DocumentFragment::operator=(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::DocumentFragment& operator=(const DOM::DocumentFragment&)
        DOM::DocumentFragment& xret = this->DOM::DocumentFragment::operator=(*(const DOM::DocumentFragment*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // DOM::Element querySelector(const DOM::DOMString&) const
        DOM::Element xret = ((const x_DOM__DocumentFragment*)this)->DOM::DocumentFragment::querySelector(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)new DOM::Element(xret);
    }
    void x_7(Smoke::Stack x) {
        // DOM::NodeList querySelectorAll(const DOM::DOMString&) const
        DOM::NodeList xret = ((const x_DOM__DocumentFragment*)this)->DOM::DocumentFragment::querySelectorAll(*(const DOM::DOMString*)x[1].s_class);
        x[0].s_class = (void*)new DOM::NodeList(xret);
    }
    ~x_DOM__DocumentFragment() { this->_binding->deleted(28, (void*)this); }
};
void xcall_DOM__DocumentFragment(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__DocumentFragment *xself = (x_DOM__DocumentFragment*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__DocumentFragment::x_1(args);	break;
        case 2: x_DOM__DocumentFragment::x_2(args);	break;
        case 3: x_DOM__DocumentFragment::x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: delete (DOM::DocumentFragment*)xself;	break;
    }
}
class x_DOM__DocumentStyle : public DOM::DocumentStyle {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // DOM::DocumentStyle* DocumentStyle()
        x_DOM__DocumentStyle* xret = new x_DOM__DocumentStyle();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__DocumentStyle() : DocumentStyle() {}
    static void x_2(Smoke::Stack x) {
        // DOM::DocumentStyle* DocumentStyle(const DOM::DocumentStyle&)
        x_DOM__DocumentStyle* xret = new x_DOM__DocumentStyle(*(const DOM::DocumentStyle*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__DocumentStyle(const DOM::DocumentStyle& x1) : DocumentStyle(x1) {}
    void x_3(Smoke::Stack x) {
        // DOM::DocumentStyle& operator=(const DOM::DocumentStyle&)
        DOM::DocumentStyle& xret = this->DOM::DocumentStyle::operator=(*(const DOM::DocumentStyle*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_4(Smoke::Stack x) {
        // DOM::DocumentStyle& operator=(const DOM::Document&)
        DOM::DocumentStyle& xret = this->DOM::DocumentStyle::operator=(*(const DOM::Document*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::StyleSheetList styleSheets() const
        DOM::StyleSheetList xret = ((const x_DOM__DocumentStyle*)this)->DOM::DocumentStyle::styleSheets();
        x[0].s_class = (void*)new DOM::StyleSheetList(xret);
    }
    void x_6(Smoke::Stack x) {
        // DOM::DOMString preferredStylesheetSet() const
        DOM::DOMString xret = ((const x_DOM__DocumentStyle*)this)->DOM::DocumentStyle::preferredStylesheetSet();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_7(Smoke::Stack x) {
        // DOM::DOMString selectedStylesheetSet() const
        DOM::DOMString xret = ((const x_DOM__DocumentStyle*)this)->DOM::DocumentStyle::selectedStylesheetSet();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_8(Smoke::Stack x) {
        // void setSelectedStylesheetSet(const DOM::DOMString&)
        this->DOM::DocumentStyle::setSelectedStylesheetSet(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // bool isNull() const
        bool xret = ((const x_DOM__DocumentStyle*)this)->DOM::DocumentStyle::isNull();
        x[0].s_bool = xret;
    }
    ~x_DOM__DocumentStyle() { this->_binding->deleted(29, (void*)this); }
};
void xcall_DOM__DocumentStyle(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__DocumentStyle *xself = (x_DOM__DocumentStyle*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__DocumentStyle::x_1(args);	break;
        case 2: x_DOM__DocumentStyle::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: delete (DOM::DocumentStyle*)xself;	break;
    }
}
class x_DOM__DocumentType : public DOM::DocumentType, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // DOM::DocumentType* DocumentType()
        x_DOM__DocumentType* xret = new x_DOM__DocumentType();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__DocumentType() : DocumentType() {}
    static void x_2(Smoke::Stack x) {
        // DOM::DocumentType* DocumentType(const DOM::DocumentType&)
        x_DOM__DocumentType* xret = new x_DOM__DocumentType(*(const DOM::DocumentType*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__DocumentType(const DOM::DocumentType& x1) : DocumentType(x1) {}
    static void x_3(Smoke::Stack x) {
        // DOM::DocumentType* DocumentType(const DOM::Node&)
        x_DOM__DocumentType* xret = new x_DOM__DocumentType(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__DocumentType(const DOM::Node& x1) : DocumentType(x1) {}
    void x_4(Smoke::Stack x) {
        // DOM::DocumentType& operator=(const DOM::Node&)
        DOM::DocumentType& xret = this->DOM::DocumentType::operator=(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::DocumentType& operator=(const DOM::DocumentType&)
        DOM::DocumentType& xret = this->DOM::DocumentType::operator=(*(const DOM::DocumentType*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // DOM::DOMString name() const
        DOM::DOMString xret = ((const x_DOM__DocumentType*)this)->DOM::DocumentType::name();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_7(Smoke::Stack x) {
        // DOM::NamedNodeMap entities() const
        DOM::NamedNodeMap xret = ((const x_DOM__DocumentType*)this)->DOM::DocumentType::entities();
        x[0].s_class = (void*)new DOM::NamedNodeMap(xret);
    }
    void x_8(Smoke::Stack x) {
        // DOM::NamedNodeMap notations() const
        DOM::NamedNodeMap xret = ((const x_DOM__DocumentType*)this)->DOM::DocumentType::notations();
        x[0].s_class = (void*)new DOM::NamedNodeMap(xret);
    }
    void x_9(Smoke::Stack x) {
        // DOM::DOMString publicId() const
        DOM::DOMString xret = ((const x_DOM__DocumentType*)this)->DOM::DocumentType::publicId();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_10(Smoke::Stack x) {
        // DOM::DOMString systemId() const
        DOM::DOMString xret = ((const x_DOM__DocumentType*)this)->DOM::DocumentType::systemId();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_11(Smoke::Stack x) {
        // DOM::DOMString internalSubset() const
        DOM::DOMString xret = ((const x_DOM__DocumentType*)this)->DOM::DocumentType::internalSubset();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    ~x_DOM__DocumentType() { this->_binding->deleted(30, (void*)this); }
};
void xcall_DOM__DocumentType(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__DocumentType *xself = (x_DOM__DocumentType*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__DocumentType::x_1(args);	break;
        case 2: x_DOM__DocumentType::x_2(args);	break;
        case 3: x_DOM__DocumentType::x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: delete (DOM::DocumentType*)xself;	break;
    }
}
class x_DOM__DomShared : public DOM::DomShared, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // DOM::DomShared* DomShared()
        x_DOM__DomShared* xret = new x_DOM__DomShared();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__DomShared() : DomShared() {}
    void x_2(Smoke::Stack x) {
        // virtual bool deleteMe()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<DOM::DomShared*>(this))) {
            bool xret = this->DOM::DomShared::deleteMe();
            x[0].s_bool = xret;
        } else {
            bool xret = this->deleteMe();
            x[0].s_bool = xret;
        }
    }
    void x_3(Smoke::Stack x) {
        // void ref()
        this->DOM::DomShared::ref();
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // void deref()
        this->DOM::DomShared::deref();
        (void)x; // noop (for compiler warning)
    }
    void x_5(Smoke::Stack x) {
        // bool hasOneRef() const
        bool xret = ((const x_DOM__DomShared*)this)->DOM::DomShared::hasOneRef();
        x[0].s_bool = xret;
    }
    void x_6(Smoke::Stack x) {
        // unsigned int refCount() const
        unsigned int xret = ((const x_DOM__DomShared*)this)->DOM::DomShared::refCount();
        x[0].s_uint = xret;
    }
    static void x_7(Smoke::Stack x) {
        // DOM::DomShared* DomShared(const DOM::DomShared&)
        x_DOM__DomShared* xret = new x_DOM__DomShared(*(const DOM::DomShared*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__DomShared(const DOM::DomShared& x1) : DomShared(x1) {}
    void x_8(Smoke::Stack x) {
        // unsigned int _ref
        x[0].s_uint = this->DOM::DomShared::_ref;
    }
    void x_9(Smoke::Stack x) {
        // unsigned int _ref=
        this->DOM::DomShared::_ref = (unsigned int)x[1].s_uint;
    }
    virtual bool deleteMe() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(434, (void*)this, x)) return (bool)x[0].s_bool;
        return this->DOM::DomShared::deleteMe();
    }
    ~x_DOM__DomShared() { this->_binding->deleted(31, (void*)this); }
};
void xcall_DOM__DomShared(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__DomShared *xself = (x_DOM__DomShared*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__DomShared::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: x_DOM__DomShared::x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: delete (DOM::DomShared*)xself;	break;
    }
}

}
