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

#include <smoke.h>
#include <qsci_smoke.h>

class __internal_SmokeClass {};

namespace __smokeqsci {

class x_QsciLexerTeX : public QsciLexerTeX, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTeX*>(this))) {
            const QMetaObject* xret = ((const x_QsciLexerTeX*)this)->QsciLexerTeX::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QsciLexerTeX*)this)->metaObject();
            x[0].s_class = (void*)xret;
        }
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTeX*>(this))) {
            void* xret = this->QsciLexerTeX::qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            void* xret = this->qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    static void x_3(Smoke::Stack x) {
        // static QString tr(const char*, const char*)
        QString xret = QsciLexerTeX::tr((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_4(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*)
        QString xret = QsciLexerTeX::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_5(Smoke::Stack x) {
        // static QString tr(const char*, const char*, int)
        QString xret = QsciLexerTeX::tr((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_6(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*, int)
        QString xret = QsciLexerTeX::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // virtual int qt_metacall(QMetaObject::Call, int, void**)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTeX*>(this))) {
            int xret = this->QsciLexerTeX::qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        } else {
            int xret = this->qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        }
    }
    static void x_8(Smoke::Stack x) {
        // QsciLexerTeX* QsciLexerTeX(QObject*)
        x_QsciLexerTeX* xret = new x_QsciLexerTeX((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QsciLexerTeX(QObject* x1) : QsciLexerTeX(x1) {}
    void x_9(Smoke::Stack x) {
        // const char* language() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTeX*>(this))) {
            const char* xret = ((const x_QsciLexerTeX*)this)->QsciLexerTeX::language();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerTeX*)this)->language();
            x[0].s_class = (void*)xret;
        }
    }
    void x_10(Smoke::Stack x) {
        // const char* lexer() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTeX*>(this))) {
            const char* xret = ((const x_QsciLexerTeX*)this)->QsciLexerTeX::lexer();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerTeX*)this)->lexer();
            x[0].s_class = (void*)xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // const char* wordCharacters() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTeX*>(this))) {
            const char* xret = ((const x_QsciLexerTeX*)this)->QsciLexerTeX::wordCharacters();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerTeX*)this)->wordCharacters();
            x[0].s_class = (void*)xret;
        }
    }
    void x_12(Smoke::Stack x) {
        // QColor defaultColor(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTeX*>(this))) {
            QColor xret = ((const x_QsciLexerTeX*)this)->QsciLexerTeX::defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerTeX*)this)->defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_13(Smoke::Stack x) {
        // const char* keywords(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTeX*>(this))) {
            const char* xret = ((const x_QsciLexerTeX*)this)->QsciLexerTeX::keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerTeX*)this)->keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        }
    }
    void x_14(Smoke::Stack x) {
        // QString description(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTeX*>(this))) {
            QString xret = ((const x_QsciLexerTeX*)this)->QsciLexerTeX::description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QsciLexerTeX*)this)->description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_15(Smoke::Stack x) {
        // void refreshProperties()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTeX*>(this))) {
            this->QsciLexerTeX::refreshProperties();
            (void)x; // noop (for compiler warning)
        } else {
            this->refreshProperties();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_16(Smoke::Stack x) {
        // void setFoldComments(bool)
        this->QsciLexerTeX::setFoldComments((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // bool foldComments() const
        bool xret = ((const x_QsciLexerTeX*)this)->QsciLexerTeX::foldComments();
        x[0].s_bool = xret;
    }
    void x_18(Smoke::Stack x) {
        // void setFoldCompact(bool)
        this->QsciLexerTeX::setFoldCompact((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_19(Smoke::Stack x) {
        // bool foldCompact() const
        bool xret = ((const x_QsciLexerTeX*)this)->QsciLexerTeX::foldCompact();
        x[0].s_bool = xret;
    }
    void x_20(Smoke::Stack x) {
        // void setProcessComments(bool)
        this->QsciLexerTeX::setProcessComments((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // bool processComments() const
        bool xret = ((const x_QsciLexerTeX*)this)->QsciLexerTeX::processComments();
        x[0].s_bool = xret;
    }
    void x_22(Smoke::Stack x) {
        // void setProcessIf(bool)
        this->QsciLexerTeX::setProcessIf((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // bool processIf() const
        bool xret = ((const x_QsciLexerTeX*)this)->QsciLexerTeX::processIf();
        x[0].s_bool = xret;
    }
    void x_24(Smoke::Stack x) {
        // bool readProperties(QSettings&, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTeX*>(this))) {
            bool xret = this->QsciLexerTeX::readProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->readProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_25(Smoke::Stack x) {
        // bool writeProperties(QSettings&, const QString&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTeX*>(this))) {
            bool xret = ((const x_QsciLexerTeX*)this)->QsciLexerTeX::writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerTeX*)this)->writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_26(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QsciLexerTeX::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_27(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QsciLexerTeX::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_28(Smoke::Stack x) {
        // QsciLexerTeX* QsciLexerTeX()
        x_QsciLexerTeX* xret = new x_QsciLexerTeX((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_29(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QsciLexerTeX::staticMetaObject;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTeX::Default;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTeX::Special;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTeX::Group;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTeX::Symbol;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTeX::Command;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTeX::Text;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1552, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QsciLexerTeX::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1553, (void*)this, x)) return (void*)x[0].s_class;
        return this->QsciLexerTeX::qt_metacast(x1);
    }
    virtual int qt_metacall(QMetaObject::Call x1, int x2, void** x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(1558, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerTeX::qt_metacall(x1, x2, x3);
    }
    virtual const char* language() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1560, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerTeX::language();
    }
    virtual const char* lexer() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1561, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerTeX::lexer();
    }
    virtual int lexerId() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(220, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::lexerId();
    }
    virtual const char* autoCompletionFillups() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(222, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::autoCompletionFillups();
    }
    virtual QStringList autoCompletionWordSeparators() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(223, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::autoCompletionWordSeparators();
    }
    virtual const char* blockEnd(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(225, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::blockEnd(x1);
    }
    virtual int blockLookback() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(226, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::blockLookback();
    }
    virtual const char* blockStart(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(227, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::blockStart(x1);
    }
    virtual const char* blockStartKeyword(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(228, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::blockStartKeyword(x1);
    }
    virtual int braceStyle() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(229, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::braceStyle();
    }
    virtual bool caseSensitive() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(230, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexer::caseSensitive();
    }
    virtual QColor color(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(231, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::color(x1);
    }
    virtual bool eolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(232, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexer::eolFill(x1);
    }
    virtual QFont font(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(233, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::font(x1);
    }
    virtual int indentationGuideView() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(234, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::indentationGuideView();
    }
    virtual const char* keywords(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1564, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerTeX::keywords(x1);
    }
    virtual int defaultStyle() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(236, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::defaultStyle();
    }
    virtual QString description(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1565, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerTeX::description(x1);
    }
    virtual QColor paper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(238, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::paper(x1);
    }
    virtual QColor defaultColor(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1563, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerTeX::defaultColor(x1);
    }
    virtual bool defaultEolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(241, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexer::defaultEolFill(x1);
    }
    virtual QFont defaultFont(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(243, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::defaultFont(x1);
    }
    virtual QColor defaultPaper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(245, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::defaultPaper(x1);
    }
    virtual void setEditor(QsciScintilla* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(251, (void*)this, x)) return;
        this->QsciLexer::setEditor(x1);
    }
    virtual void refreshProperties() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1566, (void*)this, x)) return;
        this->QsciLexerTeX::refreshProperties();
    }
    virtual int styleBitsNeeded() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(254, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::styleBitsNeeded();
    }
    virtual const char* wordCharacters() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1562, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerTeX::wordCharacters();
    }
    virtual void setAutoIndentStyle(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(257, (void*)this, x)) return;
        this->QsciLexer::setAutoIndentStyle(x1);
    }
    virtual void setColor(const QColor& x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(258, (void*)this, x)) return;
        this->QsciLexer::setColor(x1, x2);
    }
    virtual void setEolFill(bool x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_bool = x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(259, (void*)this, x)) return;
        this->QsciLexer::setEolFill(x1, x2);
    }
    virtual void setFont(const QFont& x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(260, (void*)this, x)) return;
        this->QsciLexer::setFont(x1, x2);
    }
    virtual void setPaper(const QColor& x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(261, (void*)this, x)) return;
        this->QsciLexer::setPaper(x1, x2);
    }
    virtual bool readProperties(QSettings& x1, const QString& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1575, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerTeX::readProperties(x1, x2);
    }
    virtual bool writeProperties(QSettings& x1, const QString& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1576, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerTeX::writeProperties(x1, x2);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(7, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(8, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(9, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(11, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(12, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_QsciLexerTeX() { this->_binding->deleted(80, (void*)this); }
};
void xcall_QsciLexerTeX(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QsciLexerTeX *xself = (x_QsciLexerTeX*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_QsciLexerTeX::x_3(args);	break;
        case 4: x_QsciLexerTeX::x_4(args);	break;
        case 5: x_QsciLexerTeX::x_5(args);	break;
        case 6: x_QsciLexerTeX::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QsciLexerTeX::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: x_QsciLexerTeX::x_26(args);	break;
        case 27: x_QsciLexerTeX::x_27(args);	break;
        case 28: x_QsciLexerTeX::x_28(args);	break;
        case 29: x_QsciLexerTeX::x_29(args);	break;
        case 30: x_QsciLexerTeX::x_30(args);	break;
        case 31: x_QsciLexerTeX::x_31(args);	break;
        case 32: x_QsciLexerTeX::x_32(args);	break;
        case 33: x_QsciLexerTeX::x_33(args);	break;
        case 34: x_QsciLexerTeX::x_34(args);	break;
        case 35: x_QsciLexerTeX::x_35(args);	break;
        case 36: delete (QsciLexerTeX*)xself;	break;
    }
}
class x_QsciLexerVHDL : public QsciLexerVHDL, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            const QMetaObject* xret = ((const x_QsciLexerVHDL*)this)->QsciLexerVHDL::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QsciLexerVHDL*)this)->metaObject();
            x[0].s_class = (void*)xret;
        }
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            void* xret = this->QsciLexerVHDL::qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            void* xret = this->qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    static void x_3(Smoke::Stack x) {
        // static QString tr(const char*, const char*)
        QString xret = QsciLexerVHDL::tr((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_4(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*)
        QString xret = QsciLexerVHDL::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_5(Smoke::Stack x) {
        // static QString tr(const char*, const char*, int)
        QString xret = QsciLexerVHDL::tr((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_6(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*, int)
        QString xret = QsciLexerVHDL::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // virtual int qt_metacall(QMetaObject::Call, int, void**)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            int xret = this->QsciLexerVHDL::qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        } else {
            int xret = this->qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        }
    }
    static void x_8(Smoke::Stack x) {
        // QsciLexerVHDL* QsciLexerVHDL(QObject*)
        x_QsciLexerVHDL* xret = new x_QsciLexerVHDL((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QsciLexerVHDL(QObject* x1) : QsciLexerVHDL(x1) {}
    void x_9(Smoke::Stack x) {
        // const char* language() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            const char* xret = ((const x_QsciLexerVHDL*)this)->QsciLexerVHDL::language();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerVHDL*)this)->language();
            x[0].s_class = (void*)xret;
        }
    }
    void x_10(Smoke::Stack x) {
        // const char* lexer() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            const char* xret = ((const x_QsciLexerVHDL*)this)->QsciLexerVHDL::lexer();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerVHDL*)this)->lexer();
            x[0].s_class = (void*)xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // int braceStyle() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            int xret = ((const x_QsciLexerVHDL*)this)->QsciLexerVHDL::braceStyle();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QsciLexerVHDL*)this)->braceStyle();
            x[0].s_int = xret;
        }
    }
    void x_12(Smoke::Stack x) {
        // QColor defaultColor(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            QColor xret = ((const x_QsciLexerVHDL*)this)->QsciLexerVHDL::defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerVHDL*)this)->defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_13(Smoke::Stack x) {
        // bool defaultEolFill(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            bool xret = ((const x_QsciLexerVHDL*)this)->QsciLexerVHDL::defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerVHDL*)this)->defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        }
    }
    void x_14(Smoke::Stack x) {
        // QFont defaultFont(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            QFont xret = ((const x_QsciLexerVHDL*)this)->QsciLexerVHDL::defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        } else {
            QFont xret = ((const x_QsciLexerVHDL*)this)->defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        }
    }
    void x_15(Smoke::Stack x) {
        // QColor defaultPaper(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            QColor xret = ((const x_QsciLexerVHDL*)this)->QsciLexerVHDL::defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerVHDL*)this)->defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_16(Smoke::Stack x) {
        // const char* keywords(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            const char* xret = ((const x_QsciLexerVHDL*)this)->QsciLexerVHDL::keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerVHDL*)this)->keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        }
    }
    void x_17(Smoke::Stack x) {
        // QString description(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            QString xret = ((const x_QsciLexerVHDL*)this)->QsciLexerVHDL::description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QsciLexerVHDL*)this)->description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_18(Smoke::Stack x) {
        // void refreshProperties()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            this->QsciLexerVHDL::refreshProperties();
            (void)x; // noop (for compiler warning)
        } else {
            this->refreshProperties();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_19(Smoke::Stack x) {
        // bool foldComments() const
        bool xret = ((const x_QsciLexerVHDL*)this)->QsciLexerVHDL::foldComments();
        x[0].s_bool = xret;
    }
    void x_20(Smoke::Stack x) {
        // bool foldCompact() const
        bool xret = ((const x_QsciLexerVHDL*)this)->QsciLexerVHDL::foldCompact();
        x[0].s_bool = xret;
    }
    void x_21(Smoke::Stack x) {
        // bool foldAtElse() const
        bool xret = ((const x_QsciLexerVHDL*)this)->QsciLexerVHDL::foldAtElse();
        x[0].s_bool = xret;
    }
    void x_22(Smoke::Stack x) {
        // bool foldAtBegin() const
        bool xret = ((const x_QsciLexerVHDL*)this)->QsciLexerVHDL::foldAtBegin();
        x[0].s_bool = xret;
    }
    void x_23(Smoke::Stack x) {
        // bool foldAtParenthesis() const
        bool xret = ((const x_QsciLexerVHDL*)this)->QsciLexerVHDL::foldAtParenthesis();
        x[0].s_bool = xret;
    }
    void x_24(Smoke::Stack x) {
        // virtual void setFoldComments(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            this->QsciLexerVHDL::setFoldComments((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setFoldComments((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_25(Smoke::Stack x) {
        // virtual void setFoldCompact(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            this->QsciLexerVHDL::setFoldCompact((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setFoldCompact((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_26(Smoke::Stack x) {
        // virtual void setFoldAtElse(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            this->QsciLexerVHDL::setFoldAtElse((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setFoldAtElse((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_27(Smoke::Stack x) {
        // virtual void setFoldAtBegin(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            this->QsciLexerVHDL::setFoldAtBegin((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setFoldAtBegin((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_28(Smoke::Stack x) {
        // virtual void setFoldAtParenthesis(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            this->QsciLexerVHDL::setFoldAtParenthesis((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setFoldAtParenthesis((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_29(Smoke::Stack x) {
        // bool readProperties(QSettings&, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            bool xret = this->QsciLexerVHDL::readProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->readProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_30(Smoke::Stack x) {
        // bool writeProperties(QSettings&, const QString&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerVHDL*>(this))) {
            bool xret = ((const x_QsciLexerVHDL*)this)->QsciLexerVHDL::writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerVHDL*)this)->writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_31(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QsciLexerVHDL::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_32(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QsciLexerVHDL::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_33(Smoke::Stack x) {
        // QsciLexerVHDL* QsciLexerVHDL()
        x_QsciLexerVHDL* xret = new x_QsciLexerVHDL((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_34(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QsciLexerVHDL::staticMetaObject;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerVHDL::Default;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerVHDL::Comment;
    }
    static void x_37(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerVHDL::CommentLine;
    }
    static void x_38(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerVHDL::Number;
    }
    static void x_39(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerVHDL::String;
    }
    static void x_40(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerVHDL::Operator;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerVHDL::Identifier;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerVHDL::UnclosedString;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerVHDL::Keyword;
    }
    static void x_44(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerVHDL::StandardOperator;
    }
    static void x_45(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerVHDL::Attribute;
    }
    static void x_46(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerVHDL::StandardFunction;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerVHDL::StandardPackage;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerVHDL::StandardType;
    }
    static void x_49(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerVHDL::KeywordSet7;
    }
    static void x_50(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerVHDL::CommentBlock;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1588, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QsciLexerVHDL::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1589, (void*)this, x)) return (void*)x[0].s_class;
        return this->QsciLexerVHDL::qt_metacast(x1);
    }
    virtual int qt_metacall(QMetaObject::Call x1, int x2, void** x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(1594, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerVHDL::qt_metacall(x1, x2, x3);
    }
    virtual void setFoldComments(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1611, (void*)this, x)) return;
        this->QsciLexerVHDL::setFoldComments(x1);
    }
    virtual void setFoldCompact(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1612, (void*)this, x)) return;
        this->QsciLexerVHDL::setFoldCompact(x1);
    }
    virtual void setFoldAtElse(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1613, (void*)this, x)) return;
        this->QsciLexerVHDL::setFoldAtElse(x1);
    }
    virtual void setFoldAtBegin(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1614, (void*)this, x)) return;
        this->QsciLexerVHDL::setFoldAtBegin(x1);
    }
    virtual void setFoldAtParenthesis(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1615, (void*)this, x)) return;
        this->QsciLexerVHDL::setFoldAtParenthesis(x1);
    }
    virtual const char* language() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1596, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerVHDL::language();
    }
    virtual const char* lexer() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1597, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerVHDL::lexer();
    }
    virtual int lexerId() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(220, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::lexerId();
    }
    virtual const char* autoCompletionFillups() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(222, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::autoCompletionFillups();
    }
    virtual QStringList autoCompletionWordSeparators() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(223, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::autoCompletionWordSeparators();
    }
    virtual const char* blockEnd(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(225, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::blockEnd(x1);
    }
    virtual int blockLookback() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(226, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::blockLookback();
    }
    virtual const char* blockStart(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(227, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::blockStart(x1);
    }
    virtual const char* blockStartKeyword(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(228, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::blockStartKeyword(x1);
    }
    virtual int braceStyle() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1598, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerVHDL::braceStyle();
    }
    virtual bool caseSensitive() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(230, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexer::caseSensitive();
    }
    virtual QColor color(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(231, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::color(x1);
    }
    virtual bool eolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(232, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexer::eolFill(x1);
    }
    virtual QFont font(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(233, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::font(x1);
    }
    virtual int indentationGuideView() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(234, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::indentationGuideView();
    }
    virtual const char* keywords(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1603, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerVHDL::keywords(x1);
    }
    virtual int defaultStyle() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(236, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::defaultStyle();
    }
    virtual QString description(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1604, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerVHDL::description(x1);
    }
    virtual QColor paper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(238, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::paper(x1);
    }
    virtual QColor defaultColor(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1599, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerVHDL::defaultColor(x1);
    }
    virtual bool defaultEolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1600, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerVHDL::defaultEolFill(x1);
    }
    virtual QFont defaultFont(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1601, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerVHDL::defaultFont(x1);
    }
    virtual QColor defaultPaper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1602, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerVHDL::defaultPaper(x1);
    }
    virtual void setEditor(QsciScintilla* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(251, (void*)this, x)) return;
        this->QsciLexer::setEditor(x1);
    }
    virtual void refreshProperties() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1605, (void*)this, x)) return;
        this->QsciLexerVHDL::refreshProperties();
    }
    virtual int styleBitsNeeded() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(254, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::styleBitsNeeded();
    }
    virtual const char* wordCharacters() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(255, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::wordCharacters();
    }
    virtual void setAutoIndentStyle(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(257, (void*)this, x)) return;
        this->QsciLexer::setAutoIndentStyle(x1);
    }
    virtual void setColor(const QColor& x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(258, (void*)this, x)) return;
        this->QsciLexer::setColor(x1, x2);
    }
    virtual void setEolFill(bool x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_bool = x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(259, (void*)this, x)) return;
        this->QsciLexer::setEolFill(x1, x2);
    }
    virtual void setFont(const QFont& x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(260, (void*)this, x)) return;
        this->QsciLexer::setFont(x1, x2);
    }
    virtual void setPaper(const QColor& x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(261, (void*)this, x)) return;
        this->QsciLexer::setPaper(x1, x2);
    }
    virtual bool readProperties(QSettings& x1, const QString& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1616, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerVHDL::readProperties(x1, x2);
    }
    virtual bool writeProperties(QSettings& x1, const QString& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1617, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerVHDL::writeProperties(x1, x2);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(7, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(8, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(9, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(11, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(12, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_QsciLexerVHDL() { this->_binding->deleted(81, (void*)this); }
};
void xcall_QsciLexerVHDL(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QsciLexerVHDL *xself = (x_QsciLexerVHDL*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_QsciLexerVHDL::x_3(args);	break;
        case 4: x_QsciLexerVHDL::x_4(args);	break;
        case 5: x_QsciLexerVHDL::x_5(args);	break;
        case 6: x_QsciLexerVHDL::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QsciLexerVHDL::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: x_QsciLexerVHDL::x_31(args);	break;
        case 32: x_QsciLexerVHDL::x_32(args);	break;
        case 33: x_QsciLexerVHDL::x_33(args);	break;
        case 34: x_QsciLexerVHDL::x_34(args);	break;
        case 35: x_QsciLexerVHDL::x_35(args);	break;
        case 36: x_QsciLexerVHDL::x_36(args);	break;
        case 37: x_QsciLexerVHDL::x_37(args);	break;
        case 38: x_QsciLexerVHDL::x_38(args);	break;
        case 39: x_QsciLexerVHDL::x_39(args);	break;
        case 40: x_QsciLexerVHDL::x_40(args);	break;
        case 41: x_QsciLexerVHDL::x_41(args);	break;
        case 42: x_QsciLexerVHDL::x_42(args);	break;
        case 43: x_QsciLexerVHDL::x_43(args);	break;
        case 44: x_QsciLexerVHDL::x_44(args);	break;
        case 45: x_QsciLexerVHDL::x_45(args);	break;
        case 46: x_QsciLexerVHDL::x_46(args);	break;
        case 47: x_QsciLexerVHDL::x_47(args);	break;
        case 48: x_QsciLexerVHDL::x_48(args);	break;
        case 49: x_QsciLexerVHDL::x_49(args);	break;
        case 50: x_QsciLexerVHDL::x_50(args);	break;
        case 51: delete (QsciLexerVHDL*)xself;	break;
    }
}
class x_QsciLexerXML : public QsciLexerXML, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerXML*>(this))) {
            const QMetaObject* xret = ((const x_QsciLexerXML*)this)->QsciLexerXML::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QsciLexerXML*)this)->metaObject();
            x[0].s_class = (void*)xret;
        }
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerXML*>(this))) {
            void* xret = this->QsciLexerXML::qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            void* xret = this->qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    static void x_3(Smoke::Stack x) {
        // static QString tr(const char*, const char*)
        QString xret = QsciLexerXML::tr((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_4(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*)
        QString xret = QsciLexerXML::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_5(Smoke::Stack x) {
        // static QString tr(const char*, const char*, int)
        QString xret = QsciLexerXML::tr((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_6(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*, int)
        QString xret = QsciLexerXML::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // virtual int qt_metacall(QMetaObject::Call, int, void**)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerXML*>(this))) {
            int xret = this->QsciLexerXML::qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        } else {
            int xret = this->qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        }
    }
    static void x_8(Smoke::Stack x) {
        // QsciLexerXML* QsciLexerXML(QObject*)
        x_QsciLexerXML* xret = new x_QsciLexerXML((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QsciLexerXML(QObject* x1) : QsciLexerXML(x1) {}
    void x_9(Smoke::Stack x) {
        // const char* language() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerXML*>(this))) {
            const char* xret = ((const x_QsciLexerXML*)this)->QsciLexerXML::language();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerXML*)this)->language();
            x[0].s_class = (void*)xret;
        }
    }
    void x_10(Smoke::Stack x) {
        // const char* lexer() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerXML*>(this))) {
            const char* xret = ((const x_QsciLexerXML*)this)->QsciLexerXML::lexer();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerXML*)this)->lexer();
            x[0].s_class = (void*)xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // QColor defaultColor(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerXML*>(this))) {
            QColor xret = ((const x_QsciLexerXML*)this)->QsciLexerXML::defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerXML*)this)->defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_12(Smoke::Stack x) {
        // bool defaultEolFill(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerXML*>(this))) {
            bool xret = ((const x_QsciLexerXML*)this)->QsciLexerXML::defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerXML*)this)->defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        }
    }
    void x_13(Smoke::Stack x) {
        // QFont defaultFont(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerXML*>(this))) {
            QFont xret = ((const x_QsciLexerXML*)this)->QsciLexerXML::defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        } else {
            QFont xret = ((const x_QsciLexerXML*)this)->defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        }
    }
    void x_14(Smoke::Stack x) {
        // QColor defaultPaper(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerXML*>(this))) {
            QColor xret = ((const x_QsciLexerXML*)this)->QsciLexerXML::defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerXML*)this)->defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_15(Smoke::Stack x) {
        // const char* keywords(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerXML*>(this))) {
            const char* xret = ((const x_QsciLexerXML*)this)->QsciLexerXML::keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerXML*)this)->keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        }
    }
    void x_16(Smoke::Stack x) {
        // void refreshProperties()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerXML*>(this))) {
            this->QsciLexerXML::refreshProperties();
            (void)x; // noop (for compiler warning)
        } else {
            this->refreshProperties();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_17(Smoke::Stack x) {
        // void setScriptsStyled(bool)
        this->QsciLexerXML::setScriptsStyled((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_18(Smoke::Stack x) {
        // bool scriptsStyled() const
        bool xret = ((const x_QsciLexerXML*)this)->QsciLexerXML::scriptsStyled();
        x[0].s_bool = xret;
    }
    void x_19(Smoke::Stack x) {
        // bool readProperties(QSettings&, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerXML*>(this))) {
            bool xret = this->QsciLexerXML::readProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->readProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_20(Smoke::Stack x) {
        // bool writeProperties(QSettings&, const QString&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerXML*>(this))) {
            bool xret = ((const x_QsciLexerXML*)this)->QsciLexerXML::writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerXML*)this)->writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_21(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QsciLexerXML::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_22(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QsciLexerXML::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_23(Smoke::Stack x) {
        // QsciLexerXML* QsciLexerXML()
        x_QsciLexerXML* xret = new x_QsciLexerXML((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_24(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QsciLexerXML::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1639, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QsciLexerXML::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1640, (void*)this, x)) return (void*)x[0].s_class;
        return this->QsciLexerXML::qt_metacast(x1);
    }
    virtual int qt_metacall(QMetaObject::Call x1, int x2, void** x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(1645, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerXML::qt_metacall(x1, x2, x3);
    }
    virtual void setFoldCompact(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(787, (void*)this, x)) return;
        this->QsciLexerHTML::setFoldCompact(x1);
    }
    virtual void setFoldPreprocessor(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(788, (void*)this, x)) return;
        this->QsciLexerHTML::setFoldPreprocessor(x1);
    }
    virtual void setCaseSensitiveTags(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(789, (void*)this, x)) return;
        this->QsciLexerHTML::setCaseSensitiveTags(x1);
    }
    virtual const char* language() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1647, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerXML::language();
    }
    virtual const char* lexer() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1648, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerXML::lexer();
    }
    virtual int lexerId() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(220, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::lexerId();
    }
    virtual const char* autoCompletionFillups() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(767, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerHTML::autoCompletionFillups();
    }
    virtual QStringList autoCompletionWordSeparators() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(223, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::autoCompletionWordSeparators();
    }
    virtual const char* blockEnd(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(225, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::blockEnd(x1);
    }
    virtual int blockLookback() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(226, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::blockLookback();
    }
    virtual const char* blockStart(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(227, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::blockStart(x1);
    }
    virtual const char* blockStartKeyword(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(228, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::blockStartKeyword(x1);
    }
    virtual int braceStyle() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(229, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::braceStyle();
    }
    virtual bool caseSensitive() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(230, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexer::caseSensitive();
    }
    virtual QColor color(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(231, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::color(x1);
    }
    virtual bool eolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(232, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexer::eolFill(x1);
    }
    virtual QFont font(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(233, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::font(x1);
    }
    virtual int indentationGuideView() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(234, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::indentationGuideView();
    }
    virtual const char* keywords(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1653, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerXML::keywords(x1);
    }
    virtual int defaultStyle() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(236, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::defaultStyle();
    }
    virtual QString description(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(774, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerHTML::description(x1);
    }
    virtual QColor paper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(238, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::paper(x1);
    }
    virtual QColor defaultColor(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1649, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerXML::defaultColor(x1);
    }
    virtual bool defaultEolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1650, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerXML::defaultEolFill(x1);
    }
    virtual QFont defaultFont(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1651, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerXML::defaultFont(x1);
    }
    virtual QColor defaultPaper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1652, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerXML::defaultPaper(x1);
    }
    virtual void setEditor(QsciScintilla* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(251, (void*)this, x)) return;
        this->QsciLexer::setEditor(x1);
    }
    virtual void refreshProperties() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1654, (void*)this, x)) return;
        this->QsciLexerXML::refreshProperties();
    }
    virtual int styleBitsNeeded() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(254, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::styleBitsNeeded();
    }
    virtual const char* wordCharacters() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(768, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerHTML::wordCharacters();
    }
    virtual void setAutoIndentStyle(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(257, (void*)this, x)) return;
        this->QsciLexer::setAutoIndentStyle(x1);
    }
    virtual void setColor(const QColor& x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(258, (void*)this, x)) return;
        this->QsciLexer::setColor(x1, x2);
    }
    virtual void setEolFill(bool x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_bool = x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(259, (void*)this, x)) return;
        this->QsciLexer::setEolFill(x1, x2);
    }
    virtual void setFont(const QFont& x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(260, (void*)this, x)) return;
        this->QsciLexer::setFont(x1, x2);
    }
    virtual void setPaper(const QColor& x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(261, (void*)this, x)) return;
        this->QsciLexer::setPaper(x1, x2);
    }
    virtual bool readProperties(QSettings& x1, const QString& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1657, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerXML::readProperties(x1, x2);
    }
    virtual bool writeProperties(QSettings& x1, const QString& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1658, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerXML::writeProperties(x1, x2);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(7, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(8, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(9, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(11, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(12, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_QsciLexerXML() { this->_binding->deleted(82, (void*)this); }
};
void xcall_QsciLexerXML(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QsciLexerXML *xself = (x_QsciLexerXML*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_QsciLexerXML::x_3(args);	break;
        case 4: x_QsciLexerXML::x_4(args);	break;
        case 5: x_QsciLexerXML::x_5(args);	break;
        case 6: x_QsciLexerXML::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QsciLexerXML::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: x_QsciLexerXML::x_21(args);	break;
        case 22: x_QsciLexerXML::x_22(args);	break;
        case 23: x_QsciLexerXML::x_23(args);	break;
        case 24: x_QsciLexerXML::x_24(args);	break;
        case 25: delete (QsciLexerXML*)xself;	break;
    }
}
class x_QsciLexerYAML : public QsciLexerYAML, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    void x_1(Smoke::Stack x) {
        // virtual const QMetaObject* metaObject() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerYAML*>(this))) {
            const QMetaObject* xret = ((const x_QsciLexerYAML*)this)->QsciLexerYAML::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QsciLexerYAML*)this)->metaObject();
            x[0].s_class = (void*)xret;
        }
    }
    void x_2(Smoke::Stack x) {
        // virtual void* qt_metacast(const char*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerYAML*>(this))) {
            void* xret = this->QsciLexerYAML::qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            void* xret = this->qt_metacast((const char*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    static void x_3(Smoke::Stack x) {
        // static QString tr(const char*, const char*)
        QString xret = QsciLexerYAML::tr((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_4(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*)
        QString xret = QsciLexerYAML::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_5(Smoke::Stack x) {
        // static QString tr(const char*, const char*, int)
        QString xret = QsciLexerYAML::tr((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_6(Smoke::Stack x) {
        // static QString trUtf8(const char*, const char*, int)
        QString xret = QsciLexerYAML::trUtf8((const char*)x[1].s_class,(const char*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // virtual int qt_metacall(QMetaObject::Call, int, void**)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerYAML*>(this))) {
            int xret = this->QsciLexerYAML::qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        } else {
            int xret = this->qt_metacall((QMetaObject::Call)x[1].s_enum,(int)x[2].s_int,(void**)x[3].s_class);
            x[0].s_int = xret;
        }
    }
    static void x_8(Smoke::Stack x) {
        // QsciLexerYAML* QsciLexerYAML(QObject*)
        x_QsciLexerYAML* xret = new x_QsciLexerYAML((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QsciLexerYAML(QObject* x1) : QsciLexerYAML(x1) {}
    void x_9(Smoke::Stack x) {
        // const char* language() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerYAML*>(this))) {
            const char* xret = ((const x_QsciLexerYAML*)this)->QsciLexerYAML::language();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerYAML*)this)->language();
            x[0].s_class = (void*)xret;
        }
    }
    void x_10(Smoke::Stack x) {
        // const char* lexer() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerYAML*>(this))) {
            const char* xret = ((const x_QsciLexerYAML*)this)->QsciLexerYAML::lexer();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerYAML*)this)->lexer();
            x[0].s_class = (void*)xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // QColor defaultColor(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerYAML*>(this))) {
            QColor xret = ((const x_QsciLexerYAML*)this)->QsciLexerYAML::defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerYAML*)this)->defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_12(Smoke::Stack x) {
        // bool defaultEolFill(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerYAML*>(this))) {
            bool xret = ((const x_QsciLexerYAML*)this)->QsciLexerYAML::defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerYAML*)this)->defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        }
    }
    void x_13(Smoke::Stack x) {
        // QFont defaultFont(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerYAML*>(this))) {
            QFont xret = ((const x_QsciLexerYAML*)this)->QsciLexerYAML::defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        } else {
            QFont xret = ((const x_QsciLexerYAML*)this)->defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        }
    }
    void x_14(Smoke::Stack x) {
        // QColor defaultPaper(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerYAML*>(this))) {
            QColor xret = ((const x_QsciLexerYAML*)this)->QsciLexerYAML::defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerYAML*)this)->defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_15(Smoke::Stack x) {
        // const char* keywords(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerYAML*>(this))) {
            const char* xret = ((const x_QsciLexerYAML*)this)->QsciLexerYAML::keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerYAML*)this)->keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        }
    }
    void x_16(Smoke::Stack x) {
        // QString description(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerYAML*>(this))) {
            QString xret = ((const x_QsciLexerYAML*)this)->QsciLexerYAML::description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QsciLexerYAML*)this)->description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_17(Smoke::Stack x) {
        // void refreshProperties()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerYAML*>(this))) {
            this->QsciLexerYAML::refreshProperties();
            (void)x; // noop (for compiler warning)
        } else {
            this->refreshProperties();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_18(Smoke::Stack x) {
        // bool foldComments() const
        bool xret = ((const x_QsciLexerYAML*)this)->QsciLexerYAML::foldComments();
        x[0].s_bool = xret;
    }
    void x_19(Smoke::Stack x) {
        // virtual void setFoldComments(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerYAML*>(this))) {
            this->QsciLexerYAML::setFoldComments((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setFoldComments((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_20(Smoke::Stack x) {
        // bool readProperties(QSettings&, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerYAML*>(this))) {
            bool xret = this->QsciLexerYAML::readProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = this->readProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    void x_21(Smoke::Stack x) {
        // bool writeProperties(QSettings&, const QString&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerYAML*>(this))) {
            bool xret = ((const x_QsciLexerYAML*)this)->QsciLexerYAML::writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerYAML*)this)->writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_22(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QsciLexerYAML::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_23(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QsciLexerYAML::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_24(Smoke::Stack x) {
        // QsciLexerYAML* QsciLexerYAML()
        x_QsciLexerYAML* xret = new x_QsciLexerYAML((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_25(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QsciLexerYAML::staticMetaObject;
    }
    static void x_26(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerYAML::Default;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerYAML::Comment;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerYAML::Identifier;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerYAML::Keyword;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerYAML::Number;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerYAML::Reference;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerYAML::DocumentDelimiter;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerYAML::TextBlockMarker;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerYAML::SyntaxErrorMarker;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerYAML::Operator;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1664, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QsciLexerYAML::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1665, (void*)this, x)) return (void*)x[0].s_class;
        return this->QsciLexerYAML::qt_metacast(x1);
    }
    virtual int qt_metacall(QMetaObject::Call x1, int x2, void** x3) {
        Smoke::StackItem x[4];
        x[1].s_enum = x1;
        x[2].s_int = x2;
        x[3].s_class = (void*)x3;
        if (this->_binding->callMethod(1670, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerYAML::qt_metacall(x1, x2, x3);
    }
    virtual void setFoldComments(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1682, (void*)this, x)) return;
        this->QsciLexerYAML::setFoldComments(x1);
    }
    virtual const char* language() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1672, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerYAML::language();
    }
    virtual const char* lexer() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1673, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerYAML::lexer();
    }
    virtual int lexerId() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(220, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::lexerId();
    }
    virtual const char* autoCompletionFillups() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(222, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::autoCompletionFillups();
    }
    virtual QStringList autoCompletionWordSeparators() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(223, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::autoCompletionWordSeparators();
    }
    virtual const char* blockEnd(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(225, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::blockEnd(x1);
    }
    virtual int blockLookback() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(226, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::blockLookback();
    }
    virtual const char* blockStart(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(227, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::blockStart(x1);
    }
    virtual const char* blockStartKeyword(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(228, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::blockStartKeyword(x1);
    }
    virtual int braceStyle() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(229, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::braceStyle();
    }
    virtual bool caseSensitive() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(230, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexer::caseSensitive();
    }
    virtual QColor color(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(231, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::color(x1);
    }
    virtual bool eolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(232, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexer::eolFill(x1);
    }
    virtual QFont font(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(233, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::font(x1);
    }
    virtual int indentationGuideView() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(234, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::indentationGuideView();
    }
    virtual const char* keywords(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1678, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerYAML::keywords(x1);
    }
    virtual int defaultStyle() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(236, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::defaultStyle();
    }
    virtual QString description(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1679, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerYAML::description(x1);
    }
    virtual QColor paper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(238, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::paper(x1);
    }
    virtual QColor defaultColor(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1674, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerYAML::defaultColor(x1);
    }
    virtual bool defaultEolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1675, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerYAML::defaultEolFill(x1);
    }
    virtual QFont defaultFont(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1676, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerYAML::defaultFont(x1);
    }
    virtual QColor defaultPaper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1677, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerYAML::defaultPaper(x1);
    }
    virtual void setEditor(QsciScintilla* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(251, (void*)this, x)) return;
        this->QsciLexer::setEditor(x1);
    }
    virtual void refreshProperties() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1680, (void*)this, x)) return;
        this->QsciLexerYAML::refreshProperties();
    }
    virtual int styleBitsNeeded() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(254, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::styleBitsNeeded();
    }
    virtual const char* wordCharacters() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(255, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::wordCharacters();
    }
    virtual void setAutoIndentStyle(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(257, (void*)this, x)) return;
        this->QsciLexer::setAutoIndentStyle(x1);
    }
    virtual void setColor(const QColor& x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(258, (void*)this, x)) return;
        this->QsciLexer::setColor(x1, x2);
    }
    virtual void setEolFill(bool x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_bool = x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(259, (void*)this, x)) return;
        this->QsciLexer::setEolFill(x1, x2);
    }
    virtual void setFont(const QFont& x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(260, (void*)this, x)) return;
        this->QsciLexer::setFont(x1, x2);
    }
    virtual void setPaper(const QColor& x1, int x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_int = x2;
        if (this->_binding->callMethod(261, (void*)this, x)) return;
        this->QsciLexer::setPaper(x1, x2);
    }
    virtual bool readProperties(QSettings& x1, const QString& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1683, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerYAML::readProperties(x1, x2);
    }
    virtual bool writeProperties(QSettings& x1, const QString& x2) const {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(1684, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerYAML::writeProperties(x1, x2);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(7, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::event(x1);
    }
    virtual bool eventFilter(QObject* x1, QEvent* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)x1;
        x[2].s_class = (void*)x2;
        if (this->_binding->callMethod(8, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QObject::eventFilter(x1, x2);
    }
    virtual void timerEvent(QTimerEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(9, (void*)this, x)) return;
        this->QObject::timerEvent(x1);
    }
    virtual void childEvent(QChildEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(10, (void*)this, x)) return;
        this->QObject::childEvent(x1);
    }
    virtual void customEvent(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(11, (void*)this, x)) return;
        this->QObject::customEvent(x1);
    }
    virtual void connectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(12, (void*)this, x)) return;
        this->QObject::connectNotify(x1);
    }
    virtual void disconnectNotify(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(13, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_QsciLexerYAML() { this->_binding->deleted(83, (void*)this); }
};
void xcall_QsciLexerYAML(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QsciLexerYAML *xself = (x_QsciLexerYAML*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: x_QsciLexerYAML::x_3(args);	break;
        case 4: x_QsciLexerYAML::x_4(args);	break;
        case 5: x_QsciLexerYAML::x_5(args);	break;
        case 6: x_QsciLexerYAML::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QsciLexerYAML::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: x_QsciLexerYAML::x_22(args);	break;
        case 23: x_QsciLexerYAML::x_23(args);	break;
        case 24: x_QsciLexerYAML::x_24(args);	break;
        case 25: x_QsciLexerYAML::x_25(args);	break;
        case 26: x_QsciLexerYAML::x_26(args);	break;
        case 27: x_QsciLexerYAML::x_27(args);	break;
        case 28: x_QsciLexerYAML::x_28(args);	break;
        case 29: x_QsciLexerYAML::x_29(args);	break;
        case 30: x_QsciLexerYAML::x_30(args);	break;
        case 31: x_QsciLexerYAML::x_31(args);	break;
        case 32: x_QsciLexerYAML::x_32(args);	break;
        case 33: x_QsciLexerYAML::x_33(args);	break;
        case 34: x_QsciLexerYAML::x_34(args);	break;
        case 35: x_QsciLexerYAML::x_35(args);	break;
        case 36: delete (QsciLexerYAML*)xself;	break;
    }
}

}
