//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__HTMLTableSectionElement : public DOM::HTMLTableSectionElement, 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::HTMLTableSectionElement* HTMLTableSectionElement()
        x_DOM__HTMLTableSectionElement* xret = new x_DOM__HTMLTableSectionElement();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLTableSectionElement() : HTMLTableSectionElement() {}
    static void x_2(Smoke::Stack x) {
        // DOM::HTMLTableSectionElement* HTMLTableSectionElement(const DOM::HTMLTableSectionElement&)
        x_DOM__HTMLTableSectionElement* xret = new x_DOM__HTMLTableSectionElement(*(const DOM::HTMLTableSectionElement*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLTableSectionElement(const DOM::HTMLTableSectionElement& x1) : HTMLTableSectionElement(x1) {}
    static void x_3(Smoke::Stack x) {
        // DOM::HTMLTableSectionElement* HTMLTableSectionElement(const DOM::Node&)
        x_DOM__HTMLTableSectionElement* xret = new x_DOM__HTMLTableSectionElement(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLTableSectionElement(const DOM::Node& x1) : HTMLTableSectionElement(x1) {}
    void x_4(Smoke::Stack x) {
        // DOM::HTMLTableSectionElement& operator=(const DOM::HTMLTableSectionElement&)
        DOM::HTMLTableSectionElement& xret = this->DOM::HTMLTableSectionElement::operator=(*(const DOM::HTMLTableSectionElement*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::HTMLTableSectionElement& operator=(const DOM::Node&)
        DOM::HTMLTableSectionElement& xret = this->DOM::HTMLTableSectionElement::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__HTMLTableSectionElement*)this)->DOM::HTMLTableSectionElement::align();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_7(Smoke::Stack x) {
        // void setAlign(const DOM::DOMString&)
        this->DOM::HTMLTableSectionElement::setAlign(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // DOM::DOMString ch() const
        DOM::DOMString xret = ((const x_DOM__HTMLTableSectionElement*)this)->DOM::HTMLTableSectionElement::ch();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_9(Smoke::Stack x) {
        // void setCh(const DOM::DOMString&)
        this->DOM::HTMLTableSectionElement::setCh(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // DOM::DOMString chOff() const
        DOM::DOMString xret = ((const x_DOM__HTMLTableSectionElement*)this)->DOM::HTMLTableSectionElement::chOff();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_11(Smoke::Stack x) {
        // void setChOff(const DOM::DOMString&)
        this->DOM::HTMLTableSectionElement::setChOff(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // DOM::DOMString vAlign() const
        DOM::DOMString xret = ((const x_DOM__HTMLTableSectionElement*)this)->DOM::HTMLTableSectionElement::vAlign();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_13(Smoke::Stack x) {
        // void setVAlign(const DOM::DOMString&)
        this->DOM::HTMLTableSectionElement::setVAlign(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // DOM::HTMLCollection rows() const
        DOM::HTMLCollection xret = ((const x_DOM__HTMLTableSectionElement*)this)->DOM::HTMLTableSectionElement::rows();
        x[0].s_class = (void*)new DOM::HTMLCollection(xret);
    }
    void x_15(Smoke::Stack x) {
        // DOM::HTMLElement insertRow(long)
        DOM::HTMLElement xret = this->DOM::HTMLTableSectionElement::insertRow((long)x[1].s_long);
        x[0].s_class = (void*)new DOM::HTMLElement(xret);
    }
    void x_16(Smoke::Stack x) {
        // void deleteRow(long)
        this->DOM::HTMLTableSectionElement::deleteRow((long)x[1].s_long);
        (void)x; // noop (for compiler warning)
    }
    ~x_DOM__HTMLTableSectionElement() { this->_binding->deleted(93, (void*)this); }
};
void xcall_DOM__HTMLTableSectionElement(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__HTMLTableSectionElement *xself = (x_DOM__HTMLTableSectionElement*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__HTMLTableSectionElement::x_1(args);	break;
        case 2: x_DOM__HTMLTableSectionElement::x_2(args);	break;
        case 3: x_DOM__HTMLTableSectionElement::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: delete (DOM::HTMLTableSectionElement*)xself;	break;
    }
}
class x_DOM__HTMLTextAreaElement : public DOM::HTMLTextAreaElement, 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::HTMLTextAreaElement* HTMLTextAreaElement()
        x_DOM__HTMLTextAreaElement* xret = new x_DOM__HTMLTextAreaElement();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLTextAreaElement() : HTMLTextAreaElement() {}
    static void x_2(Smoke::Stack x) {
        // DOM::HTMLTextAreaElement* HTMLTextAreaElement(const DOM::HTMLTextAreaElement&)
        x_DOM__HTMLTextAreaElement* xret = new x_DOM__HTMLTextAreaElement(*(const DOM::HTMLTextAreaElement*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLTextAreaElement(const DOM::HTMLTextAreaElement& x1) : HTMLTextAreaElement(x1) {}
    static void x_3(Smoke::Stack x) {
        // DOM::HTMLTextAreaElement* HTMLTextAreaElement(const DOM::Node&)
        x_DOM__HTMLTextAreaElement* xret = new x_DOM__HTMLTextAreaElement(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLTextAreaElement(const DOM::Node& x1) : HTMLTextAreaElement(x1) {}
    void x_4(Smoke::Stack x) {
        // DOM::HTMLTextAreaElement& operator=(const DOM::HTMLTextAreaElement&)
        DOM::HTMLTextAreaElement& xret = this->DOM::HTMLTextAreaElement::operator=(*(const DOM::HTMLTextAreaElement*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::HTMLTextAreaElement& operator=(const DOM::Node&)
        DOM::HTMLTextAreaElement& xret = this->DOM::HTMLTextAreaElement::operator=(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // DOM::DOMString defaultValue() const
        DOM::DOMString xret = ((const x_DOM__HTMLTextAreaElement*)this)->DOM::HTMLTextAreaElement::defaultValue();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_7(Smoke::Stack x) {
        // void setDefaultValue(const DOM::DOMString&)
        this->DOM::HTMLTextAreaElement::setDefaultValue(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // DOM::HTMLFormElement form() const
        DOM::HTMLFormElement xret = ((const x_DOM__HTMLTextAreaElement*)this)->DOM::HTMLTextAreaElement::form();
        x[0].s_class = (void*)new DOM::HTMLFormElement(xret);
    }
    void x_9(Smoke::Stack x) {
        // DOM::DOMString accessKey() const
        DOM::DOMString xret = ((const x_DOM__HTMLTextAreaElement*)this)->DOM::HTMLTextAreaElement::accessKey();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_10(Smoke::Stack x) {
        // void setAccessKey(const DOM::DOMString&)
        this->DOM::HTMLTextAreaElement::setAccessKey(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // long cols() const
        long xret = ((const x_DOM__HTMLTextAreaElement*)this)->DOM::HTMLTextAreaElement::cols();
        x[0].s_long = xret;
    }
    void x_12(Smoke::Stack x) {
        // void setCols(long)
        this->DOM::HTMLTextAreaElement::setCols((long)x[1].s_long);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // bool disabled() const
        bool xret = ((const x_DOM__HTMLTextAreaElement*)this)->DOM::HTMLTextAreaElement::disabled();
        x[0].s_bool = xret;
    }
    void x_14(Smoke::Stack x) {
        // void setDisabled(bool)
        this->DOM::HTMLTextAreaElement::setDisabled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // DOM::DOMString name() const
        DOM::DOMString xret = ((const x_DOM__HTMLTextAreaElement*)this)->DOM::HTMLTextAreaElement::name();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_16(Smoke::Stack x) {
        // void setName(const DOM::DOMString&)
        this->DOM::HTMLTextAreaElement::setName(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // bool readOnly() const
        bool xret = ((const x_DOM__HTMLTextAreaElement*)this)->DOM::HTMLTextAreaElement::readOnly();
        x[0].s_bool = xret;
    }
    void x_18(Smoke::Stack x) {
        // void setReadOnly(bool)
        this->DOM::HTMLTextAreaElement::setReadOnly((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // long rows() const
        long xret = ((const x_DOM__HTMLTextAreaElement*)this)->DOM::HTMLTextAreaElement::rows();
        x[0].s_long = xret;
    }
    void x_20(Smoke::Stack x) {
        // void setRows(long)
        this->DOM::HTMLTextAreaElement::setRows((long)x[1].s_long);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // long tabIndex() const
        long xret = ((const x_DOM__HTMLTextAreaElement*)this)->DOM::HTMLTextAreaElement::tabIndex();
        x[0].s_long = xret;
    }
    void x_22(Smoke::Stack x) {
        // void setTabIndex(long)
        this->DOM::HTMLTextAreaElement::setTabIndex((long)x[1].s_long);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // DOM::DOMString type() const
        DOM::DOMString xret = ((const x_DOM__HTMLTextAreaElement*)this)->DOM::HTMLTextAreaElement::type();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_24(Smoke::Stack x) {
        // DOM::DOMString value() const
        DOM::DOMString xret = ((const x_DOM__HTMLTextAreaElement*)this)->DOM::HTMLTextAreaElement::value();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_25(Smoke::Stack x) {
        // void setValue(const DOM::DOMString&)
        this->DOM::HTMLTextAreaElement::setValue(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // void blur()
        this->DOM::HTMLTextAreaElement::blur();
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // void focus()
        this->DOM::HTMLTextAreaElement::focus();
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // void select()
        this->DOM::HTMLTextAreaElement::select();
        (void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
        // long selectionStart()
        long xret = this->DOM::HTMLTextAreaElement::selectionStart();
        x[0].s_long = xret;
    }
    void x_30(Smoke::Stack x) {
        // void setSelectionStart(long)
        this->DOM::HTMLTextAreaElement::setSelectionStart((long)x[1].s_long);
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // long selectionEnd()
        long xret = this->DOM::HTMLTextAreaElement::selectionEnd();
        x[0].s_long = xret;
    }
    void x_32(Smoke::Stack x) {
        // void setSelectionEnd(long)
        this->DOM::HTMLTextAreaElement::setSelectionEnd((long)x[1].s_long);
        (void)x; // noop (for compiler warning)
    }
    void x_33(Smoke::Stack x) {
        // void setSelectionRange(long, long)
        this->DOM::HTMLTextAreaElement::setSelectionRange((long)x[1].s_long,(long)x[2].s_long);
        (void)x; // noop (for compiler warning)
    }
    void x_34(Smoke::Stack x) {
        // long textLength()
        long xret = this->DOM::HTMLTextAreaElement::textLength();
        x[0].s_long = xret;
    }
    ~x_DOM__HTMLTextAreaElement() { this->_binding->deleted(94, (void*)this); }
};
void xcall_DOM__HTMLTextAreaElement(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__HTMLTextAreaElement *xself = (x_DOM__HTMLTextAreaElement*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__HTMLTextAreaElement::x_1(args);	break;
        case 2: x_DOM__HTMLTextAreaElement::x_2(args);	break;
        case 3: x_DOM__HTMLTextAreaElement::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: 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: delete (DOM::HTMLTextAreaElement*)xself;	break;
    }
}
class x_DOM__HTMLTitleElement : public DOM::HTMLTitleElement, 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::HTMLTitleElement* HTMLTitleElement()
        x_DOM__HTMLTitleElement* xret = new x_DOM__HTMLTitleElement();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLTitleElement() : HTMLTitleElement() {}
    static void x_2(Smoke::Stack x) {
        // DOM::HTMLTitleElement* HTMLTitleElement(const DOM::HTMLTitleElement&)
        x_DOM__HTMLTitleElement* xret = new x_DOM__HTMLTitleElement(*(const DOM::HTMLTitleElement*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLTitleElement(const DOM::HTMLTitleElement& x1) : HTMLTitleElement(x1) {}
    static void x_3(Smoke::Stack x) {
        // DOM::HTMLTitleElement* HTMLTitleElement(const DOM::Node&)
        x_DOM__HTMLTitleElement* xret = new x_DOM__HTMLTitleElement(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLTitleElement(const DOM::Node& x1) : HTMLTitleElement(x1) {}
    void x_4(Smoke::Stack x) {
        // DOM::HTMLTitleElement& operator=(const DOM::HTMLTitleElement&)
        DOM::HTMLTitleElement& xret = this->DOM::HTMLTitleElement::operator=(*(const DOM::HTMLTitleElement*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::HTMLTitleElement& operator=(const DOM::Node&)
        DOM::HTMLTitleElement& xret = this->DOM::HTMLTitleElement::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__HTMLTitleElement*)this)->DOM::HTMLTitleElement::text();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_7(Smoke::Stack x) {
        // void setText(const DOM::DOMString&)
        this->DOM::HTMLTitleElement::setText(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    ~x_DOM__HTMLTitleElement() { this->_binding->deleted(95, (void*)this); }
};
void xcall_DOM__HTMLTitleElement(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__HTMLTitleElement *xself = (x_DOM__HTMLTitleElement*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__HTMLTitleElement::x_1(args);	break;
        case 2: x_DOM__HTMLTitleElement::x_2(args);	break;
        case 3: x_DOM__HTMLTitleElement::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::HTMLTitleElement*)xself;	break;
    }
}
class x_DOM__HTMLUListElement : public DOM::HTMLUListElement, 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::HTMLUListElement* HTMLUListElement()
        x_DOM__HTMLUListElement* xret = new x_DOM__HTMLUListElement();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLUListElement() : HTMLUListElement() {}
    static void x_2(Smoke::Stack x) {
        // DOM::HTMLUListElement* HTMLUListElement(const DOM::HTMLUListElement&)
        x_DOM__HTMLUListElement* xret = new x_DOM__HTMLUListElement(*(const DOM::HTMLUListElement*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLUListElement(const DOM::HTMLUListElement& x1) : HTMLUListElement(x1) {}
    static void x_3(Smoke::Stack x) {
        // DOM::HTMLUListElement* HTMLUListElement(const DOM::Node&)
        x_DOM__HTMLUListElement* xret = new x_DOM__HTMLUListElement(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__HTMLUListElement(const DOM::Node& x1) : HTMLUListElement(x1) {}
    void x_4(Smoke::Stack x) {
        // DOM::HTMLUListElement& operator=(const DOM::HTMLUListElement&)
        DOM::HTMLUListElement& xret = this->DOM::HTMLUListElement::operator=(*(const DOM::HTMLUListElement*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::HTMLUListElement& operator=(const DOM::Node&)
        DOM::HTMLUListElement& xret = this->DOM::HTMLUListElement::operator=(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // bool compact() const
        bool xret = ((const x_DOM__HTMLUListElement*)this)->DOM::HTMLUListElement::compact();
        x[0].s_bool = xret;
    }
    void x_7(Smoke::Stack x) {
        // void setCompact(bool)
        this->DOM::HTMLUListElement::setCompact((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // DOM::DOMString type() const
        DOM::DOMString xret = ((const x_DOM__HTMLUListElement*)this)->DOM::HTMLUListElement::type();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_9(Smoke::Stack x) {
        // void setType(const DOM::DOMString&)
        this->DOM::HTMLUListElement::setType(*(const DOM::DOMString*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    ~x_DOM__HTMLUListElement() { this->_binding->deleted(96, (void*)this); }
};
void xcall_DOM__HTMLUListElement(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__HTMLUListElement *xself = (x_DOM__HTMLUListElement*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__HTMLUListElement::x_1(args);	break;
        case 2: x_DOM__HTMLUListElement::x_2(args);	break;
        case 3: x_DOM__HTMLUListElement::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::HTMLUListElement*)xself;	break;
    }
}
class x_DOM__KeyboardEvent : public DOM::KeyboardEvent, 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::KeyboardEvent* KeyboardEvent()
        x_DOM__KeyboardEvent* xret = new x_DOM__KeyboardEvent();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__KeyboardEvent() : KeyboardEvent() {}
    static void x_2(Smoke::Stack x) {
        // DOM::KeyboardEvent* KeyboardEvent(const DOM::KeyboardEvent&)
        x_DOM__KeyboardEvent* xret = new x_DOM__KeyboardEvent(*(const DOM::KeyboardEvent*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__KeyboardEvent(const DOM::KeyboardEvent& x1) : KeyboardEvent(x1) {}
    static void x_3(Smoke::Stack x) {
        // DOM::KeyboardEvent* KeyboardEvent(const DOM::Event&)
        x_DOM__KeyboardEvent* xret = new x_DOM__KeyboardEvent(*(const DOM::Event*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__KeyboardEvent(const DOM::Event& x1) : KeyboardEvent(x1) {}
    void x_4(Smoke::Stack x) {
        // DOM::KeyboardEvent& operator=(const DOM::KeyboardEvent&)
        DOM::KeyboardEvent& xret = this->DOM::KeyboardEvent::operator=(*(const DOM::KeyboardEvent*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::KeyboardEvent& operator=(const DOM::Event&)
        DOM::KeyboardEvent& xret = this->DOM::KeyboardEvent::operator=(*(const DOM::Event*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_6(Smoke::Stack x) {
        // DOM::DOMString keyIdentifier() const
        DOM::DOMString xret = ((const x_DOM__KeyboardEvent*)this)->DOM::KeyboardEvent::keyIdentifier();
        x[0].s_class = (void*)new DOM::DOMString(xret);
    }
    void x_7(Smoke::Stack x) {
        // unsigned long keyLocation() const
        unsigned long xret = ((const x_DOM__KeyboardEvent*)this)->DOM::KeyboardEvent::keyLocation();
        x[0].s_ulong = xret;
    }
    void x_8(Smoke::Stack x) {
        // bool ctrlKey() const
        bool xret = ((const x_DOM__KeyboardEvent*)this)->DOM::KeyboardEvent::ctrlKey();
        x[0].s_bool = xret;
    }
    void x_9(Smoke::Stack x) {
        // bool shiftKey() const
        bool xret = ((const x_DOM__KeyboardEvent*)this)->DOM::KeyboardEvent::shiftKey();
        x[0].s_bool = xret;
    }
    void x_10(Smoke::Stack x) {
        // bool altKey() const
        bool xret = ((const x_DOM__KeyboardEvent*)this)->DOM::KeyboardEvent::altKey();
        x[0].s_bool = xret;
    }
    void x_11(Smoke::Stack x) {
        // bool metaKey() const
        bool xret = ((const x_DOM__KeyboardEvent*)this)->DOM::KeyboardEvent::metaKey();
        x[0].s_bool = xret;
    }
    void x_12(Smoke::Stack x) {
        // bool getModifierState(DOM::DOMString) const
        bool xret = ((const x_DOM__KeyboardEvent*)this)->DOM::KeyboardEvent::getModifierState(*(DOM::DOMString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_13(Smoke::Stack x) {
        // void initKeyboardEvent(DOM::DOMString, bool, bool, DOM::AbstractView, DOM::DOMString, unsigned long, DOM::DOMString)
        this->DOM::KeyboardEvent::initKeyboardEvent(*(DOM::DOMString*)x[1].s_class,(bool)x[2].s_bool,(bool)x[3].s_bool,*(DOM::AbstractView*)x[4].s_class,*(DOM::DOMString*)x[5].s_class,(unsigned long)x[6].s_ulong,*(DOM::DOMString*)x[7].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_14(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::KeyboardEvent::DOM_KEY_LOCATION_STANDARD;
    }
    static void x_15(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::KeyboardEvent::DOM_KEY_LOCATION_LEFT;
    }
    static void x_16(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::KeyboardEvent::DOM_KEY_LOCATION_RIGHT;
    }
    static void x_17(Smoke::Stack x) {
        x[0].s_enum = (long)DOM::KeyboardEvent::DOM_KEY_LOCATION_NUMPAD;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 220: //DOM::KeyboardEvent::KeyLocation
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new DOM::KeyboardEvent::KeyLocation;
                    break;
                case Smoke::EnumDelete:
                    delete (DOM::KeyboardEvent::KeyLocation*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(DOM::KeyboardEvent::KeyLocation*)xdata = (DOM::KeyboardEvent::KeyLocation)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(DOM::KeyboardEvent::KeyLocation*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_DOM__KeyboardEvent() { this->_binding->deleted(97, (void*)this); }
};
void xenum_DOM__KeyboardEvent(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_DOM__KeyboardEvent::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_DOM__KeyboardEvent(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__KeyboardEvent *xself = (x_DOM__KeyboardEvent*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__KeyboardEvent::x_1(args);	break;
        case 2: x_DOM__KeyboardEvent::x_2(args);	break;
        case 3: x_DOM__KeyboardEvent::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: x_DOM__KeyboardEvent::x_14(args);	break;
        case 15: x_DOM__KeyboardEvent::x_15(args);	break;
        case 16: x_DOM__KeyboardEvent::x_16(args);	break;
        case 17: x_DOM__KeyboardEvent::x_17(args);	break;
        case 18: delete (DOM::KeyboardEvent*)xself;	break;
    }
}
class x_DOM__LinkStyle : public DOM::LinkStyle {
    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::LinkStyle* LinkStyle()
        x_DOM__LinkStyle* xret = new x_DOM__LinkStyle();
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__LinkStyle() : LinkStyle() {}
    static void x_2(Smoke::Stack x) {
        // DOM::LinkStyle* LinkStyle(const DOM::LinkStyle&)
        x_DOM__LinkStyle* xret = new x_DOM__LinkStyle(*(const DOM::LinkStyle*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_DOM__LinkStyle(const DOM::LinkStyle& x1) : LinkStyle(x1) {}
    void x_3(Smoke::Stack x) {
        // DOM::LinkStyle& operator=(const DOM::LinkStyle&)
        DOM::LinkStyle& xret = this->DOM::LinkStyle::operator=(*(const DOM::LinkStyle*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_4(Smoke::Stack x) {
        // DOM::LinkStyle& operator=(const DOM::Node&)
        DOM::LinkStyle& xret = this->DOM::LinkStyle::operator=(*(const DOM::Node*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // DOM::StyleSheet sheet()
        DOM::StyleSheet xret = this->DOM::LinkStyle::sheet();
        x[0].s_class = (void*)new DOM::StyleSheet(xret);
    }
    void x_6(Smoke::Stack x) {
        // bool isNull() const
        bool xret = ((const x_DOM__LinkStyle*)this)->DOM::LinkStyle::isNull();
        x[0].s_bool = xret;
    }
    ~x_DOM__LinkStyle() { this->_binding->deleted(98, (void*)this); }
};
void xcall_DOM__LinkStyle(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_DOM__LinkStyle *xself = (x_DOM__LinkStyle*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_DOM__LinkStyle::x_1(args);	break;
        case 2: x_DOM__LinkStyle::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: delete (DOM::LinkStyle*)xself;	break;
    }
}

}
