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

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

class __internal_SmokeClass {};

namespace __smokekhtml {

class x_DOM__HTMLParagraphElement : public DOM::HTMLParagraphElement, 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::HTMLParagraphElement* HTMLParagraphElement()
        x_DOM__HTMLParagraphElement* xret = new x_DOM__HTMLParagraphElement();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLParagraphElement() : HTMLParagraphElement() {}
    static void x_2(Smoke::Stack x) {
        // DOM::HTMLParagraphElement* HTMLParagraphElement(const DOM::HTMLParagraphElement&)
        x_DOM__HTMLParagraphElement* xret = new x_DOM__HTMLParagraphElement(*(const DOM::HTMLParagraphElement*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLParagraphElement(const DOM::HTMLParagraphElement& x1) : HTMLParagraphElement(x1) {}
    static void x_3(Smoke::Stack x) {
        // DOM::HTMLParagraphElement* HTMLParagraphElement(const DOM::Node&)
        x_DOM__HTMLParagraphElement* xret = new x_DOM__HTMLParagraphElement(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLParagraphElement(const DOM::Node& x1) : HTMLParagraphElement(x1) {}
    void x_4(Smoke::Stack x) {
        // DOM::HTMLParagraphElement& operator=(const DOM::HTMLParagraphElement&)
        DOM::HTMLParagraphElement& xret = this->DOM::HTMLParagraphElement::operator=(*(const DOM::HTMLParagraphElement*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::HTMLParagraphElement& operator=(const DOM::Node&)
        DOM::HTMLParagraphElement& xret = this->DOM::HTMLParagraphElement::operator=(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // DOM::DOMString align() const
        DOM::DOMString xret = ((const x_DOM__HTMLParagraphElement*)this)->DOM::HTMLParagraphElement::align();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_7(Smoke::Stack x) {
        // void setAlign(const DOM::DOMString&)
        this->DOM::HTMLParagraphElement::setAlign(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    ~x_DOM__HTMLParagraphElement() { this->_binding->deleted(81, (void*)this); }
};
void xcall_DOM__HTMLParagraphElement(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__HTMLParagraphElement *xself = (x_DOM__HTMLParagraphElement*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__HTMLParagraphElement::x_1(args);	break;
        case 2: x_DOM__HTMLParagraphElement::x_2(args);	break;
        case 3: x_DOM__HTMLParagraphElement::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::HTMLParagraphElement*)xself;	break;
    }
}
class x_DOM__HTMLParamElement : public DOM::HTMLParamElement, 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::HTMLParamElement* HTMLParamElement()
        x_DOM__HTMLParamElement* xret = new x_DOM__HTMLParamElement();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLParamElement() : HTMLParamElement() {}
    static void x_2(Smoke::Stack x) {
        // DOM::HTMLParamElement* HTMLParamElement(const DOM::HTMLParamElement&)
        x_DOM__HTMLParamElement* xret = new x_DOM__HTMLParamElement(*(const DOM::HTMLParamElement*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLParamElement(const DOM::HTMLParamElement& x1) : HTMLParamElement(x1) {}
    static void x_3(Smoke::Stack x) {
        // DOM::HTMLParamElement* HTMLParamElement(const DOM::Node&)
        x_DOM__HTMLParamElement* xret = new x_DOM__HTMLParamElement(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLParamElement(const DOM::Node& x1) : HTMLParamElement(x1) {}
    void x_4(Smoke::Stack x) {
        // DOM::HTMLParamElement& operator=(const DOM::HTMLParamElement&)
        DOM::HTMLParamElement& xret = this->DOM::HTMLParamElement::operator=(*(const DOM::HTMLParamElement*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::HTMLParamElement& operator=(const DOM::Node&)
        DOM::HTMLParamElement& xret = this->DOM::HTMLParamElement::operator=(*(const DOM::Node*)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__HTMLParamElement*)this)->DOM::HTMLParamElement::name();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_7(Smoke::Stack x) {
        // void setName(const DOM::DOMString&)
        this->DOM::HTMLParamElement::setName(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // DOM::DOMString type() const
        DOM::DOMString xret = ((const x_DOM__HTMLParamElement*)this)->DOM::HTMLParamElement::type();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_9(Smoke::Stack x) {
        // void setType(const DOM::DOMString&)
        this->DOM::HTMLParamElement::setType(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // DOM::DOMString value() const
        DOM::DOMString xret = ((const x_DOM__HTMLParamElement*)this)->DOM::HTMLParamElement::value();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_11(Smoke::Stack x) {
        // void setValue(const DOM::DOMString&)
        this->DOM::HTMLParamElement::setValue(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // DOM::DOMString valueType() const
        DOM::DOMString xret = ((const x_DOM__HTMLParamElement*)this)->DOM::HTMLParamElement::valueType();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_13(Smoke::Stack x) {
        // void setValueType(const DOM::DOMString&)
        this->DOM::HTMLParamElement::setValueType(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    ~x_DOM__HTMLParamElement() { this->_binding->deleted(82, (void*)this); }
};
void xcall_DOM__HTMLParamElement(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__HTMLParamElement *xself = (x_DOM__HTMLParamElement*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__HTMLParamElement::x_1(args);	break;
        case 2: x_DOM__HTMLParamElement::x_2(args);	break;
        case 3: x_DOM__HTMLParamElement::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: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: delete (DOM::HTMLParamElement*)xself;	break;
    }
}
class x_DOM__HTMLPreElement : public DOM::HTMLPreElement, 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::HTMLPreElement* HTMLPreElement()
        x_DOM__HTMLPreElement* xret = new x_DOM__HTMLPreElement();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLPreElement() : HTMLPreElement() {}
    static void x_2(Smoke::Stack x) {
        // DOM::HTMLPreElement* HTMLPreElement(const DOM::HTMLPreElement&)
        x_DOM__HTMLPreElement* xret = new x_DOM__HTMLPreElement(*(const DOM::HTMLPreElement*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLPreElement(const DOM::HTMLPreElement& x1) : HTMLPreElement(x1) {}
    static void x_3(Smoke::Stack x) {
        // DOM::HTMLPreElement* HTMLPreElement(const DOM::Node&)
        x_DOM__HTMLPreElement* xret = new x_DOM__HTMLPreElement(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLPreElement(const DOM::Node& x1) : HTMLPreElement(x1) {}
    void x_4(Smoke::Stack x) {
        // DOM::HTMLPreElement& operator=(const DOM::HTMLPreElement&)
        DOM::HTMLPreElement& xret = this->DOM::HTMLPreElement::operator=(*(const DOM::HTMLPreElement*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::HTMLPreElement& operator=(const DOM::Node&)
        DOM::HTMLPreElement& xret = this->DOM::HTMLPreElement::operator=(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // long width() const
        long xret = ((const x_DOM__HTMLPreElement*)this)->DOM::HTMLPreElement::width();
        x[0].s_long = xret;
    }
    void x_7(Smoke::Stack x) {
        // void setWidth(long)
        this->DOM::HTMLPreElement::setWidth((long)x[1].s_long);
        (void)x; // noop (for compiler warning)
    }
    ~x_DOM__HTMLPreElement() { this->_binding->deleted(83, (void*)this); }
};
void xcall_DOM__HTMLPreElement(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__HTMLPreElement *xself = (x_DOM__HTMLPreElement*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__HTMLPreElement::x_1(args);	break;
        case 2: x_DOM__HTMLPreElement::x_2(args);	break;
        case 3: x_DOM__HTMLPreElement::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::HTMLPreElement*)xself;	break;
    }
}
class x_DOM__HTMLQuoteElement : public DOM::HTMLQuoteElement, 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::HTMLQuoteElement* HTMLQuoteElement()
        x_DOM__HTMLQuoteElement* xret = new x_DOM__HTMLQuoteElement();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLQuoteElement() : HTMLQuoteElement() {}
    static void x_2(Smoke::Stack x) {
        // DOM::HTMLQuoteElement* HTMLQuoteElement(const DOM::HTMLQuoteElement&)
        x_DOM__HTMLQuoteElement* xret = new x_DOM__HTMLQuoteElement(*(const DOM::HTMLQuoteElement*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLQuoteElement(const DOM::HTMLQuoteElement& x1) : HTMLQuoteElement(x1) {}
    static void x_3(Smoke::Stack x) {
        // DOM::HTMLQuoteElement* HTMLQuoteElement(const DOM::Node&)
        x_DOM__HTMLQuoteElement* xret = new x_DOM__HTMLQuoteElement(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLQuoteElement(const DOM::Node& x1) : HTMLQuoteElement(x1) {}
    void x_4(Smoke::Stack x) {
        // DOM::HTMLQuoteElement& operator=(const DOM::HTMLQuoteElement&)
        DOM::HTMLQuoteElement& xret = this->DOM::HTMLQuoteElement::operator=(*(const DOM::HTMLQuoteElement*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::HTMLQuoteElement& operator=(const DOM::Node&)
        DOM::HTMLQuoteElement& xret = this->DOM::HTMLQuoteElement::operator=(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // DOM::DOMString cite() const
        DOM::DOMString xret = ((const x_DOM__HTMLQuoteElement*)this)->DOM::HTMLQuoteElement::cite();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_7(Smoke::Stack x) {
        // void setCite(const DOM::DOMString&)
        this->DOM::HTMLQuoteElement::setCite(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    ~x_DOM__HTMLQuoteElement() { this->_binding->deleted(84, (void*)this); }
};
void xcall_DOM__HTMLQuoteElement(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__HTMLQuoteElement *xself = (x_DOM__HTMLQuoteElement*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__HTMLQuoteElement::x_1(args);	break;
        case 2: x_DOM__HTMLQuoteElement::x_2(args);	break;
        case 3: x_DOM__HTMLQuoteElement::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::HTMLQuoteElement*)xself;	break;
    }
}
class x_DOM__HTMLScriptElement : public DOM::HTMLScriptElement, 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::HTMLScriptElement* HTMLScriptElement()
        x_DOM__HTMLScriptElement* xret = new x_DOM__HTMLScriptElement();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLScriptElement() : HTMLScriptElement() {}
    static void x_2(Smoke::Stack x) {
        // DOM::HTMLScriptElement* HTMLScriptElement(const DOM::HTMLScriptElement&)
        x_DOM__HTMLScriptElement* xret = new x_DOM__HTMLScriptElement(*(const DOM::HTMLScriptElement*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLScriptElement(const DOM::HTMLScriptElement& x1) : HTMLScriptElement(x1) {}
    static void x_3(Smoke::Stack x) {
        // DOM::HTMLScriptElement* HTMLScriptElement(const DOM::Node&)
        x_DOM__HTMLScriptElement* xret = new x_DOM__HTMLScriptElement(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLScriptElement(const DOM::Node& x1) : HTMLScriptElement(x1) {}
    void x_4(Smoke::Stack x) {
        // DOM::HTMLScriptElement& operator=(const DOM::HTMLScriptElement&)
        DOM::HTMLScriptElement& xret = this->DOM::HTMLScriptElement::operator=(*(const DOM::HTMLScriptElement*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::HTMLScriptElement& operator=(const DOM::Node&)
        DOM::HTMLScriptElement& xret = this->DOM::HTMLScriptElement::operator=(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // DOM::DOMString text() const
        DOM::DOMString xret = ((const x_DOM__HTMLScriptElement*)this)->DOM::HTMLScriptElement::text();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_7(Smoke::Stack x) {
        // void setText(const DOM::DOMString&)
        this->DOM::HTMLScriptElement::setText(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // DOM::DOMString htmlFor() const
        DOM::DOMString xret = ((const x_DOM__HTMLScriptElement*)this)->DOM::HTMLScriptElement::htmlFor();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_9(Smoke::Stack x) {
        // void setHtmlFor(const DOM::DOMString&)
        this->DOM::HTMLScriptElement::setHtmlFor(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // DOM::DOMString event() const
        DOM::DOMString xret = ((const x_DOM__HTMLScriptElement*)this)->DOM::HTMLScriptElement::event();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_11(Smoke::Stack x) {
        // void setEvent(const DOM::DOMString&)
        this->DOM::HTMLScriptElement::setEvent(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // DOM::DOMString charset() const
        DOM::DOMString xret = ((const x_DOM__HTMLScriptElement*)this)->DOM::HTMLScriptElement::charset();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_13(Smoke::Stack x) {
        // void setCharset(const DOM::DOMString&)
        this->DOM::HTMLScriptElement::setCharset(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // bool defer() const
        bool xret = ((const x_DOM__HTMLScriptElement*)this)->DOM::HTMLScriptElement::defer();
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // void setDefer(bool)
        this->DOM::HTMLScriptElement::setDefer((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // DOM::DOMString src() const
        DOM::DOMString xret = ((const x_DOM__HTMLScriptElement*)this)->DOM::HTMLScriptElement::src();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_17(Smoke::Stack x) {
        // void setSrc(const DOM::DOMString&)
        this->DOM::HTMLScriptElement::setSrc(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // DOM::DOMString type() const
        DOM::DOMString xret = ((const x_DOM__HTMLScriptElement*)this)->DOM::HTMLScriptElement::type();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_19(Smoke::Stack x) {
        // void setType(const DOM::DOMString&)
        this->DOM::HTMLScriptElement::setType(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    ~x_DOM__HTMLScriptElement() { this->_binding->deleted(85, (void*)this); }
};
void xcall_DOM__HTMLScriptElement(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__HTMLScriptElement *xself = (x_DOM__HTMLScriptElement*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__HTMLScriptElement::x_1(args);	break;
        case 2: x_DOM__HTMLScriptElement::x_2(args);	break;
        case 3: x_DOM__HTMLScriptElement::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: 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: delete (DOM::HTMLScriptElement*)xself;	break;
    }
}
class x_DOM__HTMLSelectElement : public DOM::HTMLSelectElement, 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::HTMLSelectElement* HTMLSelectElement()
        x_DOM__HTMLSelectElement* xret = new x_DOM__HTMLSelectElement();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLSelectElement() : HTMLSelectElement() {}
    static void x_2(Smoke::Stack x) {
        // DOM::HTMLSelectElement* HTMLSelectElement(const DOM::HTMLSelectElement&)
        x_DOM__HTMLSelectElement* xret = new x_DOM__HTMLSelectElement(*(const DOM::HTMLSelectElement*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLSelectElement(const DOM::HTMLSelectElement& x1) : HTMLSelectElement(x1) {}
    static void x_3(Smoke::Stack x) {
        // DOM::HTMLSelectElement* HTMLSelectElement(const DOM::Node&)
        x_DOM__HTMLSelectElement* xret = new x_DOM__HTMLSelectElement(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLSelectElement(const DOM::Node& x1) : HTMLSelectElement(x1) {}
    void x_4(Smoke::Stack x) {
        // DOM::HTMLSelectElement& operator=(const DOM::HTMLSelectElement&)
        DOM::HTMLSelectElement& xret = this->DOM::HTMLSelectElement::operator=(*(const DOM::HTMLSelectElement*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::HTMLSelectElement& operator=(const DOM::Node&)
        DOM::HTMLSelectElement& xret = this->DOM::HTMLSelectElement::operator=(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // DOM::DOMString type() const
        DOM::DOMString xret = ((const x_DOM__HTMLSelectElement*)this)->DOM::HTMLSelectElement::type();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_7(Smoke::Stack x) {
        // long selectedIndex() const
        long xret = ((const x_DOM__HTMLSelectElement*)this)->DOM::HTMLSelectElement::selectedIndex();
        x[0].s_long = xret;
    }
    void x_8(Smoke::Stack x) {
        // void setSelectedIndex(long)
        this->DOM::HTMLSelectElement::setSelectedIndex((long)x[1].s_long);
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // DOM::DOMString value() const
        DOM::DOMString xret = ((const x_DOM__HTMLSelectElement*)this)->DOM::HTMLSelectElement::value();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_10(Smoke::Stack x) {
        // void setValue(const DOM::DOMString&)
        this->DOM::HTMLSelectElement::setValue(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // long length() const
        long xret = ((const x_DOM__HTMLSelectElement*)this)->DOM::HTMLSelectElement::length();
        x[0].s_long = xret;
    }
    void x_12(Smoke::Stack x) {
        // DOM::HTMLFormElement form() const
        DOM::HTMLFormElement xret = ((const x_DOM__HTMLSelectElement*)this)->DOM::HTMLSelectElement::form();
        x[0].s_class = (void*)new DOM::HTMLFormElement(xret);
    }
    void x_13(Smoke::Stack x) {
        // DOM::HTMLCollection options() const
        DOM::HTMLCollection xret = ((const x_DOM__HTMLSelectElement*)this)->DOM::HTMLSelectElement::options();
        x[0].s_class = (void*)new DOM::HTMLCollection(xret);
    }
    void x_14(Smoke::Stack x) {
        // bool disabled() const
        bool xret = ((const x_DOM__HTMLSelectElement*)this)->DOM::HTMLSelectElement::disabled();
        x[0].s_bool = xret;
    }
    void x_15(Smoke::Stack x) {
        // void setDisabled(bool)
        this->DOM::HTMLSelectElement::setDisabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_16(Smoke::Stack x) {
        // bool multiple() const
        bool xret = ((const x_DOM__HTMLSelectElement*)this)->DOM::HTMLSelectElement::multiple();
        x[0].s_bool = xret;
    }
    void x_17(Smoke::Stack x) {
        // void setMultiple(bool)
        this->DOM::HTMLSelectElement::setMultiple((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // DOM::DOMString name() const
        DOM::DOMString xret = ((const x_DOM__HTMLSelectElement*)this)->DOM::HTMLSelectElement::name();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_19(Smoke::Stack x) {
        // void setName(const DOM::DOMString&)
        this->DOM::HTMLSelectElement::setName(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // long size() const
        long xret = ((const x_DOM__HTMLSelectElement*)this)->DOM::HTMLSelectElement::size();
        x[0].s_long = xret;
    }
    void x_21(Smoke::Stack x) {
        // void setSize(long)
        this->DOM::HTMLSelectElement::setSize((long)x[1].s_long);
        (void)x; // noop (for compiler warning)
    }
    void x_22(Smoke::Stack x) {
        // long tabIndex() const
        long xret = ((const x_DOM__HTMLSelectElement*)this)->DOM::HTMLSelectElement::tabIndex();
        x[0].s_long = xret;
    }
    void x_23(Smoke::Stack x) {
        // void setTabIndex(long)
        this->DOM::HTMLSelectElement::setTabIndex((long)x[1].s_long);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // void add(const DOM::HTMLElement&, const DOM::HTMLElement&)
        this->DOM::HTMLSelectElement::add(*(const DOM::HTMLElement*)x[1].s_class,*(const DOM::HTMLElement*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // void remove(long)
        this->DOM::HTMLSelectElement::remove((long)x[1].s_long);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // void blur()
        this->DOM::HTMLSelectElement::blur();
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // void focus()
        this->DOM::HTMLSelectElement::focus();
        (void)x; // noop (for compiler warning)
    }
    ~x_DOM__HTMLSelectElement() { this->_binding->deleted(86, (void*)this); }
};
void xcall_DOM__HTMLSelectElement(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__HTMLSelectElement *xself = (x_DOM__HTMLSelectElement*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__HTMLSelectElement::x_1(args);	break;
        case 2: x_DOM__HTMLSelectElement::x_2(args);	break;
        case 3: x_DOM__HTMLSelectElement::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: 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: delete (DOM::HTMLSelectElement*)xself;	break;
    }
}

}
