//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_QsciLexerPython : public QsciLexerPython, 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<QsciLexerPython*>(this))) {
            const QMetaObject* xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QsciLexerPython*)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<QsciLexerPython*>(this))) {
            void* xret = this->QsciLexerPython::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 = QsciLexerPython::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 = QsciLexerPython::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 = QsciLexerPython::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 = QsciLexerPython::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<QsciLexerPython*>(this))) {
            int xret = this->QsciLexerPython::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) {
        // QsciLexerPython* QsciLexerPython(QObject*)
        x_QsciLexerPython* xret = new x_QsciLexerPython((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QsciLexerPython(QObject* x1) : QsciLexerPython(x1) {}
    void x_9(Smoke::Stack x) {
        // const char* language() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPython*>(this))) {
            const char* xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::language();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPython*)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<QsciLexerPython*>(this))) {
            const char* xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::lexer();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPython*)this)->lexer();
            x[0].s_class = (void*)xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // QStringList autoCompletionWordSeparators() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPython*>(this))) {
            QStringList xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::autoCompletionWordSeparators();
            x[0].s_class = (void*)new QStringList(xret);
        } else {
            QStringList xret = ((const x_QsciLexerPython*)this)->autoCompletionWordSeparators();
            x[0].s_class = (void*)new QStringList(xret);
        }
    }
    void x_12(Smoke::Stack x) {
        // int blockLookback() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPython*>(this))) {
            int xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::blockLookback();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QsciLexerPython*)this)->blockLookback();
            x[0].s_int = xret;
        }
    }
    void x_13(Smoke::Stack x) {
        // const char* blockStart(int*) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPython*>(this))) {
            const char* xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::blockStart((int*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPython*)this)->blockStart((int*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_14(Smoke::Stack x) {
        // int braceStyle() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPython*>(this))) {
            int xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::braceStyle();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QsciLexerPython*)this)->braceStyle();
            x[0].s_int = xret;
        }
    }
    void x_15(Smoke::Stack x) {
        // QColor defaultColor(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPython*>(this))) {
            QColor xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerPython*)this)->defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_16(Smoke::Stack x) {
        // bool defaultEolFill(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPython*>(this))) {
            bool xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerPython*)this)->defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        }
    }
    void x_17(Smoke::Stack x) {
        // QFont defaultFont(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPython*>(this))) {
            QFont xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        } else {
            QFont xret = ((const x_QsciLexerPython*)this)->defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        }
    }
    void x_18(Smoke::Stack x) {
        // QColor defaultPaper(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPython*>(this))) {
            QColor xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerPython*)this)->defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_19(Smoke::Stack x) {
        // virtual int indentationGuideView() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPython*>(this))) {
            int xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::indentationGuideView();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QsciLexerPython*)this)->indentationGuideView();
            x[0].s_int = xret;
        }
    }
    void x_20(Smoke::Stack x) {
        // const char* keywords(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPython*>(this))) {
            const char* xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPython*)this)->keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        }
    }
    void x_21(Smoke::Stack x) {
        // QString description(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPython*>(this))) {
            QString xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QsciLexerPython*)this)->description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_22(Smoke::Stack x) {
        // void refreshProperties()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPython*>(this))) {
            this->QsciLexerPython::refreshProperties();
            (void)x; // noop (for compiler warning)
        } else {
            this->refreshProperties();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_23(Smoke::Stack x) {
        // bool foldComments() const
        bool xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::foldComments();
        x[0].s_bool = xret;
    }
    void x_24(Smoke::Stack x) {
        // void setFoldCompact(bool)
        this->QsciLexerPython::setFoldCompact((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // bool foldCompact() const
        bool xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::foldCompact();
        x[0].s_bool = xret;
    }
    void x_26(Smoke::Stack x) {
        // bool foldQuotes() const
        bool xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::foldQuotes();
        x[0].s_bool = xret;
    }
    void x_27(Smoke::Stack x) {
        // QsciLexerPython::IndentationWarning indentationWarning() const
        QsciLexerPython::IndentationWarning xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::indentationWarning();
        x[0].s_enum = xret;
    }
    void x_28(Smoke::Stack x) {
        // void setHighlightSubidentifiers(bool)
        this->QsciLexerPython::setHighlightSubidentifiers((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
        // bool highlightSubidentifiers() const
        bool xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::highlightSubidentifiers();
        x[0].s_bool = xret;
    }
    void x_30(Smoke::Stack x) {
        // void setStringsOverNewlineAllowed(bool)
        this->QsciLexerPython::setStringsOverNewlineAllowed((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // bool stringsOverNewlineAllowed() const
        bool xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::stringsOverNewlineAllowed();
        x[0].s_bool = xret;
    }
    void x_32(Smoke::Stack x) {
        // void setV2UnicodeAllowed(bool)
        this->QsciLexerPython::setV2UnicodeAllowed((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_33(Smoke::Stack x) {
        // bool v2UnicodeAllowed() const
        bool xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::v2UnicodeAllowed();
        x[0].s_bool = xret;
    }
    void x_34(Smoke::Stack x) {
        // void setV3BinaryOctalAllowed(bool)
        this->QsciLexerPython::setV3BinaryOctalAllowed((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_35(Smoke::Stack x) {
        // bool v3BinaryOctalAllowed() const
        bool xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::v3BinaryOctalAllowed();
        x[0].s_bool = xret;
    }
    void x_36(Smoke::Stack x) {
        // void setV3BytesAllowed(bool)
        this->QsciLexerPython::setV3BytesAllowed((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_37(Smoke::Stack x) {
        // bool v3BytesAllowed() const
        bool xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::v3BytesAllowed();
        x[0].s_bool = xret;
    }
    void x_38(Smoke::Stack x) {
        // virtual void setFoldComments(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPython*>(this))) {
            this->QsciLexerPython::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_39(Smoke::Stack x) {
        // virtual void setFoldQuotes(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPython*>(this))) {
            this->QsciLexerPython::setFoldQuotes((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setFoldQuotes((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_40(Smoke::Stack x) {
        // virtual void setIndentationWarning(QsciLexerPython::IndentationWarning)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPython*>(this))) {
            this->QsciLexerPython::setIndentationWarning((QsciLexerPython::IndentationWarning)x[1].s_enum);
            (void)x; // noop (for compiler warning)
        } else {
            this->setIndentationWarning((QsciLexerPython::IndentationWarning)x[1].s_enum);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_41(Smoke::Stack x) {
        // bool readProperties(QSettings&, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPython*>(this))) {
            bool xret = this->QsciLexerPython::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_42(Smoke::Stack x) {
        // bool writeProperties(QSettings&, const QString&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPython*>(this))) {
            bool xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerPython*)this)->writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_43(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QsciLexerPython::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_44(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QsciLexerPython::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_45(Smoke::Stack x) {
        // QsciLexerPython* QsciLexerPython()
        x_QsciLexerPython* xret = new x_QsciLexerPython((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_46(Smoke::Stack x) {
        // const char* blockStart() const
        const char* xret = ((const x_QsciLexerPython*)this)->QsciLexerPython::blockStart((int*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_47(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QsciLexerPython::staticMetaObject;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::Default;
    }
    static void x_49(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::Comment;
    }
    static void x_50(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::Number;
    }
    static void x_51(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::DoubleQuotedString;
    }
    static void x_52(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::SingleQuotedString;
    }
    static void x_53(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::Keyword;
    }
    static void x_54(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::TripleSingleQuotedString;
    }
    static void x_55(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::TripleDoubleQuotedString;
    }
    static void x_56(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::ClassName;
    }
    static void x_57(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::FunctionMethodName;
    }
    static void x_58(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::Operator;
    }
    static void x_59(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::Identifier;
    }
    static void x_60(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::CommentBlock;
    }
    static void x_61(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::UnclosedString;
    }
    static void x_62(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::HighlightedIdentifier;
    }
    static void x_63(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::Decorator;
    }
    static void x_64(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::NoWarning;
    }
    static void x_65(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::Inconsistent;
    }
    static void x_66(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::TabsAfterSpaces;
    }
    static void x_67(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::Spaces;
    }
    static void x_68(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPython::Tabs;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1305, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QsciLexerPython::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1306, (void*)this, x)) return (void*)x[0].s_class;
        return this->QsciLexerPython::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(1311, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerPython::qt_metacall(x1, x2, x3);
    }
    virtual int indentationGuideView() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1323, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerPython::indentationGuideView();
    }
    virtual void setFoldComments(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1342, (void*)this, x)) return;
        this->QsciLexerPython::setFoldComments(x1);
    }
    virtual void setFoldQuotes(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1343, (void*)this, x)) return;
        this->QsciLexerPython::setFoldQuotes(x1);
    }
    virtual void setIndentationWarning(QsciLexerPython::IndentationWarning x1) {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(1344, (void*)this, x)) return;
        this->QsciLexerPython::setIndentationWarning(x1);
    }
    virtual const char* language() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1313, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPython::language();
    }
    virtual const char* lexer() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1314, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPython::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(1315, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPython::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(1316, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerPython::blockLookback();
    }
    virtual const char* blockStart(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1317, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPython::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(1318, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerPython::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 const char* keywords(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1324, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPython::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(1325, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPython::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(1319, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPython::defaultColor(x1);
    }
    virtual bool defaultEolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1320, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerPython::defaultEolFill(x1);
    }
    virtual QFont defaultFont(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1321, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPython::defaultFont(x1);
    }
    virtual QColor defaultPaper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1322, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPython::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(1326, (void*)this, x)) return;
        this->QsciLexerPython::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(1345, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerPython::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(1346, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerPython::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);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 82: //QsciLexerPython::IndentationWarning
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QsciLexerPython::IndentationWarning;
                    break;
                case Smoke::EnumDelete:
                    delete (QsciLexerPython::IndentationWarning*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QsciLexerPython::IndentationWarning*)xdata = (QsciLexerPython::IndentationWarning)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QsciLexerPython::IndentationWarning*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QsciLexerPython() { this->_binding->deleted(76, (void*)this); }
};
void xenum_QsciLexerPython(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QsciLexerPython::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QsciLexerPython(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QsciLexerPython *xself = (x_QsciLexerPython*)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_QsciLexerPython::x_3(args);	break;
        case 4: x_QsciLexerPython::x_4(args);	break;
        case 5: x_QsciLexerPython::x_5(args);	break;
        case 6: x_QsciLexerPython::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QsciLexerPython::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: xself->x_40(args);	break;
        case 41: xself->x_41(args);	break;
        case 42: xself->x_42(args);	break;
        case 43: x_QsciLexerPython::x_43(args);	break;
        case 44: x_QsciLexerPython::x_44(args);	break;
        case 45: x_QsciLexerPython::x_45(args);	break;
        case 46: xself->x_46(args);	break;
        case 47: x_QsciLexerPython::x_47(args);	break;
        case 48: x_QsciLexerPython::x_48(args);	break;
        case 49: x_QsciLexerPython::x_49(args);	break;
        case 50: x_QsciLexerPython::x_50(args);	break;
        case 51: x_QsciLexerPython::x_51(args);	break;
        case 52: x_QsciLexerPython::x_52(args);	break;
        case 53: x_QsciLexerPython::x_53(args);	break;
        case 54: x_QsciLexerPython::x_54(args);	break;
        case 55: x_QsciLexerPython::x_55(args);	break;
        case 56: x_QsciLexerPython::x_56(args);	break;
        case 57: x_QsciLexerPython::x_57(args);	break;
        case 58: x_QsciLexerPython::x_58(args);	break;
        case 59: x_QsciLexerPython::x_59(args);	break;
        case 60: x_QsciLexerPython::x_60(args);	break;
        case 61: x_QsciLexerPython::x_61(args);	break;
        case 62: x_QsciLexerPython::x_62(args);	break;
        case 63: x_QsciLexerPython::x_63(args);	break;
        case 64: x_QsciLexerPython::x_64(args);	break;
        case 65: x_QsciLexerPython::x_65(args);	break;
        case 66: x_QsciLexerPython::x_66(args);	break;
        case 67: x_QsciLexerPython::x_67(args);	break;
        case 68: x_QsciLexerPython::x_68(args);	break;
        case 69: delete (QsciLexerPython*)xself;	break;
    }
}
class x_QsciLexerRuby : public QsciLexerRuby, 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<QsciLexerRuby*>(this))) {
            const QMetaObject* xret = ((const x_QsciLexerRuby*)this)->QsciLexerRuby::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QsciLexerRuby*)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<QsciLexerRuby*>(this))) {
            void* xret = this->QsciLexerRuby::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 = QsciLexerRuby::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 = QsciLexerRuby::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 = QsciLexerRuby::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 = QsciLexerRuby::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<QsciLexerRuby*>(this))) {
            int xret = this->QsciLexerRuby::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) {
        // QsciLexerRuby* QsciLexerRuby(QObject*)
        x_QsciLexerRuby* xret = new x_QsciLexerRuby((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QsciLexerRuby(QObject* x1) : QsciLexerRuby(x1) {}
    void x_9(Smoke::Stack x) {
        // const char* language() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerRuby*>(this))) {
            const char* xret = ((const x_QsciLexerRuby*)this)->QsciLexerRuby::language();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerRuby*)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<QsciLexerRuby*>(this))) {
            const char* xret = ((const x_QsciLexerRuby*)this)->QsciLexerRuby::lexer();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerRuby*)this)->lexer();
            x[0].s_class = (void*)xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // const char* blockEnd(int*) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerRuby*>(this))) {
            const char* xret = ((const x_QsciLexerRuby*)this)->QsciLexerRuby::blockEnd((int*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerRuby*)this)->blockEnd((int*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_12(Smoke::Stack x) {
        // const char* blockStart(int*) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerRuby*>(this))) {
            const char* xret = ((const x_QsciLexerRuby*)this)->QsciLexerRuby::blockStart((int*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerRuby*)this)->blockStart((int*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_13(Smoke::Stack x) {
        // const char* blockStartKeyword(int*) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerRuby*>(this))) {
            const char* xret = ((const x_QsciLexerRuby*)this)->QsciLexerRuby::blockStartKeyword((int*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerRuby*)this)->blockStartKeyword((int*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_14(Smoke::Stack x) {
        // int braceStyle() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerRuby*>(this))) {
            int xret = ((const x_QsciLexerRuby*)this)->QsciLexerRuby::braceStyle();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QsciLexerRuby*)this)->braceStyle();
            x[0].s_int = xret;
        }
    }
    void x_15(Smoke::Stack x) {
        // QColor defaultColor(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerRuby*>(this))) {
            QColor xret = ((const x_QsciLexerRuby*)this)->QsciLexerRuby::defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerRuby*)this)->defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_16(Smoke::Stack x) {
        // bool defaultEolFill(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerRuby*>(this))) {
            bool xret = ((const x_QsciLexerRuby*)this)->QsciLexerRuby::defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerRuby*)this)->defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        }
    }
    void x_17(Smoke::Stack x) {
        // QFont defaultFont(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerRuby*>(this))) {
            QFont xret = ((const x_QsciLexerRuby*)this)->QsciLexerRuby::defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        } else {
            QFont xret = ((const x_QsciLexerRuby*)this)->defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        }
    }
    void x_18(Smoke::Stack x) {
        // QColor defaultPaper(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerRuby*>(this))) {
            QColor xret = ((const x_QsciLexerRuby*)this)->QsciLexerRuby::defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerRuby*)this)->defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_19(Smoke::Stack x) {
        // const char* keywords(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerRuby*>(this))) {
            const char* xret = ((const x_QsciLexerRuby*)this)->QsciLexerRuby::keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerRuby*)this)->keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        }
    }
    void x_20(Smoke::Stack x) {
        // QString description(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerRuby*>(this))) {
            QString xret = ((const x_QsciLexerRuby*)this)->QsciLexerRuby::description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QsciLexerRuby*)this)->description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_21(Smoke::Stack x) {
        // void refreshProperties()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerRuby*>(this))) {
            this->QsciLexerRuby::refreshProperties();
            (void)x; // noop (for compiler warning)
        } else {
            this->refreshProperties();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_22(Smoke::Stack x) {
        // void setFoldComments(bool)
        this->QsciLexerRuby::setFoldComments((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // bool foldComments() const
        bool xret = ((const x_QsciLexerRuby*)this)->QsciLexerRuby::foldComments();
        x[0].s_bool = xret;
    }
    void x_24(Smoke::Stack x) {
        // void setFoldCompact(bool)
        this->QsciLexerRuby::setFoldCompact((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_25(Smoke::Stack x) {
        // bool foldCompact() const
        bool xret = ((const x_QsciLexerRuby*)this)->QsciLexerRuby::foldCompact();
        x[0].s_bool = xret;
    }
    void x_26(Smoke::Stack x) {
        // bool readProperties(QSettings&, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerRuby*>(this))) {
            bool xret = this->QsciLexerRuby::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<QsciLexerRuby*>(this))) {
            bool xret = ((const x_QsciLexerRuby*)this)->QsciLexerRuby::writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerRuby*)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 = QsciLexerRuby::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 = QsciLexerRuby::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) {
        // QsciLexerRuby* QsciLexerRuby()
        x_QsciLexerRuby* xret = new x_QsciLexerRuby((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_31(Smoke::Stack x) {
        // const char* blockEnd() const
        const char* xret = ((const x_QsciLexerRuby*)this)->QsciLexerRuby::blockEnd((int*)0);
        x[0].s_class = (void*)xret;
    }
    void x_32(Smoke::Stack x) {
        // const char* blockStart() const
        const char* xret = ((const x_QsciLexerRuby*)this)->QsciLexerRuby::blockStart((int*)0);
        x[0].s_class = (void*)xret;
    }
    void x_33(Smoke::Stack x) {
        // const char* blockStartKeyword() const
        const char* xret = ((const x_QsciLexerRuby*)this)->QsciLexerRuby::blockStartKeyword((int*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_34(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QsciLexerRuby::staticMetaObject;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::Default;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::Error;
    }
    static void x_37(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::Comment;
    }
    static void x_38(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::POD;
    }
    static void x_39(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::Number;
    }
    static void x_40(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::Keyword;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::DoubleQuotedString;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::SingleQuotedString;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::ClassName;
    }
    static void x_44(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::FunctionMethodName;
    }
    static void x_45(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::Operator;
    }
    static void x_46(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::Identifier;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::Regex;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::Global;
    }
    static void x_49(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::Symbol;
    }
    static void x_50(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::ModuleName;
    }
    static void x_51(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::InstanceVariable;
    }
    static void x_52(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::ClassVariable;
    }
    static void x_53(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::Backticks;
    }
    static void x_54(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::DataSection;
    }
    static void x_55(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::HereDocumentDelimiter;
    }
    static void x_56(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::HereDocument;
    }
    static void x_57(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::PercentStringq;
    }
    static void x_58(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::PercentStringQ;
    }
    static void x_59(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::PercentStringx;
    }
    static void x_60(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::PercentStringr;
    }
    static void x_61(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::PercentStringw;
    }
    static void x_62(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::DemotedKeyword;
    }
    static void x_63(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::Stdin;
    }
    static void x_64(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::Stdout;
    }
    static void x_65(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerRuby::Stderr;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1374, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QsciLexerRuby::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1375, (void*)this, x)) return (void*)x[0].s_class;
        return this->QsciLexerRuby::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(1380, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerRuby::qt_metacall(x1, x2, x3);
    }
    virtual const char* language() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1382, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerRuby::language();
    }
    virtual const char* lexer() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1383, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerRuby::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(1384, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerRuby::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(1385, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerRuby::blockStart(x1);
    }
    virtual const char* blockStartKeyword(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1386, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerRuby::blockStartKeyword(x1);
    }
    virtual int braceStyle() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1387, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerRuby::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(1392, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerRuby::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(1393, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerRuby::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(1388, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerRuby::defaultColor(x1);
    }
    virtual bool defaultEolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1389, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerRuby::defaultEolFill(x1);
    }
    virtual QFont defaultFont(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1390, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerRuby::defaultFont(x1);
    }
    virtual QColor defaultPaper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1391, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerRuby::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(1394, (void*)this, x)) return;
        this->QsciLexerRuby::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(1399, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerRuby::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(1400, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerRuby::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_QsciLexerRuby() { this->_binding->deleted(77, (void*)this); }
};
void xcall_QsciLexerRuby(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QsciLexerRuby *xself = (x_QsciLexerRuby*)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_QsciLexerRuby::x_3(args);	break;
        case 4: x_QsciLexerRuby::x_4(args);	break;
        case 5: x_QsciLexerRuby::x_5(args);	break;
        case 6: x_QsciLexerRuby::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QsciLexerRuby::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_QsciLexerRuby::x_28(args);	break;
        case 29: x_QsciLexerRuby::x_29(args);	break;
        case 30: x_QsciLexerRuby::x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: x_QsciLexerRuby::x_34(args);	break;
        case 35: x_QsciLexerRuby::x_35(args);	break;
        case 36: x_QsciLexerRuby::x_36(args);	break;
        case 37: x_QsciLexerRuby::x_37(args);	break;
        case 38: x_QsciLexerRuby::x_38(args);	break;
        case 39: x_QsciLexerRuby::x_39(args);	break;
        case 40: x_QsciLexerRuby::x_40(args);	break;
        case 41: x_QsciLexerRuby::x_41(args);	break;
        case 42: x_QsciLexerRuby::x_42(args);	break;
        case 43: x_QsciLexerRuby::x_43(args);	break;
        case 44: x_QsciLexerRuby::x_44(args);	break;
        case 45: x_QsciLexerRuby::x_45(args);	break;
        case 46: x_QsciLexerRuby::x_46(args);	break;
        case 47: x_QsciLexerRuby::x_47(args);	break;
        case 48: x_QsciLexerRuby::x_48(args);	break;
        case 49: x_QsciLexerRuby::x_49(args);	break;
        case 50: x_QsciLexerRuby::x_50(args);	break;
        case 51: x_QsciLexerRuby::x_51(args);	break;
        case 52: x_QsciLexerRuby::x_52(args);	break;
        case 53: x_QsciLexerRuby::x_53(args);	break;
        case 54: x_QsciLexerRuby::x_54(args);	break;
        case 55: x_QsciLexerRuby::x_55(args);	break;
        case 56: x_QsciLexerRuby::x_56(args);	break;
        case 57: x_QsciLexerRuby::x_57(args);	break;
        case 58: x_QsciLexerRuby::x_58(args);	break;
        case 59: x_QsciLexerRuby::x_59(args);	break;
        case 60: x_QsciLexerRuby::x_60(args);	break;
        case 61: x_QsciLexerRuby::x_61(args);	break;
        case 62: x_QsciLexerRuby::x_62(args);	break;
        case 63: x_QsciLexerRuby::x_63(args);	break;
        case 64: x_QsciLexerRuby::x_64(args);	break;
        case 65: x_QsciLexerRuby::x_65(args);	break;
        case 66: delete (QsciLexerRuby*)xself;	break;
    }
}
class x_QsciLexerSQL : public QsciLexerSQL, 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<QsciLexerSQL*>(this))) {
            const QMetaObject* xret = ((const x_QsciLexerSQL*)this)->QsciLexerSQL::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QsciLexerSQL*)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<QsciLexerSQL*>(this))) {
            void* xret = this->QsciLexerSQL::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 = QsciLexerSQL::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 = QsciLexerSQL::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 = QsciLexerSQL::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 = QsciLexerSQL::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<QsciLexerSQL*>(this))) {
            int xret = this->QsciLexerSQL::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) {
        // QsciLexerSQL* QsciLexerSQL(QObject*)
        x_QsciLexerSQL* xret = new x_QsciLexerSQL((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QsciLexerSQL(QObject* x1) : QsciLexerSQL(x1) {}
    void x_9(Smoke::Stack x) {
        // const char* language() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerSQL*>(this))) {
            const char* xret = ((const x_QsciLexerSQL*)this)->QsciLexerSQL::language();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerSQL*)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<QsciLexerSQL*>(this))) {
            const char* xret = ((const x_QsciLexerSQL*)this)->QsciLexerSQL::lexer();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerSQL*)this)->lexer();
            x[0].s_class = (void*)xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // int braceStyle() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerSQL*>(this))) {
            int xret = ((const x_QsciLexerSQL*)this)->QsciLexerSQL::braceStyle();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QsciLexerSQL*)this)->braceStyle();
            x[0].s_int = xret;
        }
    }
    void x_12(Smoke::Stack x) {
        // QColor defaultColor(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerSQL*>(this))) {
            QColor xret = ((const x_QsciLexerSQL*)this)->QsciLexerSQL::defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerSQL*)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<QsciLexerSQL*>(this))) {
            bool xret = ((const x_QsciLexerSQL*)this)->QsciLexerSQL::defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerSQL*)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<QsciLexerSQL*>(this))) {
            QFont xret = ((const x_QsciLexerSQL*)this)->QsciLexerSQL::defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        } else {
            QFont xret = ((const x_QsciLexerSQL*)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<QsciLexerSQL*>(this))) {
            QColor xret = ((const x_QsciLexerSQL*)this)->QsciLexerSQL::defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerSQL*)this)->defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_16(Smoke::Stack x) {
        // const char* keywords(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerSQL*>(this))) {
            const char* xret = ((const x_QsciLexerSQL*)this)->QsciLexerSQL::keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerSQL*)this)->keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        }
    }
    void x_17(Smoke::Stack x) {
        // QString description(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerSQL*>(this))) {
            QString xret = ((const x_QsciLexerSQL*)this)->QsciLexerSQL::description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QsciLexerSQL*)this)->description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_18(Smoke::Stack x) {
        // void refreshProperties()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerSQL*>(this))) {
            this->QsciLexerSQL::refreshProperties();
            (void)x; // noop (for compiler warning)
        } else {
            this->refreshProperties();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_19(Smoke::Stack x) {
        // bool backslashEscapes() const
        bool xret = ((const x_QsciLexerSQL*)this)->QsciLexerSQL::backslashEscapes();
        x[0].s_bool = xret;
    }
    void x_20(Smoke::Stack x) {
        // void setDottedWords(bool)
        this->QsciLexerSQL::setDottedWords((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // bool dottedWords() const
        bool xret = ((const x_QsciLexerSQL*)this)->QsciLexerSQL::dottedWords();
        x[0].s_bool = xret;
    }
    void x_22(Smoke::Stack x) {
        // void setFoldAtElse(bool)
        this->QsciLexerSQL::setFoldAtElse((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_23(Smoke::Stack x) {
        // bool foldAtElse() const
        bool xret = ((const x_QsciLexerSQL*)this)->QsciLexerSQL::foldAtElse();
        x[0].s_bool = xret;
    }
    void x_24(Smoke::Stack x) {
        // bool foldComments() const
        bool xret = ((const x_QsciLexerSQL*)this)->QsciLexerSQL::foldComments();
        x[0].s_bool = xret;
    }
    void x_25(Smoke::Stack x) {
        // bool foldCompact() const
        bool xret = ((const x_QsciLexerSQL*)this)->QsciLexerSQL::foldCompact();
        x[0].s_bool = xret;
    }
    void x_26(Smoke::Stack x) {
        // void setFoldOnlyBegin(bool)
        this->QsciLexerSQL::setFoldOnlyBegin((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // bool foldOnlyBegin() const
        bool xret = ((const x_QsciLexerSQL*)this)->QsciLexerSQL::foldOnlyBegin();
        x[0].s_bool = xret;
    }
    void x_28(Smoke::Stack x) {
        // void setHashComments(bool)
        this->QsciLexerSQL::setHashComments((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_29(Smoke::Stack x) {
        // bool hashComments() const
        bool xret = ((const x_QsciLexerSQL*)this)->QsciLexerSQL::hashComments();
        x[0].s_bool = xret;
    }
    void x_30(Smoke::Stack x) {
        // void setQuotedIdentifiers(bool)
        this->QsciLexerSQL::setQuotedIdentifiers((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_31(Smoke::Stack x) {
        // bool quotedIdentifiers() const
        bool xret = ((const x_QsciLexerSQL*)this)->QsciLexerSQL::quotedIdentifiers();
        x[0].s_bool = xret;
    }
    void x_32(Smoke::Stack x) {
        // virtual void setBackslashEscapes(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerSQL*>(this))) {
            this->QsciLexerSQL::setBackslashEscapes((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setBackslashEscapes((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_33(Smoke::Stack x) {
        // virtual void setFoldComments(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerSQL*>(this))) {
            this->QsciLexerSQL::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_34(Smoke::Stack x) {
        // virtual void setFoldCompact(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerSQL*>(this))) {
            this->QsciLexerSQL::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_35(Smoke::Stack x) {
        // bool readProperties(QSettings&, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerSQL*>(this))) {
            bool xret = this->QsciLexerSQL::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_36(Smoke::Stack x) {
        // bool writeProperties(QSettings&, const QString&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerSQL*>(this))) {
            bool xret = ((const x_QsciLexerSQL*)this)->QsciLexerSQL::writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerSQL*)this)->writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_37(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QsciLexerSQL::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_38(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QsciLexerSQL::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_39(Smoke::Stack x) {
        // QsciLexerSQL* QsciLexerSQL()
        x_QsciLexerSQL* xret = new x_QsciLexerSQL((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_40(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QsciLexerSQL::staticMetaObject;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::Default;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::Comment;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::CommentLine;
    }
    static void x_44(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::CommentDoc;
    }
    static void x_45(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::Number;
    }
    static void x_46(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::Keyword;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::DoubleQuotedString;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::SingleQuotedString;
    }
    static void x_49(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::PlusKeyword;
    }
    static void x_50(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::PlusPrompt;
    }
    static void x_51(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::Operator;
    }
    static void x_52(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::Identifier;
    }
    static void x_53(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::PlusComment;
    }
    static void x_54(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::CommentLineHash;
    }
    static void x_55(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::CommentDocKeyword;
    }
    static void x_56(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::CommentDocKeywordError;
    }
    static void x_57(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::KeywordSet5;
    }
    static void x_58(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::KeywordSet6;
    }
    static void x_59(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::KeywordSet7;
    }
    static void x_60(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::KeywordSet8;
    }
    static void x_61(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::QuotedIdentifier;
    }
    static void x_62(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerSQL::QuotedOperator;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1440, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QsciLexerSQL::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1441, (void*)this, x)) return (void*)x[0].s_class;
        return this->QsciLexerSQL::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(1446, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerSQL::qt_metacall(x1, x2, x3);
    }
    virtual void setBackslashEscapes(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1471, (void*)this, x)) return;
        this->QsciLexerSQL::setBackslashEscapes(x1);
    }
    virtual void setFoldComments(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1472, (void*)this, x)) return;
        this->QsciLexerSQL::setFoldComments(x1);
    }
    virtual void setFoldCompact(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1473, (void*)this, x)) return;
        this->QsciLexerSQL::setFoldCompact(x1);
    }
    virtual const char* language() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1448, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerSQL::language();
    }
    virtual const char* lexer() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1449, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerSQL::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(1450, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerSQL::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(1455, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerSQL::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(1456, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerSQL::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(1451, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerSQL::defaultColor(x1);
    }
    virtual bool defaultEolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1452, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerSQL::defaultEolFill(x1);
    }
    virtual QFont defaultFont(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1453, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerSQL::defaultFont(x1);
    }
    virtual QColor defaultPaper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1454, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerSQL::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(1457, (void*)this, x)) return;
        this->QsciLexerSQL::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(1474, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerSQL::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(1475, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerSQL::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_QsciLexerSQL() { this->_binding->deleted(78, (void*)this); }
};
void xcall_QsciLexerSQL(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QsciLexerSQL *xself = (x_QsciLexerSQL*)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_QsciLexerSQL::x_3(args);	break;
        case 4: x_QsciLexerSQL::x_4(args);	break;
        case 5: x_QsciLexerSQL::x_5(args);	break;
        case 6: x_QsciLexerSQL::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QsciLexerSQL::x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: x_QsciLexerSQL::x_37(args);	break;
        case 38: x_QsciLexerSQL::x_38(args);	break;
        case 39: x_QsciLexerSQL::x_39(args);	break;
        case 40: x_QsciLexerSQL::x_40(args);	break;
        case 41: x_QsciLexerSQL::x_41(args);	break;
        case 42: x_QsciLexerSQL::x_42(args);	break;
        case 43: x_QsciLexerSQL::x_43(args);	break;
        case 44: x_QsciLexerSQL::x_44(args);	break;
        case 45: x_QsciLexerSQL::x_45(args);	break;
        case 46: x_QsciLexerSQL::x_46(args);	break;
        case 47: x_QsciLexerSQL::x_47(args);	break;
        case 48: x_QsciLexerSQL::x_48(args);	break;
        case 49: x_QsciLexerSQL::x_49(args);	break;
        case 50: x_QsciLexerSQL::x_50(args);	break;
        case 51: x_QsciLexerSQL::x_51(args);	break;
        case 52: x_QsciLexerSQL::x_52(args);	break;
        case 53: x_QsciLexerSQL::x_53(args);	break;
        case 54: x_QsciLexerSQL::x_54(args);	break;
        case 55: x_QsciLexerSQL::x_55(args);	break;
        case 56: x_QsciLexerSQL::x_56(args);	break;
        case 57: x_QsciLexerSQL::x_57(args);	break;
        case 58: x_QsciLexerSQL::x_58(args);	break;
        case 59: x_QsciLexerSQL::x_59(args);	break;
        case 60: x_QsciLexerSQL::x_60(args);	break;
        case 61: x_QsciLexerSQL::x_61(args);	break;
        case 62: x_QsciLexerSQL::x_62(args);	break;
        case 63: delete (QsciLexerSQL*)xself;	break;
    }
}
class x_QsciLexerTCL : public QsciLexerTCL, 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<QsciLexerTCL*>(this))) {
            const QMetaObject* xret = ((const x_QsciLexerTCL*)this)->QsciLexerTCL::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QsciLexerTCL*)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<QsciLexerTCL*>(this))) {
            void* xret = this->QsciLexerTCL::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 = QsciLexerTCL::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 = QsciLexerTCL::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 = QsciLexerTCL::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 = QsciLexerTCL::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<QsciLexerTCL*>(this))) {
            int xret = this->QsciLexerTCL::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) {
        // QsciLexerTCL* QsciLexerTCL(QObject*)
        x_QsciLexerTCL* xret = new x_QsciLexerTCL((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QsciLexerTCL(QObject* x1) : QsciLexerTCL(x1) {}
    void x_9(Smoke::Stack x) {
        // const char* language() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTCL*>(this))) {
            const char* xret = ((const x_QsciLexerTCL*)this)->QsciLexerTCL::language();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerTCL*)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<QsciLexerTCL*>(this))) {
            const char* xret = ((const x_QsciLexerTCL*)this)->QsciLexerTCL::lexer();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerTCL*)this)->lexer();
            x[0].s_class = (void*)xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // int braceStyle() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTCL*>(this))) {
            int xret = ((const x_QsciLexerTCL*)this)->QsciLexerTCL::braceStyle();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QsciLexerTCL*)this)->braceStyle();
            x[0].s_int = xret;
        }
    }
    void x_12(Smoke::Stack x) {
        // QColor defaultColor(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTCL*>(this))) {
            QColor xret = ((const x_QsciLexerTCL*)this)->QsciLexerTCL::defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerTCL*)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<QsciLexerTCL*>(this))) {
            bool xret = ((const x_QsciLexerTCL*)this)->QsciLexerTCL::defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerTCL*)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<QsciLexerTCL*>(this))) {
            QFont xret = ((const x_QsciLexerTCL*)this)->QsciLexerTCL::defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        } else {
            QFont xret = ((const x_QsciLexerTCL*)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<QsciLexerTCL*>(this))) {
            QColor xret = ((const x_QsciLexerTCL*)this)->QsciLexerTCL::defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerTCL*)this)->defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_16(Smoke::Stack x) {
        // const char* keywords(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTCL*>(this))) {
            const char* xret = ((const x_QsciLexerTCL*)this)->QsciLexerTCL::keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerTCL*)this)->keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        }
    }
    void x_17(Smoke::Stack x) {
        // QString description(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTCL*>(this))) {
            QString xret = ((const x_QsciLexerTCL*)this)->QsciLexerTCL::description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QsciLexerTCL*)this)->description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_18(Smoke::Stack x) {
        // void refreshProperties()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTCL*>(this))) {
            this->QsciLexerTCL::refreshProperties();
            (void)x; // noop (for compiler warning)
        } else {
            this->refreshProperties();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_19(Smoke::Stack x) {
        // void setFoldComments(bool)
        this->QsciLexerTCL::setFoldComments((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // bool foldComments() const
        bool xret = ((const x_QsciLexerTCL*)this)->QsciLexerTCL::foldComments();
        x[0].s_bool = xret;
    }
    void x_21(Smoke::Stack x) {
        // bool readProperties(QSettings&, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTCL*>(this))) {
            bool xret = this->QsciLexerTCL::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_22(Smoke::Stack x) {
        // bool writeProperties(QSettings&, const QString&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerTCL*>(this))) {
            bool xret = ((const x_QsciLexerTCL*)this)->QsciLexerTCL::writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerTCL*)this)->writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_23(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QsciLexerTCL::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_24(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QsciLexerTCL::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_25(Smoke::Stack x) {
        // QsciLexerTCL* QsciLexerTCL()
        x_QsciLexerTCL* xret = new x_QsciLexerTCL((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_26(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QsciLexerTCL::staticMetaObject;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::Default;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::Comment;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::CommentLine;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::Number;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::QuotedKeyword;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::QuotedString;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::Operator;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::Identifier;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::Substitution;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::SubstitutionBrace;
    }
    static void x_37(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::Modifier;
    }
    static void x_38(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::ExpandKeyword;
    }
    static void x_39(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::TCLKeyword;
    }
    static void x_40(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::TkKeyword;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::ITCLKeyword;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::TkCommand;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::KeywordSet6;
    }
    static void x_44(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::KeywordSet7;
    }
    static void x_45(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::KeywordSet8;
    }
    static void x_46(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::KeywordSet9;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::CommentBox;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerTCL::CommentBlock;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1503, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QsciLexerTCL::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1504, (void*)this, x)) return (void*)x[0].s_class;
        return this->QsciLexerTCL::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(1509, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerTCL::qt_metacall(x1, x2, x3);
    }
    virtual const char* language() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1511, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerTCL::language();
    }
    virtual const char* lexer() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1512, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerTCL::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(1513, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerTCL::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(1518, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerTCL::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(1519, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerTCL::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(1514, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerTCL::defaultColor(x1);
    }
    virtual bool defaultEolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1515, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerTCL::defaultEolFill(x1);
    }
    virtual QFont defaultFont(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1516, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerTCL::defaultFont(x1);
    }
    virtual QColor defaultPaper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1517, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerTCL::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(1520, (void*)this, x)) return;
        this->QsciLexerTCL::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(1523, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerTCL::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(1524, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerTCL::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_QsciLexerTCL() { this->_binding->deleted(79, (void*)this); }
};
void xcall_QsciLexerTCL(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QsciLexerTCL *xself = (x_QsciLexerTCL*)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_QsciLexerTCL::x_3(args);	break;
        case 4: x_QsciLexerTCL::x_4(args);	break;
        case 5: x_QsciLexerTCL::x_5(args);	break;
        case 6: x_QsciLexerTCL::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QsciLexerTCL::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: x_QsciLexerTCL::x_23(args);	break;
        case 24: x_QsciLexerTCL::x_24(args);	break;
        case 25: x_QsciLexerTCL::x_25(args);	break;
        case 26: x_QsciLexerTCL::x_26(args);	break;
        case 27: x_QsciLexerTCL::x_27(args);	break;
        case 28: x_QsciLexerTCL::x_28(args);	break;
        case 29: x_QsciLexerTCL::x_29(args);	break;
        case 30: x_QsciLexerTCL::x_30(args);	break;
        case 31: x_QsciLexerTCL::x_31(args);	break;
        case 32: x_QsciLexerTCL::x_32(args);	break;
        case 33: x_QsciLexerTCL::x_33(args);	break;
        case 34: x_QsciLexerTCL::x_34(args);	break;
        case 35: x_QsciLexerTCL::x_35(args);	break;
        case 36: x_QsciLexerTCL::x_36(args);	break;
        case 37: x_QsciLexerTCL::x_37(args);	break;
        case 38: x_QsciLexerTCL::x_38(args);	break;
        case 39: x_QsciLexerTCL::x_39(args);	break;
        case 40: x_QsciLexerTCL::x_40(args);	break;
        case 41: x_QsciLexerTCL::x_41(args);	break;
        case 42: x_QsciLexerTCL::x_42(args);	break;
        case 43: x_QsciLexerTCL::x_43(args);	break;
        case 44: x_QsciLexerTCL::x_44(args);	break;
        case 45: x_QsciLexerTCL::x_45(args);	break;
        case 46: x_QsciLexerTCL::x_46(args);	break;
        case 47: x_QsciLexerTCL::x_47(args);	break;
        case 48: x_QsciLexerTCL::x_48(args);	break;
        case 49: delete (QsciLexerTCL*)xself;	break;
    }
}

}
