//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_QsciLexerJavaScript : public QsciLexerJavaScript, 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<QsciLexerJavaScript*>(this))) {
            const QMetaObject* xret = ((const x_QsciLexerJavaScript*)this)->QsciLexerJavaScript::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QsciLexerJavaScript*)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<QsciLexerJavaScript*>(this))) {
            void* xret = this->QsciLexerJavaScript::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 = QsciLexerJavaScript::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 = QsciLexerJavaScript::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 = QsciLexerJavaScript::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 = QsciLexerJavaScript::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<QsciLexerJavaScript*>(this))) {
            int xret = this->QsciLexerJavaScript::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) {
        // QsciLexerJavaScript* QsciLexerJavaScript(QObject*)
        x_QsciLexerJavaScript* xret = new x_QsciLexerJavaScript((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QsciLexerJavaScript(QObject* x1) : QsciLexerJavaScript(x1) {}
    void x_9(Smoke::Stack x) {
        // const char* language() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerJavaScript*>(this))) {
            const char* xret = ((const x_QsciLexerJavaScript*)this)->QsciLexerJavaScript::language();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerJavaScript*)this)->language();
            x[0].s_class = (void*)xret;
        }
    }
    void x_10(Smoke::Stack x) {
        // QColor defaultColor(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerJavaScript*>(this))) {
            QColor xret = ((const x_QsciLexerJavaScript*)this)->QsciLexerJavaScript::defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerJavaScript*)this)->defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_11(Smoke::Stack x) {
        // bool defaultEolFill(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerJavaScript*>(this))) {
            bool xret = ((const x_QsciLexerJavaScript*)this)->QsciLexerJavaScript::defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerJavaScript*)this)->defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        }
    }
    void x_12(Smoke::Stack x) {
        // QFont defaultFont(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerJavaScript*>(this))) {
            QFont xret = ((const x_QsciLexerJavaScript*)this)->QsciLexerJavaScript::defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        } else {
            QFont xret = ((const x_QsciLexerJavaScript*)this)->defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        }
    }
    void x_13(Smoke::Stack x) {
        // QColor defaultPaper(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerJavaScript*>(this))) {
            QColor xret = ((const x_QsciLexerJavaScript*)this)->QsciLexerJavaScript::defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerJavaScript*)this)->defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_14(Smoke::Stack x) {
        // const char* keywords(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerJavaScript*>(this))) {
            const char* xret = ((const x_QsciLexerJavaScript*)this)->QsciLexerJavaScript::keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerJavaScript*)this)->keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        }
    }
    void x_15(Smoke::Stack x) {
        // QString description(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerJavaScript*>(this))) {
            QString xret = ((const x_QsciLexerJavaScript*)this)->QsciLexerJavaScript::description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QsciLexerJavaScript*)this)->description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    static void x_16(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QsciLexerJavaScript::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_17(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QsciLexerJavaScript::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_18(Smoke::Stack x) {
        // QsciLexerJavaScript* QsciLexerJavaScript()
        x_QsciLexerJavaScript* xret = new x_QsciLexerJavaScript((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_19(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QsciLexerJavaScript::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(939, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QsciLexerJavaScript::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(940, (void*)this, x)) return (void*)x[0].s_class;
        return this->QsciLexerJavaScript::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(945, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerJavaScript::qt_metacall(x1, x2, x3);
    }
    virtual void setFoldAtElse(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(438, (void*)this, x)) return;
        this->QsciLexerCPP::setFoldAtElse(x1);
    }
    virtual void setFoldComments(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(439, (void*)this, x)) return;
        this->QsciLexerCPP::setFoldComments(x1);
    }
    virtual void setFoldCompact(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(440, (void*)this, x)) return;
        this->QsciLexerCPP::setFoldCompact(x1);
    }
    virtual void setFoldPreprocessor(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(441, (void*)this, x)) return;
        this->QsciLexerCPP::setFoldPreprocessor(x1);
    }
    virtual void setStylePreprocessor(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(442, (void*)this, x)) return;
        this->QsciLexerCPP::setStylePreprocessor(x1);
    }
    virtual const char* language() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(947, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerJavaScript::language();
    }
    virtual const char* lexer() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(407, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerCPP::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(408, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerCPP::autoCompletionWordSeparators();
    }
    virtual const char* blockEnd(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(409, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerCPP::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(410, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerCPP::blockStart(x1);
    }
    virtual const char* blockStartKeyword(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(411, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerCPP::blockStartKeyword(x1);
    }
    virtual int braceStyle() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(412, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerCPP::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(952, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerJavaScript::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(953, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerJavaScript::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(948, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerJavaScript::defaultColor(x1);
    }
    virtual bool defaultEolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(949, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerJavaScript::defaultEolFill(x1);
    }
    virtual QFont defaultFont(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(950, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerJavaScript::defaultFont(x1);
    }
    virtual QColor defaultPaper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(951, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerJavaScript::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(420, (void*)this, x)) return;
        this->QsciLexerCPP::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(413, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerCPP::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(443, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerCPP::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(444, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerCPP::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_QsciLexerJavaScript() { this->_binding->deleted(68, (void*)this); }
};
void xcall_QsciLexerJavaScript(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QsciLexerJavaScript *xself = (x_QsciLexerJavaScript*)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_QsciLexerJavaScript::x_3(args);	break;
        case 4: x_QsciLexerJavaScript::x_4(args);	break;
        case 5: x_QsciLexerJavaScript::x_5(args);	break;
        case 6: x_QsciLexerJavaScript::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QsciLexerJavaScript::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: x_QsciLexerJavaScript::x_16(args);	break;
        case 17: x_QsciLexerJavaScript::x_17(args);	break;
        case 18: x_QsciLexerJavaScript::x_18(args);	break;
        case 19: x_QsciLexerJavaScript::x_19(args);	break;
        case 20: delete (QsciLexerJavaScript*)xself;	break;
    }
}
class x_QsciLexerLua : public QsciLexerLua, 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<QsciLexerLua*>(this))) {
            const QMetaObject* xret = ((const x_QsciLexerLua*)this)->QsciLexerLua::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QsciLexerLua*)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<QsciLexerLua*>(this))) {
            void* xret = this->QsciLexerLua::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 = QsciLexerLua::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 = QsciLexerLua::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 = QsciLexerLua::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 = QsciLexerLua::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<QsciLexerLua*>(this))) {
            int xret = this->QsciLexerLua::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) {
        // QsciLexerLua* QsciLexerLua(QObject*)
        x_QsciLexerLua* xret = new x_QsciLexerLua((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QsciLexerLua(QObject* x1) : QsciLexerLua(x1) {}
    void x_9(Smoke::Stack x) {
        // const char* language() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerLua*>(this))) {
            const char* xret = ((const x_QsciLexerLua*)this)->QsciLexerLua::language();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerLua*)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<QsciLexerLua*>(this))) {
            const char* xret = ((const x_QsciLexerLua*)this)->QsciLexerLua::lexer();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerLua*)this)->lexer();
            x[0].s_class = (void*)xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // QStringList autoCompletionWordSeparators() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerLua*>(this))) {
            QStringList xret = ((const x_QsciLexerLua*)this)->QsciLexerLua::autoCompletionWordSeparators();
            x[0].s_class = (void*)new QStringList(xret);
        } else {
            QStringList xret = ((const x_QsciLexerLua*)this)->autoCompletionWordSeparators();
            x[0].s_class = (void*)new QStringList(xret);
        }
    }
    void x_12(Smoke::Stack x) {
        // const char* blockStart(int*) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerLua*>(this))) {
            const char* xret = ((const x_QsciLexerLua*)this)->QsciLexerLua::blockStart((int*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerLua*)this)->blockStart((int*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_13(Smoke::Stack x) {
        // int braceStyle() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerLua*>(this))) {
            int xret = ((const x_QsciLexerLua*)this)->QsciLexerLua::braceStyle();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QsciLexerLua*)this)->braceStyle();
            x[0].s_int = xret;
        }
    }
    void x_14(Smoke::Stack x) {
        // QColor defaultColor(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerLua*>(this))) {
            QColor xret = ((const x_QsciLexerLua*)this)->QsciLexerLua::defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerLua*)this)->defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_15(Smoke::Stack x) {
        // bool defaultEolFill(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerLua*>(this))) {
            bool xret = ((const x_QsciLexerLua*)this)->QsciLexerLua::defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerLua*)this)->defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        }
    }
    void x_16(Smoke::Stack x) {
        // QFont defaultFont(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerLua*>(this))) {
            QFont xret = ((const x_QsciLexerLua*)this)->QsciLexerLua::defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        } else {
            QFont xret = ((const x_QsciLexerLua*)this)->defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        }
    }
    void x_17(Smoke::Stack x) {
        // QColor defaultPaper(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerLua*>(this))) {
            QColor xret = ((const x_QsciLexerLua*)this)->QsciLexerLua::defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerLua*)this)->defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_18(Smoke::Stack x) {
        // const char* keywords(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerLua*>(this))) {
            const char* xret = ((const x_QsciLexerLua*)this)->QsciLexerLua::keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerLua*)this)->keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        }
    }
    void x_19(Smoke::Stack x) {
        // QString description(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerLua*>(this))) {
            QString xret = ((const x_QsciLexerLua*)this)->QsciLexerLua::description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QsciLexerLua*)this)->description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_20(Smoke::Stack x) {
        // void refreshProperties()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerLua*>(this))) {
            this->QsciLexerLua::refreshProperties();
            (void)x; // noop (for compiler warning)
        } else {
            this->refreshProperties();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_21(Smoke::Stack x) {
        // bool foldCompact() const
        bool xret = ((const x_QsciLexerLua*)this)->QsciLexerLua::foldCompact();
        x[0].s_bool = xret;
    }
    void x_22(Smoke::Stack x) {
        // virtual void setFoldCompact(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerLua*>(this))) {
            this->QsciLexerLua::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_23(Smoke::Stack x) {
        // bool readProperties(QSettings&, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerLua*>(this))) {
            bool xret = this->QsciLexerLua::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_24(Smoke::Stack x) {
        // bool writeProperties(QSettings&, const QString&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerLua*>(this))) {
            bool xret = ((const x_QsciLexerLua*)this)->QsciLexerLua::writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerLua*)this)->writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_25(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QsciLexerLua::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_26(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QsciLexerLua::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_27(Smoke::Stack x) {
        // QsciLexerLua* QsciLexerLua()
        x_QsciLexerLua* xret = new x_QsciLexerLua((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_28(Smoke::Stack x) {
        // const char* blockStart() const
        const char* xret = ((const x_QsciLexerLua*)this)->QsciLexerLua::blockStart((int*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_29(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QsciLexerLua::staticMetaObject;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::Default;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::Comment;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::LineComment;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::Number;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::Keyword;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::String;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::Character;
    }
    static void x_37(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::LiteralString;
    }
    static void x_38(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::Preprocessor;
    }
    static void x_39(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::Operator;
    }
    static void x_40(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::Identifier;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::UnclosedString;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::BasicFunctions;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::StringTableMathsFunctions;
    }
    static void x_44(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::CoroutinesIOSystemFacilities;
    }
    static void x_45(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::KeywordSet5;
    }
    static void x_46(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::KeywordSet6;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::KeywordSet7;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::KeywordSet8;
    }
    static void x_49(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerLua::Label;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(959, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QsciLexerLua::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(960, (void*)this, x)) return (void*)x[0].s_class;
        return this->QsciLexerLua::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(965, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerLua::qt_metacall(x1, x2, x3);
    }
    virtual void setFoldCompact(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(980, (void*)this, x)) return;
        this->QsciLexerLua::setFoldCompact(x1);
    }
    virtual const char* language() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(967, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerLua::language();
    }
    virtual const char* lexer() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(968, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerLua::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(969, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerLua::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(970, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerLua::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(971, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerLua::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(976, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerLua::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(977, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerLua::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(972, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerLua::defaultColor(x1);
    }
    virtual bool defaultEolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(973, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerLua::defaultEolFill(x1);
    }
    virtual QFont defaultFont(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(974, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerLua::defaultFont(x1);
    }
    virtual QColor defaultPaper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(975, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerLua::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(978, (void*)this, x)) return;
        this->QsciLexerLua::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(981, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerLua::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(982, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerLua::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_QsciLexerLua() { this->_binding->deleted(69, (void*)this); }
};
void xcall_QsciLexerLua(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QsciLexerLua *xself = (x_QsciLexerLua*)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_QsciLexerLua::x_3(args);	break;
        case 4: x_QsciLexerLua::x_4(args);	break;
        case 5: x_QsciLexerLua::x_5(args);	break;
        case 6: x_QsciLexerLua::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QsciLexerLua::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: x_QsciLexerLua::x_25(args);	break;
        case 26: x_QsciLexerLua::x_26(args);	break;
        case 27: x_QsciLexerLua::x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: x_QsciLexerLua::x_29(args);	break;
        case 30: x_QsciLexerLua::x_30(args);	break;
        case 31: x_QsciLexerLua::x_31(args);	break;
        case 32: x_QsciLexerLua::x_32(args);	break;
        case 33: x_QsciLexerLua::x_33(args);	break;
        case 34: x_QsciLexerLua::x_34(args);	break;
        case 35: x_QsciLexerLua::x_35(args);	break;
        case 36: x_QsciLexerLua::x_36(args);	break;
        case 37: x_QsciLexerLua::x_37(args);	break;
        case 38: x_QsciLexerLua::x_38(args);	break;
        case 39: x_QsciLexerLua::x_39(args);	break;
        case 40: x_QsciLexerLua::x_40(args);	break;
        case 41: x_QsciLexerLua::x_41(args);	break;
        case 42: x_QsciLexerLua::x_42(args);	break;
        case 43: x_QsciLexerLua::x_43(args);	break;
        case 44: x_QsciLexerLua::x_44(args);	break;
        case 45: x_QsciLexerLua::x_45(args);	break;
        case 46: x_QsciLexerLua::x_46(args);	break;
        case 47: x_QsciLexerLua::x_47(args);	break;
        case 48: x_QsciLexerLua::x_48(args);	break;
        case 49: x_QsciLexerLua::x_49(args);	break;
        case 50: delete (QsciLexerLua*)xself;	break;
    }
}
class x_QsciLexerMakefile : public QsciLexerMakefile, 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<QsciLexerMakefile*>(this))) {
            const QMetaObject* xret = ((const x_QsciLexerMakefile*)this)->QsciLexerMakefile::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QsciLexerMakefile*)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<QsciLexerMakefile*>(this))) {
            void* xret = this->QsciLexerMakefile::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 = QsciLexerMakefile::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 = QsciLexerMakefile::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 = QsciLexerMakefile::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 = QsciLexerMakefile::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<QsciLexerMakefile*>(this))) {
            int xret = this->QsciLexerMakefile::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) {
        // QsciLexerMakefile* QsciLexerMakefile(QObject*)
        x_QsciLexerMakefile* xret = new x_QsciLexerMakefile((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QsciLexerMakefile(QObject* x1) : QsciLexerMakefile(x1) {}
    void x_9(Smoke::Stack x) {
        // const char* language() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerMakefile*>(this))) {
            const char* xret = ((const x_QsciLexerMakefile*)this)->QsciLexerMakefile::language();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerMakefile*)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<QsciLexerMakefile*>(this))) {
            const char* xret = ((const x_QsciLexerMakefile*)this)->QsciLexerMakefile::lexer();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerMakefile*)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<QsciLexerMakefile*>(this))) {
            const char* xret = ((const x_QsciLexerMakefile*)this)->QsciLexerMakefile::wordCharacters();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerMakefile*)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<QsciLexerMakefile*>(this))) {
            QColor xret = ((const x_QsciLexerMakefile*)this)->QsciLexerMakefile::defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerMakefile*)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<QsciLexerMakefile*>(this))) {
            bool xret = ((const x_QsciLexerMakefile*)this)->QsciLexerMakefile::defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerMakefile*)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<QsciLexerMakefile*>(this))) {
            QFont xret = ((const x_QsciLexerMakefile*)this)->QsciLexerMakefile::defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        } else {
            QFont xret = ((const x_QsciLexerMakefile*)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<QsciLexerMakefile*>(this))) {
            QColor xret = ((const x_QsciLexerMakefile*)this)->QsciLexerMakefile::defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerMakefile*)this)->defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_16(Smoke::Stack x) {
        // QString description(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerMakefile*>(this))) {
            QString xret = ((const x_QsciLexerMakefile*)this)->QsciLexerMakefile::description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QsciLexerMakefile*)this)->description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    static void x_17(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QsciLexerMakefile::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_18(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QsciLexerMakefile::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_19(Smoke::Stack x) {
        // QsciLexerMakefile* QsciLexerMakefile()
        x_QsciLexerMakefile* xret = new x_QsciLexerMakefile((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_20(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QsciLexerMakefile::staticMetaObject;
    }
    static void x_21(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerMakefile::Default;
    }
    static void x_22(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerMakefile::Comment;
    }
    static void x_23(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerMakefile::Preprocessor;
    }
    static void x_24(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerMakefile::Variable;
    }
    static void x_25(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerMakefile::Operator;
    }
    static void x_26(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerMakefile::Target;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerMakefile::Error;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1009, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QsciLexerMakefile::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1010, (void*)this, x)) return (void*)x[0].s_class;
        return this->QsciLexerMakefile::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(1015, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerMakefile::qt_metacall(x1, x2, x3);
    }
    virtual const char* language() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1017, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerMakefile::language();
    }
    virtual const char* lexer() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1018, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerMakefile::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(235, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::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(1024, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerMakefile::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(1020, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerMakefile::defaultColor(x1);
    }
    virtual bool defaultEolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1021, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerMakefile::defaultEolFill(x1);
    }
    virtual QFont defaultFont(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1022, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerMakefile::defaultFont(x1);
    }
    virtual QColor defaultPaper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1023, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerMakefile::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(253, (void*)this, x)) return;
        this->QsciLexer::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(1019, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerMakefile::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(267, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexer::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(268, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexer::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_QsciLexerMakefile() { this->_binding->deleted(70, (void*)this); }
};
void xcall_QsciLexerMakefile(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QsciLexerMakefile *xself = (x_QsciLexerMakefile*)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_QsciLexerMakefile::x_3(args);	break;
        case 4: x_QsciLexerMakefile::x_4(args);	break;
        case 5: x_QsciLexerMakefile::x_5(args);	break;
        case 6: x_QsciLexerMakefile::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QsciLexerMakefile::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: x_QsciLexerMakefile::x_17(args);	break;
        case 18: x_QsciLexerMakefile::x_18(args);	break;
        case 19: x_QsciLexerMakefile::x_19(args);	break;
        case 20: x_QsciLexerMakefile::x_20(args);	break;
        case 21: x_QsciLexerMakefile::x_21(args);	break;
        case 22: x_QsciLexerMakefile::x_22(args);	break;
        case 23: x_QsciLexerMakefile::x_23(args);	break;
        case 24: x_QsciLexerMakefile::x_24(args);	break;
        case 25: x_QsciLexerMakefile::x_25(args);	break;
        case 26: x_QsciLexerMakefile::x_26(args);	break;
        case 27: x_QsciLexerMakefile::x_27(args);	break;
        case 28: delete (QsciLexerMakefile*)xself;	break;
    }
}
class x_QsciLexerPOV : public QsciLexerPOV, 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<QsciLexerPOV*>(this))) {
            const QMetaObject* xret = ((const x_QsciLexerPOV*)this)->QsciLexerPOV::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QsciLexerPOV*)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<QsciLexerPOV*>(this))) {
            void* xret = this->QsciLexerPOV::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 = QsciLexerPOV::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 = QsciLexerPOV::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 = QsciLexerPOV::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 = QsciLexerPOV::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<QsciLexerPOV*>(this))) {
            int xret = this->QsciLexerPOV::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) {
        // QsciLexerPOV* QsciLexerPOV(QObject*)
        x_QsciLexerPOV* xret = new x_QsciLexerPOV((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QsciLexerPOV(QObject* x1) : QsciLexerPOV(x1) {}
    void x_9(Smoke::Stack x) {
        // const char* language() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPOV*>(this))) {
            const char* xret = ((const x_QsciLexerPOV*)this)->QsciLexerPOV::language();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPOV*)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<QsciLexerPOV*>(this))) {
            const char* xret = ((const x_QsciLexerPOV*)this)->QsciLexerPOV::lexer();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPOV*)this)->lexer();
            x[0].s_class = (void*)xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // int braceStyle() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPOV*>(this))) {
            int xret = ((const x_QsciLexerPOV*)this)->QsciLexerPOV::braceStyle();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QsciLexerPOV*)this)->braceStyle();
            x[0].s_int = xret;
        }
    }
    void x_12(Smoke::Stack x) {
        // const char* wordCharacters() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPOV*>(this))) {
            const char* xret = ((const x_QsciLexerPOV*)this)->QsciLexerPOV::wordCharacters();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPOV*)this)->wordCharacters();
            x[0].s_class = (void*)xret;
        }
    }
    void x_13(Smoke::Stack x) {
        // QColor defaultColor(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPOV*>(this))) {
            QColor xret = ((const x_QsciLexerPOV*)this)->QsciLexerPOV::defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerPOV*)this)->defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_14(Smoke::Stack x) {
        // bool defaultEolFill(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPOV*>(this))) {
            bool xret = ((const x_QsciLexerPOV*)this)->QsciLexerPOV::defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerPOV*)this)->defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        }
    }
    void x_15(Smoke::Stack x) {
        // QFont defaultFont(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPOV*>(this))) {
            QFont xret = ((const x_QsciLexerPOV*)this)->QsciLexerPOV::defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        } else {
            QFont xret = ((const x_QsciLexerPOV*)this)->defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        }
    }
    void x_16(Smoke::Stack x) {
        // QColor defaultPaper(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPOV*>(this))) {
            QColor xret = ((const x_QsciLexerPOV*)this)->QsciLexerPOV::defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerPOV*)this)->defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_17(Smoke::Stack x) {
        // const char* keywords(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPOV*>(this))) {
            const char* xret = ((const x_QsciLexerPOV*)this)->QsciLexerPOV::keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPOV*)this)->keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        }
    }
    void x_18(Smoke::Stack x) {
        // QString description(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPOV*>(this))) {
            QString xret = ((const x_QsciLexerPOV*)this)->QsciLexerPOV::description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QsciLexerPOV*)this)->description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_19(Smoke::Stack x) {
        // void refreshProperties()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPOV*>(this))) {
            this->QsciLexerPOV::refreshProperties();
            (void)x; // noop (for compiler warning)
        } else {
            this->refreshProperties();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_20(Smoke::Stack x) {
        // bool foldComments() const
        bool xret = ((const x_QsciLexerPOV*)this)->QsciLexerPOV::foldComments();
        x[0].s_bool = xret;
    }
    void x_21(Smoke::Stack x) {
        // bool foldCompact() const
        bool xret = ((const x_QsciLexerPOV*)this)->QsciLexerPOV::foldCompact();
        x[0].s_bool = xret;
    }
    void x_22(Smoke::Stack x) {
        // bool foldDirectives() const
        bool xret = ((const x_QsciLexerPOV*)this)->QsciLexerPOV::foldDirectives();
        x[0].s_bool = xret;
    }
    void x_23(Smoke::Stack x) {
        // virtual void setFoldComments(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPOV*>(this))) {
            this->QsciLexerPOV::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_24(Smoke::Stack x) {
        // virtual void setFoldCompact(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPOV*>(this))) {
            this->QsciLexerPOV::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_25(Smoke::Stack x) {
        // virtual void setFoldDirectives(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPOV*>(this))) {
            this->QsciLexerPOV::setFoldDirectives((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setFoldDirectives((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_26(Smoke::Stack x) {
        // bool readProperties(QSettings&, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPOV*>(this))) {
            bool xret = this->QsciLexerPOV::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_27(Smoke::Stack x) {
        // bool writeProperties(QSettings&, const QString&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPOV*>(this))) {
            bool xret = ((const x_QsciLexerPOV*)this)->QsciLexerPOV::writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerPOV*)this)->writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_28(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QsciLexerPOV::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_29(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QsciLexerPOV::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_30(Smoke::Stack x) {
        // QsciLexerPOV* QsciLexerPOV()
        x_QsciLexerPOV* xret = new x_QsciLexerPOV((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_31(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QsciLexerPOV::staticMetaObject;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPOV::Default;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPOV::Comment;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPOV::CommentLine;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPOV::Number;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPOV::Operator;
    }
    static void x_37(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPOV::Identifier;
    }
    static void x_38(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPOV::String;
    }
    static void x_39(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPOV::UnclosedString;
    }
    static void x_40(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPOV::Directive;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPOV::BadDirective;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPOV::ObjectsCSGAppearance;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPOV::TypesModifiersItems;
    }
    static void x_44(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPOV::PredefinedIdentifiers;
    }
    static void x_45(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPOV::PredefinedFunctions;
    }
    static void x_46(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPOV::KeywordSet6;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPOV::KeywordSet7;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPOV::KeywordSet8;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1037, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QsciLexerPOV::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1038, (void*)this, x)) return (void*)x[0].s_class;
        return this->QsciLexerPOV::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(1043, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerPOV::qt_metacall(x1, x2, x3);
    }
    virtual void setFoldComments(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1059, (void*)this, x)) return;
        this->QsciLexerPOV::setFoldComments(x1);
    }
    virtual void setFoldCompact(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1060, (void*)this, x)) return;
        this->QsciLexerPOV::setFoldCompact(x1);
    }
    virtual void setFoldDirectives(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1061, (void*)this, x)) return;
        this->QsciLexerPOV::setFoldDirectives(x1);
    }
    virtual const char* language() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1045, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPOV::language();
    }
    virtual const char* lexer() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1046, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPOV::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(1047, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerPOV::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(1053, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPOV::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(1054, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPOV::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(1049, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPOV::defaultColor(x1);
    }
    virtual bool defaultEolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1050, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerPOV::defaultEolFill(x1);
    }
    virtual QFont defaultFont(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1051, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPOV::defaultFont(x1);
    }
    virtual QColor defaultPaper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1052, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPOV::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(1055, (void*)this, x)) return;
        this->QsciLexerPOV::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(1048, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPOV::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(1062, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerPOV::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(1063, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerPOV::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_QsciLexerPOV() { this->_binding->deleted(71, (void*)this); }
};
void xcall_QsciLexerPOV(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QsciLexerPOV *xself = (x_QsciLexerPOV*)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_QsciLexerPOV::x_3(args);	break;
        case 4: x_QsciLexerPOV::x_4(args);	break;
        case 5: x_QsciLexerPOV::x_5(args);	break;
        case 6: x_QsciLexerPOV::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QsciLexerPOV::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: x_QsciLexerPOV::x_28(args);	break;
        case 29: x_QsciLexerPOV::x_29(args);	break;
        case 30: x_QsciLexerPOV::x_30(args);	break;
        case 31: x_QsciLexerPOV::x_31(args);	break;
        case 32: x_QsciLexerPOV::x_32(args);	break;
        case 33: x_QsciLexerPOV::x_33(args);	break;
        case 34: x_QsciLexerPOV::x_34(args);	break;
        case 35: x_QsciLexerPOV::x_35(args);	break;
        case 36: x_QsciLexerPOV::x_36(args);	break;
        case 37: x_QsciLexerPOV::x_37(args);	break;
        case 38: x_QsciLexerPOV::x_38(args);	break;
        case 39: x_QsciLexerPOV::x_39(args);	break;
        case 40: x_QsciLexerPOV::x_40(args);	break;
        case 41: x_QsciLexerPOV::x_41(args);	break;
        case 42: x_QsciLexerPOV::x_42(args);	break;
        case 43: x_QsciLexerPOV::x_43(args);	break;
        case 44: x_QsciLexerPOV::x_44(args);	break;
        case 45: x_QsciLexerPOV::x_45(args);	break;
        case 46: x_QsciLexerPOV::x_46(args);	break;
        case 47: x_QsciLexerPOV::x_47(args);	break;
        case 48: x_QsciLexerPOV::x_48(args);	break;
        case 49: delete (QsciLexerPOV*)xself;	break;
    }
}

}
