//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_QsciLexerPascal : public QsciLexerPascal, 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<QsciLexerPascal*>(this))) {
            const QMetaObject* xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QsciLexerPascal*)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<QsciLexerPascal*>(this))) {
            void* xret = this->QsciLexerPascal::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 = QsciLexerPascal::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 = QsciLexerPascal::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 = QsciLexerPascal::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 = QsciLexerPascal::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<QsciLexerPascal*>(this))) {
            int xret = this->QsciLexerPascal::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) {
        // QsciLexerPascal* QsciLexerPascal(QObject*)
        x_QsciLexerPascal* xret = new x_QsciLexerPascal((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QsciLexerPascal(QObject* x1) : QsciLexerPascal(x1) {}
    void x_9(Smoke::Stack x) {
        // const char* language() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPascal*>(this))) {
            const char* xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::language();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPascal*)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<QsciLexerPascal*>(this))) {
            const char* xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::lexer();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPascal*)this)->lexer();
            x[0].s_class = (void*)xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // QStringList autoCompletionWordSeparators() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPascal*>(this))) {
            QStringList xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::autoCompletionWordSeparators();
            x[0].s_class = (void*)new QStringList(xret);
        } else {
            QStringList xret = ((const x_QsciLexerPascal*)this)->autoCompletionWordSeparators();
            x[0].s_class = (void*)new QStringList(xret);
        }
    }
    void x_12(Smoke::Stack x) {
        // const char* blockEnd(int*) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPascal*>(this))) {
            const char* xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::blockEnd((int*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPascal*)this)->blockEnd((int*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_13(Smoke::Stack x) {
        // const char* blockStart(int*) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPascal*>(this))) {
            const char* xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::blockStart((int*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPascal*)this)->blockStart((int*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_14(Smoke::Stack x) {
        // const char* blockStartKeyword(int*) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPascal*>(this))) {
            const char* xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::blockStartKeyword((int*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPascal*)this)->blockStartKeyword((int*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_15(Smoke::Stack x) {
        // int braceStyle() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPascal*>(this))) {
            int xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::braceStyle();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QsciLexerPascal*)this)->braceStyle();
            x[0].s_int = xret;
        }
    }
    void x_16(Smoke::Stack x) {
        // QColor defaultColor(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPascal*>(this))) {
            QColor xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerPascal*)this)->defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_17(Smoke::Stack x) {
        // bool defaultEolFill(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPascal*>(this))) {
            bool xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerPascal*)this)->defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        }
    }
    void x_18(Smoke::Stack x) {
        // QFont defaultFont(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPascal*>(this))) {
            QFont xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        } else {
            QFont xret = ((const x_QsciLexerPascal*)this)->defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        }
    }
    void x_19(Smoke::Stack x) {
        // QColor defaultPaper(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPascal*>(this))) {
            QColor xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerPascal*)this)->defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_20(Smoke::Stack x) {
        // const char* keywords(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPascal*>(this))) {
            const char* xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPascal*)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<QsciLexerPascal*>(this))) {
            QString xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QsciLexerPascal*)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<QsciLexerPascal*>(this))) {
            this->QsciLexerPascal::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_QsciLexerPascal*)this)->QsciLexerPascal::foldComments();
        x[0].s_bool = xret;
    }
    void x_24(Smoke::Stack x) {
        // bool foldCompact() const
        bool xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::foldCompact();
        x[0].s_bool = xret;
    }
    void x_25(Smoke::Stack x) {
        // bool foldPreprocessor() const
        bool xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::foldPreprocessor();
        x[0].s_bool = xret;
    }
    void x_26(Smoke::Stack x) {
        // void setSmartHighlighting(bool)
        this->QsciLexerPascal::setSmartHighlighting((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_27(Smoke::Stack x) {
        // bool smartHighlighting() const
        bool xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::smartHighlighting();
        x[0].s_bool = xret;
    }
    void x_28(Smoke::Stack x) {
        // virtual void setFoldComments(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPascal*>(this))) {
            this->QsciLexerPascal::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_29(Smoke::Stack x) {
        // virtual void setFoldCompact(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPascal*>(this))) {
            this->QsciLexerPascal::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_30(Smoke::Stack x) {
        // virtual void setFoldPreprocessor(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPascal*>(this))) {
            this->QsciLexerPascal::setFoldPreprocessor((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setFoldPreprocessor((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_31(Smoke::Stack x) {
        // bool readProperties(QSettings&, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPascal*>(this))) {
            bool xret = this->QsciLexerPascal::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_32(Smoke::Stack x) {
        // bool writeProperties(QSettings&, const QString&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPascal*>(this))) {
            bool xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerPascal*)this)->writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_33(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QsciLexerPascal::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_34(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QsciLexerPascal::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_35(Smoke::Stack x) {
        // QsciLexerPascal* QsciLexerPascal()
        x_QsciLexerPascal* xret = new x_QsciLexerPascal((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_36(Smoke::Stack x) {
        // const char* blockEnd() const
        const char* xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::blockEnd((int*)0);
        x[0].s_class = (void*)xret;
    }
    void x_37(Smoke::Stack x) {
        // const char* blockStart() const
        const char* xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::blockStart((int*)0);
        x[0].s_class = (void*)xret;
    }
    void x_38(Smoke::Stack x) {
        // const char* blockStartKeyword() const
        const char* xret = ((const x_QsciLexerPascal*)this)->QsciLexerPascal::blockStartKeyword((int*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_39(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QsciLexerPascal::staticMetaObject;
    }
    static void x_40(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPascal::Default;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPascal::Identifier;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPascal::Comment;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPascal::CommentParenthesis;
    }
    static void x_44(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPascal::CommentLine;
    }
    static void x_45(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPascal::PreProcessor;
    }
    static void x_46(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPascal::PreProcessorParenthesis;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPascal::Number;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPascal::HexNumber;
    }
    static void x_49(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPascal::Keyword;
    }
    static void x_50(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPascal::SingleQuotedString;
    }
    static void x_51(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPascal::UnclosedString;
    }
    static void x_52(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPascal::Character;
    }
    static void x_53(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPascal::Operator;
    }
    static void x_54(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPascal::Asm;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1086, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QsciLexerPascal::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1087, (void*)this, x)) return (void*)x[0].s_class;
        return this->QsciLexerPascal::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(1092, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerPascal::qt_metacall(x1, x2, x3);
    }
    virtual void setFoldComments(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1113, (void*)this, x)) return;
        this->QsciLexerPascal::setFoldComments(x1);
    }
    virtual void setFoldCompact(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1114, (void*)this, x)) return;
        this->QsciLexerPascal::setFoldCompact(x1);
    }
    virtual void setFoldPreprocessor(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1115, (void*)this, x)) return;
        this->QsciLexerPascal::setFoldPreprocessor(x1);
    }
    virtual const char* language() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1094, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPascal::language();
    }
    virtual const char* lexer() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1095, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPascal::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(1096, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPascal::autoCompletionWordSeparators();
    }
    virtual const char* blockEnd(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1097, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPascal::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(1098, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPascal::blockStart(x1);
    }
    virtual const char* blockStartKeyword(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1099, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPascal::blockStartKeyword(x1);
    }
    virtual int braceStyle() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1100, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerPascal::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(1105, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPascal::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(1106, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPascal::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(1101, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPascal::defaultColor(x1);
    }
    virtual bool defaultEolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1102, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerPascal::defaultEolFill(x1);
    }
    virtual QFont defaultFont(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1103, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPascal::defaultFont(x1);
    }
    virtual QColor defaultPaper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1104, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPascal::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(1107, (void*)this, x)) return;
        this->QsciLexerPascal::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(1116, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerPascal::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(1117, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerPascal::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_QsciLexerPascal() { this->_binding->deleted(72, (void*)this); }
};
void xcall_QsciLexerPascal(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QsciLexerPascal *xself = (x_QsciLexerPascal*)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_QsciLexerPascal::x_3(args);	break;
        case 4: x_QsciLexerPascal::x_4(args);	break;
        case 5: x_QsciLexerPascal::x_5(args);	break;
        case 6: x_QsciLexerPascal::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QsciLexerPascal::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: x_QsciLexerPascal::x_33(args);	break;
        case 34: x_QsciLexerPascal::x_34(args);	break;
        case 35: x_QsciLexerPascal::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: x_QsciLexerPascal::x_39(args);	break;
        case 40: x_QsciLexerPascal::x_40(args);	break;
        case 41: x_QsciLexerPascal::x_41(args);	break;
        case 42: x_QsciLexerPascal::x_42(args);	break;
        case 43: x_QsciLexerPascal::x_43(args);	break;
        case 44: x_QsciLexerPascal::x_44(args);	break;
        case 45: x_QsciLexerPascal::x_45(args);	break;
        case 46: x_QsciLexerPascal::x_46(args);	break;
        case 47: x_QsciLexerPascal::x_47(args);	break;
        case 48: x_QsciLexerPascal::x_48(args);	break;
        case 49: x_QsciLexerPascal::x_49(args);	break;
        case 50: x_QsciLexerPascal::x_50(args);	break;
        case 51: x_QsciLexerPascal::x_51(args);	break;
        case 52: x_QsciLexerPascal::x_52(args);	break;
        case 53: x_QsciLexerPascal::x_53(args);	break;
        case 54: x_QsciLexerPascal::x_54(args);	break;
        case 55: delete (QsciLexerPascal*)xself;	break;
    }
}
class x_QsciLexerPerl : public QsciLexerPerl, 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<QsciLexerPerl*>(this))) {
            const QMetaObject* xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QsciLexerPerl*)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<QsciLexerPerl*>(this))) {
            void* xret = this->QsciLexerPerl::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 = QsciLexerPerl::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 = QsciLexerPerl::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 = QsciLexerPerl::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 = QsciLexerPerl::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<QsciLexerPerl*>(this))) {
            int xret = this->QsciLexerPerl::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) {
        // QsciLexerPerl* QsciLexerPerl(QObject*)
        x_QsciLexerPerl* xret = new x_QsciLexerPerl((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QsciLexerPerl(QObject* x1) : QsciLexerPerl(x1) {}
    void x_9(Smoke::Stack x) {
        // const char* language() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPerl*>(this))) {
            const char* xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::language();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPerl*)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<QsciLexerPerl*>(this))) {
            const char* xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::lexer();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPerl*)this)->lexer();
            x[0].s_class = (void*)xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // QStringList autoCompletionWordSeparators() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPerl*>(this))) {
            QStringList xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::autoCompletionWordSeparators();
            x[0].s_class = (void*)new QStringList(xret);
        } else {
            QStringList xret = ((const x_QsciLexerPerl*)this)->autoCompletionWordSeparators();
            x[0].s_class = (void*)new QStringList(xret);
        }
    }
    void x_12(Smoke::Stack x) {
        // const char* blockEnd(int*) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPerl*>(this))) {
            const char* xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::blockEnd((int*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPerl*)this)->blockEnd((int*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_13(Smoke::Stack x) {
        // const char* blockStart(int*) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPerl*>(this))) {
            const char* xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::blockStart((int*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPerl*)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<QsciLexerPerl*>(this))) {
            int xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::braceStyle();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QsciLexerPerl*)this)->braceStyle();
            x[0].s_int = xret;
        }
    }
    void x_15(Smoke::Stack x) {
        // const char* wordCharacters() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPerl*>(this))) {
            const char* xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::wordCharacters();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPerl*)this)->wordCharacters();
            x[0].s_class = (void*)xret;
        }
    }
    void x_16(Smoke::Stack x) {
        // QColor defaultColor(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPerl*>(this))) {
            QColor xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerPerl*)this)->defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_17(Smoke::Stack x) {
        // bool defaultEolFill(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPerl*>(this))) {
            bool xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerPerl*)this)->defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        }
    }
    void x_18(Smoke::Stack x) {
        // QFont defaultFont(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPerl*>(this))) {
            QFont xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        } else {
            QFont xret = ((const x_QsciLexerPerl*)this)->defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        }
    }
    void x_19(Smoke::Stack x) {
        // QColor defaultPaper(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPerl*>(this))) {
            QColor xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerPerl*)this)->defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_20(Smoke::Stack x) {
        // const char* keywords(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPerl*>(this))) {
            const char* xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPerl*)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<QsciLexerPerl*>(this))) {
            QString xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QsciLexerPerl*)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<QsciLexerPerl*>(this))) {
            this->QsciLexerPerl::refreshProperties();
            (void)x; // noop (for compiler warning)
        } else {
            this->refreshProperties();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_23(Smoke::Stack x) {
        // void setFoldAtElse(bool)
        this->QsciLexerPerl::setFoldAtElse((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_24(Smoke::Stack x) {
        // bool foldAtElse() const
        bool xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::foldAtElse();
        x[0].s_bool = xret;
    }
    void x_25(Smoke::Stack x) {
        // bool foldComments() const
        bool xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::foldComments();
        x[0].s_bool = xret;
    }
    void x_26(Smoke::Stack x) {
        // bool foldCompact() const
        bool xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::foldCompact();
        x[0].s_bool = xret;
    }
    void x_27(Smoke::Stack x) {
        // void setFoldPackages(bool)
        this->QsciLexerPerl::setFoldPackages((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_28(Smoke::Stack x) {
        // bool foldPackages() const
        bool xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::foldPackages();
        x[0].s_bool = xret;
    }
    void x_29(Smoke::Stack x) {
        // void setFoldPODBlocks(bool)
        this->QsciLexerPerl::setFoldPODBlocks((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_30(Smoke::Stack x) {
        // bool foldPODBlocks() const
        bool xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::foldPODBlocks();
        x[0].s_bool = xret;
    }
    void x_31(Smoke::Stack x) {
        // virtual void setFoldComments(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPerl*>(this))) {
            this->QsciLexerPerl::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_32(Smoke::Stack x) {
        // virtual void setFoldCompact(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPerl*>(this))) {
            this->QsciLexerPerl::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_33(Smoke::Stack x) {
        // bool readProperties(QSettings&, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPerl*>(this))) {
            bool xret = this->QsciLexerPerl::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_34(Smoke::Stack x) {
        // bool writeProperties(QSettings&, const QString&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPerl*>(this))) {
            bool xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerPerl*)this)->writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_35(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QsciLexerPerl::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_36(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QsciLexerPerl::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_37(Smoke::Stack x) {
        // QsciLexerPerl* QsciLexerPerl()
        x_QsciLexerPerl* xret = new x_QsciLexerPerl((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    void x_38(Smoke::Stack x) {
        // const char* blockEnd() const
        const char* xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::blockEnd((int*)0);
        x[0].s_class = (void*)xret;
    }
    void x_39(Smoke::Stack x) {
        // const char* blockStart() const
        const char* xret = ((const x_QsciLexerPerl*)this)->QsciLexerPerl::blockStart((int*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_40(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QsciLexerPerl::staticMetaObject;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::Default;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::Error;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::Comment;
    }
    static void x_44(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::POD;
    }
    static void x_45(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::Number;
    }
    static void x_46(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::Keyword;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::DoubleQuotedString;
    }
    static void x_48(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::SingleQuotedString;
    }
    static void x_49(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::Operator;
    }
    static void x_50(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::Identifier;
    }
    static void x_51(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::Scalar;
    }
    static void x_52(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::Array;
    }
    static void x_53(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::Hash;
    }
    static void x_54(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::SymbolTable;
    }
    static void x_55(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::Regex;
    }
    static void x_56(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::Substitution;
    }
    static void x_57(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::Backticks;
    }
    static void x_58(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::DataSection;
    }
    static void x_59(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::HereDocumentDelimiter;
    }
    static void x_60(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::SingleQuotedHereDocument;
    }
    static void x_61(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::DoubleQuotedHereDocument;
    }
    static void x_62(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::BacktickHereDocument;
    }
    static void x_63(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::QuotedStringQ;
    }
    static void x_64(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::QuotedStringQQ;
    }
    static void x_65(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::QuotedStringQX;
    }
    static void x_66(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::QuotedStringQR;
    }
    static void x_67(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::QuotedStringQW;
    }
    static void x_68(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::PODVerbatim;
    }
    static void x_69(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::SubroutinePrototype;
    }
    static void x_70(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::FormatIdentifier;
    }
    static void x_71(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::FormatBody;
    }
    static void x_72(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::DoubleQuotedStringVar;
    }
    static void x_73(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::Translation;
    }
    static void x_74(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::RegexVar;
    }
    static void x_75(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::SubstitutionVar;
    }
    static void x_76(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::BackticksVar;
    }
    static void x_77(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::DoubleQuotedHereDocumentVar;
    }
    static void x_78(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::BacktickHereDocumentVar;
    }
    static void x_79(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::QuotedStringQQVar;
    }
    static void x_80(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::QuotedStringQXVar;
    }
    static void x_81(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPerl::QuotedStringQRVar;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1141, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QsciLexerPerl::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1142, (void*)this, x)) return (void*)x[0].s_class;
        return this->QsciLexerPerl::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(1147, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerPerl::qt_metacall(x1, x2, x3);
    }
    virtual void setFoldComments(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1171, (void*)this, x)) return;
        this->QsciLexerPerl::setFoldComments(x1);
    }
    virtual void setFoldCompact(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1172, (void*)this, x)) return;
        this->QsciLexerPerl::setFoldCompact(x1);
    }
    virtual const char* language() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1149, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPerl::language();
    }
    virtual const char* lexer() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1150, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPerl::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(1151, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPerl::autoCompletionWordSeparators();
    }
    virtual const char* blockEnd(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1152, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPerl::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(1153, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPerl::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(1154, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerPerl::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(1160, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPerl::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(1161, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPerl::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(1156, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPerl::defaultColor(x1);
    }
    virtual bool defaultEolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1157, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerPerl::defaultEolFill(x1);
    }
    virtual QFont defaultFont(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1158, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPerl::defaultFont(x1);
    }
    virtual QColor defaultPaper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1159, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPerl::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(1162, (void*)this, x)) return;
        this->QsciLexerPerl::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(1155, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPerl::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(1173, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerPerl::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(1174, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerPerl::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_QsciLexerPerl() { this->_binding->deleted(73, (void*)this); }
};
void xcall_QsciLexerPerl(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QsciLexerPerl *xself = (x_QsciLexerPerl*)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_QsciLexerPerl::x_3(args);	break;
        case 4: x_QsciLexerPerl::x_4(args);	break;
        case 5: x_QsciLexerPerl::x_5(args);	break;
        case 6: x_QsciLexerPerl::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QsciLexerPerl::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: x_QsciLexerPerl::x_35(args);	break;
        case 36: x_QsciLexerPerl::x_36(args);	break;
        case 37: x_QsciLexerPerl::x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: x_QsciLexerPerl::x_40(args);	break;
        case 41: x_QsciLexerPerl::x_41(args);	break;
        case 42: x_QsciLexerPerl::x_42(args);	break;
        case 43: x_QsciLexerPerl::x_43(args);	break;
        case 44: x_QsciLexerPerl::x_44(args);	break;
        case 45: x_QsciLexerPerl::x_45(args);	break;
        case 46: x_QsciLexerPerl::x_46(args);	break;
        case 47: x_QsciLexerPerl::x_47(args);	break;
        case 48: x_QsciLexerPerl::x_48(args);	break;
        case 49: x_QsciLexerPerl::x_49(args);	break;
        case 50: x_QsciLexerPerl::x_50(args);	break;
        case 51: x_QsciLexerPerl::x_51(args);	break;
        case 52: x_QsciLexerPerl::x_52(args);	break;
        case 53: x_QsciLexerPerl::x_53(args);	break;
        case 54: x_QsciLexerPerl::x_54(args);	break;
        case 55: x_QsciLexerPerl::x_55(args);	break;
        case 56: x_QsciLexerPerl::x_56(args);	break;
        case 57: x_QsciLexerPerl::x_57(args);	break;
        case 58: x_QsciLexerPerl::x_58(args);	break;
        case 59: x_QsciLexerPerl::x_59(args);	break;
        case 60: x_QsciLexerPerl::x_60(args);	break;
        case 61: x_QsciLexerPerl::x_61(args);	break;
        case 62: x_QsciLexerPerl::x_62(args);	break;
        case 63: x_QsciLexerPerl::x_63(args);	break;
        case 64: x_QsciLexerPerl::x_64(args);	break;
        case 65: x_QsciLexerPerl::x_65(args);	break;
        case 66: x_QsciLexerPerl::x_66(args);	break;
        case 67: x_QsciLexerPerl::x_67(args);	break;
        case 68: x_QsciLexerPerl::x_68(args);	break;
        case 69: x_QsciLexerPerl::x_69(args);	break;
        case 70: x_QsciLexerPerl::x_70(args);	break;
        case 71: x_QsciLexerPerl::x_71(args);	break;
        case 72: x_QsciLexerPerl::x_72(args);	break;
        case 73: x_QsciLexerPerl::x_73(args);	break;
        case 74: x_QsciLexerPerl::x_74(args);	break;
        case 75: x_QsciLexerPerl::x_75(args);	break;
        case 76: x_QsciLexerPerl::x_76(args);	break;
        case 77: x_QsciLexerPerl::x_77(args);	break;
        case 78: x_QsciLexerPerl::x_78(args);	break;
        case 79: x_QsciLexerPerl::x_79(args);	break;
        case 80: x_QsciLexerPerl::x_80(args);	break;
        case 81: x_QsciLexerPerl::x_81(args);	break;
        case 82: delete (QsciLexerPerl*)xself;	break;
    }
}
class x_QsciLexerPostScript : public QsciLexerPostScript, 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<QsciLexerPostScript*>(this))) {
            const QMetaObject* xret = ((const x_QsciLexerPostScript*)this)->QsciLexerPostScript::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QsciLexerPostScript*)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<QsciLexerPostScript*>(this))) {
            void* xret = this->QsciLexerPostScript::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 = QsciLexerPostScript::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 = QsciLexerPostScript::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 = QsciLexerPostScript::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 = QsciLexerPostScript::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<QsciLexerPostScript*>(this))) {
            int xret = this->QsciLexerPostScript::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) {
        // QsciLexerPostScript* QsciLexerPostScript(QObject*)
        x_QsciLexerPostScript* xret = new x_QsciLexerPostScript((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QsciLexerPostScript(QObject* x1) : QsciLexerPostScript(x1) {}
    void x_9(Smoke::Stack x) {
        // const char* language() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPostScript*>(this))) {
            const char* xret = ((const x_QsciLexerPostScript*)this)->QsciLexerPostScript::language();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPostScript*)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<QsciLexerPostScript*>(this))) {
            const char* xret = ((const x_QsciLexerPostScript*)this)->QsciLexerPostScript::lexer();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPostScript*)this)->lexer();
            x[0].s_class = (void*)xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // int braceStyle() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPostScript*>(this))) {
            int xret = ((const x_QsciLexerPostScript*)this)->QsciLexerPostScript::braceStyle();
            x[0].s_int = xret;
        } else {
            int xret = ((const x_QsciLexerPostScript*)this)->braceStyle();
            x[0].s_int = xret;
        }
    }
    void x_12(Smoke::Stack x) {
        // QColor defaultColor(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPostScript*>(this))) {
            QColor xret = ((const x_QsciLexerPostScript*)this)->QsciLexerPostScript::defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerPostScript*)this)->defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_13(Smoke::Stack x) {
        // QFont defaultFont(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPostScript*>(this))) {
            QFont xret = ((const x_QsciLexerPostScript*)this)->QsciLexerPostScript::defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        } else {
            QFont xret = ((const x_QsciLexerPostScript*)this)->defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        }
    }
    void x_14(Smoke::Stack x) {
        // QColor defaultPaper(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPostScript*>(this))) {
            QColor xret = ((const x_QsciLexerPostScript*)this)->QsciLexerPostScript::defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerPostScript*)this)->defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_15(Smoke::Stack x) {
        // const char* keywords(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPostScript*>(this))) {
            const char* xret = ((const x_QsciLexerPostScript*)this)->QsciLexerPostScript::keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerPostScript*)this)->keywords((int)x[1].s_int);
            x[0].s_class = (void*)xret;
        }
    }
    void x_16(Smoke::Stack x) {
        // QString description(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPostScript*>(this))) {
            QString xret = ((const x_QsciLexerPostScript*)this)->QsciLexerPostScript::description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QsciLexerPostScript*)this)->description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_17(Smoke::Stack x) {
        // void refreshProperties()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPostScript*>(this))) {
            this->QsciLexerPostScript::refreshProperties();
            (void)x; // noop (for compiler warning)
        } else {
            this->refreshProperties();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_18(Smoke::Stack x) {
        // bool tokenize() const
        bool xret = ((const x_QsciLexerPostScript*)this)->QsciLexerPostScript::tokenize();
        x[0].s_bool = xret;
    }
    void x_19(Smoke::Stack x) {
        // int level() const
        int xret = ((const x_QsciLexerPostScript*)this)->QsciLexerPostScript::level();
        x[0].s_int = xret;
    }
    void x_20(Smoke::Stack x) {
        // bool foldCompact() const
        bool xret = ((const x_QsciLexerPostScript*)this)->QsciLexerPostScript::foldCompact();
        x[0].s_bool = xret;
    }
    void x_21(Smoke::Stack x) {
        // bool foldAtElse() const
        bool xret = ((const x_QsciLexerPostScript*)this)->QsciLexerPostScript::foldAtElse();
        x[0].s_bool = xret;
    }
    void x_22(Smoke::Stack x) {
        // virtual void setTokenize(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPostScript*>(this))) {
            this->QsciLexerPostScript::setTokenize((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setTokenize((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_23(Smoke::Stack x) {
        // virtual void setLevel(int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPostScript*>(this))) {
            this->QsciLexerPostScript::setLevel((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->setLevel((int)x[1].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_24(Smoke::Stack x) {
        // virtual void setFoldCompact(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPostScript*>(this))) {
            this->QsciLexerPostScript::setFoldCompact((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setFoldCompact((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_25(Smoke::Stack x) {
        // virtual void setFoldAtElse(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPostScript*>(this))) {
            this->QsciLexerPostScript::setFoldAtElse((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->setFoldAtElse((bool)x[1].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_26(Smoke::Stack x) {
        // bool readProperties(QSettings&, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerPostScript*>(this))) {
            bool xret = this->QsciLexerPostScript::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<QsciLexerPostScript*>(this))) {
            bool xret = ((const x_QsciLexerPostScript*)this)->QsciLexerPostScript::writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerPostScript*)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 = QsciLexerPostScript::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 = QsciLexerPostScript::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) {
        // QsciLexerPostScript* QsciLexerPostScript()
        x_QsciLexerPostScript* xret = new x_QsciLexerPostScript((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_31(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QsciLexerPostScript::staticMetaObject;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPostScript::Default;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPostScript::Comment;
    }
    static void x_34(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPostScript::DSCComment;
    }
    static void x_35(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPostScript::DSCCommentValue;
    }
    static void x_36(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPostScript::Number;
    }
    static void x_37(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPostScript::Name;
    }
    static void x_38(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPostScript::Keyword;
    }
    static void x_39(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPostScript::Literal;
    }
    static void x_40(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPostScript::ImmediateEvalLiteral;
    }
    static void x_41(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPostScript::ArrayParenthesis;
    }
    static void x_42(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPostScript::DictionaryParenthesis;
    }
    static void x_43(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPostScript::ProcedureParenthesis;
    }
    static void x_44(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPostScript::Text;
    }
    static void x_45(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPostScript::HexString;
    }
    static void x_46(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPostScript::Base85String;
    }
    static void x_47(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerPostScript::BadStringCharacter;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1223, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QsciLexerPostScript::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1224, (void*)this, x)) return (void*)x[0].s_class;
        return this->QsciLexerPostScript::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(1229, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerPostScript::qt_metacall(x1, x2, x3);
    }
    virtual void setTokenize(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1244, (void*)this, x)) return;
        this->QsciLexerPostScript::setTokenize(x1);
    }
    virtual void setLevel(int x1) {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1245, (void*)this, x)) return;
        this->QsciLexerPostScript::setLevel(x1);
    }
    virtual void setFoldCompact(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1246, (void*)this, x)) return;
        this->QsciLexerPostScript::setFoldCompact(x1);
    }
    virtual void setFoldAtElse(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1247, (void*)this, x)) return;
        this->QsciLexerPostScript::setFoldAtElse(x1);
    }
    virtual const char* language() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1231, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPostScript::language();
    }
    virtual const char* lexer() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1232, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPostScript::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(1233, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerPostScript::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(1237, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerPostScript::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(1238, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPostScript::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(1234, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPostScript::defaultColor(x1);
    }
    virtual bool defaultEolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(241, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexer::defaultEolFill(x1);
    }
    virtual QFont defaultFont(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1235, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPostScript::defaultFont(x1);
    }
    virtual QColor defaultPaper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1236, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerPostScript::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(1239, (void*)this, x)) return;
        this->QsciLexerPostScript::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(1248, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerPostScript::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(1249, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerPostScript::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_QsciLexerPostScript() { this->_binding->deleted(74, (void*)this); }
};
void xcall_QsciLexerPostScript(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QsciLexerPostScript *xself = (x_QsciLexerPostScript*)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_QsciLexerPostScript::x_3(args);	break;
        case 4: x_QsciLexerPostScript::x_4(args);	break;
        case 5: x_QsciLexerPostScript::x_5(args);	break;
        case 6: x_QsciLexerPostScript::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QsciLexerPostScript::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_QsciLexerPostScript::x_28(args);	break;
        case 29: x_QsciLexerPostScript::x_29(args);	break;
        case 30: x_QsciLexerPostScript::x_30(args);	break;
        case 31: x_QsciLexerPostScript::x_31(args);	break;
        case 32: x_QsciLexerPostScript::x_32(args);	break;
        case 33: x_QsciLexerPostScript::x_33(args);	break;
        case 34: x_QsciLexerPostScript::x_34(args);	break;
        case 35: x_QsciLexerPostScript::x_35(args);	break;
        case 36: x_QsciLexerPostScript::x_36(args);	break;
        case 37: x_QsciLexerPostScript::x_37(args);	break;
        case 38: x_QsciLexerPostScript::x_38(args);	break;
        case 39: x_QsciLexerPostScript::x_39(args);	break;
        case 40: x_QsciLexerPostScript::x_40(args);	break;
        case 41: x_QsciLexerPostScript::x_41(args);	break;
        case 42: x_QsciLexerPostScript::x_42(args);	break;
        case 43: x_QsciLexerPostScript::x_43(args);	break;
        case 44: x_QsciLexerPostScript::x_44(args);	break;
        case 45: x_QsciLexerPostScript::x_45(args);	break;
        case 46: x_QsciLexerPostScript::x_46(args);	break;
        case 47: x_QsciLexerPostScript::x_47(args);	break;
        case 48: delete (QsciLexerPostScript*)xself;	break;
    }
}
class x_QsciLexerProperties : public QsciLexerProperties, 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<QsciLexerProperties*>(this))) {
            const QMetaObject* xret = ((const x_QsciLexerProperties*)this)->QsciLexerProperties::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QsciLexerProperties*)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<QsciLexerProperties*>(this))) {
            void* xret = this->QsciLexerProperties::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 = QsciLexerProperties::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 = QsciLexerProperties::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 = QsciLexerProperties::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 = QsciLexerProperties::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<QsciLexerProperties*>(this))) {
            int xret = this->QsciLexerProperties::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) {
        // QsciLexerProperties* QsciLexerProperties(QObject*)
        x_QsciLexerProperties* xret = new x_QsciLexerProperties((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QsciLexerProperties(QObject* x1) : QsciLexerProperties(x1) {}
    void x_9(Smoke::Stack x) {
        // const char* language() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerProperties*>(this))) {
            const char* xret = ((const x_QsciLexerProperties*)this)->QsciLexerProperties::language();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerProperties*)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<QsciLexerProperties*>(this))) {
            const char* xret = ((const x_QsciLexerProperties*)this)->QsciLexerProperties::lexer();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerProperties*)this)->lexer();
            x[0].s_class = (void*)xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // const char* wordCharacters() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerProperties*>(this))) {
            const char* xret = ((const x_QsciLexerProperties*)this)->QsciLexerProperties::wordCharacters();
            x[0].s_class = (void*)xret;
        } else {
            const char* xret = ((const x_QsciLexerProperties*)this)->wordCharacters();
            x[0].s_class = (void*)xret;
        }
    }
    void x_12(Smoke::Stack x) {
        // QColor defaultColor(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerProperties*>(this))) {
            QColor xret = ((const x_QsciLexerProperties*)this)->QsciLexerProperties::defaultColor((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerProperties*)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<QsciLexerProperties*>(this))) {
            bool xret = ((const x_QsciLexerProperties*)this)->QsciLexerProperties::defaultEolFill((int)x[1].s_int);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerProperties*)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<QsciLexerProperties*>(this))) {
            QFont xret = ((const x_QsciLexerProperties*)this)->QsciLexerProperties::defaultFont((int)x[1].s_int);
            x[0].s_class = (void*)new QFont(xret);
        } else {
            QFont xret = ((const x_QsciLexerProperties*)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<QsciLexerProperties*>(this))) {
            QColor xret = ((const x_QsciLexerProperties*)this)->QsciLexerProperties::defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        } else {
            QColor xret = ((const x_QsciLexerProperties*)this)->defaultPaper((int)x[1].s_int);
            x[0].s_class = (void*)new QColor(xret);
        }
    }
    void x_16(Smoke::Stack x) {
        // QString description(int) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerProperties*>(this))) {
            QString xret = ((const x_QsciLexerProperties*)this)->QsciLexerProperties::description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QsciLexerProperties*)this)->description((int)x[1].s_int);
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_17(Smoke::Stack x) {
        // void refreshProperties()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerProperties*>(this))) {
            this->QsciLexerProperties::refreshProperties();
            (void)x; // noop (for compiler warning)
        } else {
            this->refreshProperties();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_18(Smoke::Stack x) {
        // bool foldCompact() const
        bool xret = ((const x_QsciLexerProperties*)this)->QsciLexerProperties::foldCompact();
        x[0].s_bool = xret;
    }
    void x_19(Smoke::Stack x) {
        // void setInitialSpaces(bool)
        this->QsciLexerProperties::setInitialSpaces((bool)x[1].s_bool);
        (void)x; // noop (for compiler warning)
    }
    void x_20(Smoke::Stack x) {
        // bool initialSpaces() const
        bool xret = ((const x_QsciLexerProperties*)this)->QsciLexerProperties::initialSpaces();
        x[0].s_bool = xret;
    }
    void x_21(Smoke::Stack x) {
        // virtual void setFoldCompact(bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerProperties*>(this))) {
            this->QsciLexerProperties::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_22(Smoke::Stack x) {
        // bool readProperties(QSettings&, const QString&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerProperties*>(this))) {
            bool xret = this->QsciLexerProperties::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_23(Smoke::Stack x) {
        // bool writeProperties(QSettings&, const QString&) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QsciLexerProperties*>(this))) {
            bool xret = ((const x_QsciLexerProperties*)this)->QsciLexerProperties::writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QsciLexerProperties*)this)->writeProperties(*(QSettings*)x[1].s_class,*(const QString*)x[2].s_class);
            x[0].s_bool = xret;
        }
    }
    static void x_24(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QsciLexerProperties::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_25(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QsciLexerProperties::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_26(Smoke::Stack x) {
        // QsciLexerProperties* QsciLexerProperties()
        x_QsciLexerProperties* xret = new x_QsciLexerProperties((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_27(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QsciLexerProperties::staticMetaObject;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerProperties::Default;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerProperties::Comment;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerProperties::Section;
    }
    static void x_31(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerProperties::Assignment;
    }
    static void x_32(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerProperties::DefaultValue;
    }
    static void x_33(Smoke::Stack x) {
        x[0].s_enum = (long)QsciLexerProperties::Key;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1271, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QsciLexerProperties::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(1272, (void*)this, x)) return (void*)x[0].s_class;
        return this->QsciLexerProperties::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(1277, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexerProperties::qt_metacall(x1, x2, x3);
    }
    virtual void setFoldCompact(bool x1) {
        Smoke::StackItem x[2];
        x[1].s_bool = x1;
        if (this->_binding->callMethod(1291, (void*)this, x)) return;
        this->QsciLexerProperties::setFoldCompact(x1);
    }
    virtual const char* language() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1279, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerProperties::language();
    }
    virtual const char* lexer() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(1280, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerProperties::lexer();
    }
    virtual int lexerId() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(220, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::lexerId();
    }
    virtual const char* autoCompletionFillups() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(222, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::autoCompletionFillups();
    }
    virtual QStringList autoCompletionWordSeparators() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(223, (void*)this, x)) {
            QStringList* xptr = (QStringList*)x[0].s_class;
            QStringList xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::autoCompletionWordSeparators();
    }
    virtual const char* blockEnd(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(225, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::blockEnd(x1);
    }
    virtual int blockLookback() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(226, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::blockLookback();
    }
    virtual const char* blockStart(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(227, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::blockStart(x1);
    }
    virtual const char* blockStartKeyword(int* x1) const {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(228, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::blockStartKeyword(x1);
    }
    virtual int braceStyle() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(229, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::braceStyle();
    }
    virtual bool caseSensitive() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(230, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexer::caseSensitive();
    }
    virtual QColor color(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(231, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::color(x1);
    }
    virtual bool eolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(232, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexer::eolFill(x1);
    }
    virtual QFont font(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(233, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexer::font(x1);
    }
    virtual int indentationGuideView() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(234, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::indentationGuideView();
    }
    virtual const char* keywords(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(235, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexer::keywords(x1);
    }
    virtual int defaultStyle() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(236, (void*)this, x)) return (int)x[0].s_int;
        return this->QsciLexer::defaultStyle();
    }
    virtual QString description(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1286, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerProperties::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(1282, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerProperties::defaultColor(x1);
    }
    virtual bool defaultEolFill(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1283, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerProperties::defaultEolFill(x1);
    }
    virtual QFont defaultFont(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1284, (void*)this, x)) {
            QFont* xptr = (QFont*)x[0].s_class;
            QFont xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerProperties::defaultFont(x1);
    }
    virtual QColor defaultPaper(int x1) const {
        Smoke::StackItem x[2];
        x[1].s_int = x1;
        if (this->_binding->callMethod(1285, (void*)this, x)) {
            QColor* xptr = (QColor*)x[0].s_class;
            QColor xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QsciLexerProperties::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(1287, (void*)this, x)) return;
        this->QsciLexerProperties::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(1281, (void*)this, x)) return (const char*)x[0].s_class;
        return this->QsciLexerProperties::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(1292, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerProperties::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(1293, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QsciLexerProperties::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_QsciLexerProperties() { this->_binding->deleted(75, (void*)this); }
};
void xcall_QsciLexerProperties(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QsciLexerProperties *xself = (x_QsciLexerProperties*)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_QsciLexerProperties::x_3(args);	break;
        case 4: x_QsciLexerProperties::x_4(args);	break;
        case 5: x_QsciLexerProperties::x_5(args);	break;
        case 6: x_QsciLexerProperties::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QsciLexerProperties::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: x_QsciLexerProperties::x_24(args);	break;
        case 25: x_QsciLexerProperties::x_25(args);	break;
        case 26: x_QsciLexerProperties::x_26(args);	break;
        case 27: x_QsciLexerProperties::x_27(args);	break;
        case 28: x_QsciLexerProperties::x_28(args);	break;
        case 29: x_QsciLexerProperties::x_29(args);	break;
        case 30: x_QsciLexerProperties::x_30(args);	break;
        case 31: x_QsciLexerProperties::x_31(args);	break;
        case 32: x_QsciLexerProperties::x_32(args);	break;
        case 33: x_QsciLexerProperties::x_33(args);	break;
        case 34: delete (QsciLexerProperties*)xself;	break;
    }
}

}
