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

#include <smoke.h>
#include <qtscript_smoke.h>

class __internal_SmokeClass {};

namespace __smokeqtscript {

class x_QScriptClass : public QScriptClass, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QScriptClass* QScriptClass(QScriptEngine*)
        x_QScriptClass* xret = new x_QScriptClass((QScriptEngine*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptClass(QScriptEngine* x1) : QScriptClass(x1) {}
    void x_2(Smoke::Stack x) {
        // QScriptEngine* engine() const
        QScriptEngine* xret = ((const x_QScriptClass*)this)->QScriptClass::engine();
        x[0].s_class = (void*)xret;
    }
    void x_3(Smoke::Stack x) {
        // virtual QFlags<QScriptClass::QueryFlag> queryProperty(const QScriptValue&, const QScriptString&, QFlags<QScriptClass::QueryFlag>, unsigned int*)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptClass*>(this))) {
            QFlags<QScriptClass::QueryFlag> xret = this->QScriptClass::queryProperty(*(const QScriptValue*)x[1].s_class,*(const QScriptString*)x[2].s_class,(QFlags<QScriptClass::QueryFlag>)x[3].s_uint,(unsigned int*)x[4].s_class);
            x[0].s_uint = (uint)xret;
        } else {
            QFlags<QScriptClass::QueryFlag> xret = this->queryProperty(*(const QScriptValue*)x[1].s_class,*(const QScriptString*)x[2].s_class,(QFlags<QScriptClass::QueryFlag>)x[3].s_uint,(unsigned int*)x[4].s_class);
            x[0].s_uint = (uint)xret;
        }
    }
    void x_4(Smoke::Stack x) {
        // virtual QScriptValue property(const QScriptValue&, const QScriptString&, unsigned int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptClass*>(this))) {
            QScriptValue xret = this->QScriptClass::property(*(const QScriptValue*)x[1].s_class,*(const QScriptString*)x[2].s_class,(unsigned int)x[3].s_uint);
            x[0].s_class = (void*)new QScriptValue(xret);
        } else {
            QScriptValue xret = this->property(*(const QScriptValue*)x[1].s_class,*(const QScriptString*)x[2].s_class,(unsigned int)x[3].s_uint);
            x[0].s_class = (void*)new QScriptValue(xret);
        }
    }
    void x_5(Smoke::Stack x) {
        // virtual void setProperty(QScriptValue&, const QScriptString&, unsigned int, const QScriptValue&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptClass*>(this))) {
            this->QScriptClass::setProperty(*(QScriptValue*)x[1].s_class,*(const QScriptString*)x[2].s_class,(unsigned int)x[3].s_uint,*(const QScriptValue*)x[4].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->setProperty(*(QScriptValue*)x[1].s_class,*(const QScriptString*)x[2].s_class,(unsigned int)x[3].s_uint,*(const QScriptValue*)x[4].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_6(Smoke::Stack x) {
        // virtual QFlags<QScriptValue::PropertyFlag> propertyFlags(const QScriptValue&, const QScriptString&, unsigned int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptClass*>(this))) {
            QFlags<QScriptValue::PropertyFlag> xret = this->QScriptClass::propertyFlags(*(const QScriptValue*)x[1].s_class,*(const QScriptString*)x[2].s_class,(unsigned int)x[3].s_uint);
            x[0].s_uint = (uint)xret;
        } else {
            QFlags<QScriptValue::PropertyFlag> xret = this->propertyFlags(*(const QScriptValue*)x[1].s_class,*(const QScriptString*)x[2].s_class,(unsigned int)x[3].s_uint);
            x[0].s_uint = (uint)xret;
        }
    }
    void x_7(Smoke::Stack x) {
        // virtual QScriptClassPropertyIterator* newIterator(const QScriptValue&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptClass*>(this))) {
            QScriptClassPropertyIterator* xret = this->QScriptClass::newIterator(*(const QScriptValue*)x[1].s_class);
            x[0].s_class = (void*)xret;
        } else {
            QScriptClassPropertyIterator* xret = this->newIterator(*(const QScriptValue*)x[1].s_class);
            x[0].s_class = (void*)xret;
        }
    }
    void x_8(Smoke::Stack x) {
        // virtual QScriptValue prototype() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptClass*>(this))) {
            QScriptValue xret = ((const x_QScriptClass*)this)->QScriptClass::prototype();
            x[0].s_class = (void*)new QScriptValue(xret);
        } else {
            QScriptValue xret = ((const x_QScriptClass*)this)->prototype();
            x[0].s_class = (void*)new QScriptValue(xret);
        }
    }
    void x_9(Smoke::Stack x) {
        // virtual QString name() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptClass*>(this))) {
            QString xret = ((const x_QScriptClass*)this)->QScriptClass::name();
            x[0].s_class = (void*)new QString(xret);
        } else {
            QString xret = ((const x_QScriptClass*)this)->name();
            x[0].s_class = (void*)new QString(xret);
        }
    }
    void x_10(Smoke::Stack x) {
        // virtual bool supportsExtension(QScriptClass::Extension) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptClass*>(this))) {
            bool xret = ((const x_QScriptClass*)this)->QScriptClass::supportsExtension((QScriptClass::Extension)x[1].s_enum);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QScriptClass*)this)->supportsExtension((QScriptClass::Extension)x[1].s_enum);
            x[0].s_bool = xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // virtual QVariant extension(QScriptClass::Extension, const QVariant&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptClass*>(this))) {
            QVariant xret = this->QScriptClass::extension((QScriptClass::Extension)x[1].s_enum,*(const QVariant*)x[2].s_class);
            x[0].s_class = (void*)new QVariant(xret);
        } else {
            QVariant xret = this->extension((QScriptClass::Extension)x[1].s_enum,*(const QVariant*)x[2].s_class);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    static void x_12(Smoke::Stack x) {
        // QScriptClass* QScriptClass(QScriptEngine*, QScriptClassPrivate&)
        x_QScriptClass* xret = new x_QScriptClass((QScriptEngine*)x[1].s_class,*(QScriptClassPrivate*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptClass(QScriptEngine* x1, QScriptClassPrivate& x2) : QScriptClass(x1, x2) {}
    void x_13(Smoke::Stack x) {
        // QVariant extension(QScriptClass::Extension)
        QVariant xret = this->QScriptClass::extension((QScriptClass::Extension)x[1].s_enum,(const QVariant&)QVariant());
        x[0].s_class = (void*)new QVariant(xret);
    }
    static void x_14(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptClass::HandlesReadAccess;
    }
    static void x_15(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptClass::HandlesWriteAccess;
    }
    static void x_16(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptClass::Callable;
    }
    static void x_17(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptClass::HasInstance;
    }
    virtual QFlags<QScriptClass::QueryFlag> queryProperty(const QScriptValue& x1, const QScriptString& x2, QFlags<QScriptClass::QueryFlag> x3, unsigned int* x4) {
        Smoke::StackItem x[5];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_uint = (uint)x3;
        x[4].s_class = (void*)x4;
        if (this->_binding->callMethod(12, (void*)this, x)) return (QFlags<QScriptClass::QueryFlag>)x[0].s_uint;
        return this->QScriptClass::queryProperty(x1, x2, x3, x4);
    }
    virtual QScriptValue property(const QScriptValue& x1, const QScriptString& x2, unsigned int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_uint = x3;
        if (this->_binding->callMethod(13, (void*)this, x)) {
            QScriptValue* xptr = (QScriptValue*)x[0].s_class;
            QScriptValue xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QScriptClass::property(x1, x2, x3);
    }
    virtual void setProperty(QScriptValue& x1, const QScriptString& x2, unsigned int x3, const QScriptValue& x4) {
        Smoke::StackItem x[5];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_uint = x3;
        x[4].s_class = (void*)&x4;
        if (this->_binding->callMethod(14, (void*)this, x)) return;
        this->QScriptClass::setProperty(x1, x2, x3, x4);
    }
    virtual QFlags<QScriptValue::PropertyFlag> propertyFlags(const QScriptValue& x1, const QScriptString& x2, unsigned int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)&x2;
        x[3].s_uint = x3;
        if (this->_binding->callMethod(15, (void*)this, x)) return (QFlags<QScriptValue::PropertyFlag>)x[0].s_uint;
        return this->QScriptClass::propertyFlags(x1, x2, x3);
    }
    virtual QScriptClassPropertyIterator* newIterator(const QScriptValue& x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)&x1;
        if (this->_binding->callMethod(16, (void*)this, x)) return (QScriptClassPropertyIterator*)x[0].s_class;
        return this->QScriptClass::newIterator(x1);
    }
    virtual QScriptValue prototype() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(17, (void*)this, x)) {
            QScriptValue* xptr = (QScriptValue*)x[0].s_class;
            QScriptValue xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QScriptClass::prototype();
    }
    virtual QString name() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(18, (void*)this, x)) {
            QString* xptr = (QString*)x[0].s_class;
            QString xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QScriptClass::name();
    }
    virtual bool supportsExtension(QScriptClass::Extension x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(19, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QScriptClass::supportsExtension(x1);
    }
    virtual QVariant extension(QScriptClass::Extension x1, const QVariant& x2) {
        Smoke::StackItem x[3];
        x[1].s_enum = x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(20, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QScriptClass::extension(x1, x2);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 14: //QScriptClass::QueryFlag
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QScriptClass::QueryFlag;
                    break;
                case Smoke::EnumDelete:
                    delete (QScriptClass::QueryFlag*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QScriptClass::QueryFlag*)xdata = (QScriptClass::QueryFlag)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QScriptClass::QueryFlag*)xdata;
                    break;
            }
            break;
        case 13: //QScriptClass::Extension
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QScriptClass::Extension;
                    break;
                case Smoke::EnumDelete:
                    delete (QScriptClass::Extension*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QScriptClass::Extension*)xdata = (QScriptClass::Extension)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QScriptClass::Extension*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QScriptClass() { this->_binding->deleted(11, (void*)this); }
};
void xenum_QScriptClass(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QScriptClass::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QScriptClass(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QScriptClass *xself = (x_QScriptClass*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QScriptClass::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: x_QScriptClass::x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: x_QScriptClass::x_14(args);	break;
        case 15: x_QScriptClass::x_15(args);	break;
        case 16: x_QScriptClass::x_16(args);	break;
        case 17: x_QScriptClass::x_17(args);	break;
        case 18: delete (QScriptClass*)xself;	break;
    }
}
class x_QScriptClassPropertyIterator : public QScriptClassPropertyIterator, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QScriptClassPropertyIterator* QScriptClassPropertyIterator(const QScriptValue&)
        x_QScriptClassPropertyIterator* xret = new x_QScriptClassPropertyIterator(*(const QScriptValue*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptClassPropertyIterator(const QScriptValue& x1) : QScriptClassPropertyIterator(x1) {}
    void x_2(Smoke::Stack x) {
        // QScriptValue object() const
        QScriptValue xret = ((const x_QScriptClassPropertyIterator*)this)->QScriptClassPropertyIterator::object();
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_3(Smoke::Stack x) {
        // virtual bool hasNext() const = 0
        bool xret = ((const x_QScriptClassPropertyIterator*)this)->hasNext();
        x[0].s_bool = xret;
    }
    void x_4(Smoke::Stack x) {
        // virtual void next() = 0
        this->next();
        (void)x; // noop (for compiler warning)
    }
    void x_5(Smoke::Stack x) {
        // virtual bool hasPrevious() const = 0
        bool xret = ((const x_QScriptClassPropertyIterator*)this)->hasPrevious();
        x[0].s_bool = xret;
    }
    void x_6(Smoke::Stack x) {
        // virtual void previous() = 0
        this->previous();
        (void)x; // noop (for compiler warning)
    }
    void x_7(Smoke::Stack x) {
        // virtual void toFront() = 0
        this->toFront();
        (void)x; // noop (for compiler warning)
    }
    void x_8(Smoke::Stack x) {
        // virtual void toBack() = 0
        this->toBack();
        (void)x; // noop (for compiler warning)
    }
    void x_9(Smoke::Stack x) {
        // virtual QScriptString name() const = 0
        QScriptString xret = ((const x_QScriptClassPropertyIterator*)this)->name();
        x[0].s_class = (void*)new QScriptString(xret);
    }
    void x_10(Smoke::Stack x) {
        // virtual unsigned int id() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptClassPropertyIterator*>(this))) {
            unsigned int xret = ((const x_QScriptClassPropertyIterator*)this)->QScriptClassPropertyIterator::id();
            x[0].s_uint = xret;
        } else {
            unsigned int xret = ((const x_QScriptClassPropertyIterator*)this)->id();
            x[0].s_uint = xret;
        }
    }
    void x_11(Smoke::Stack x) {
        // virtual QFlags<QScriptValue::PropertyFlag> flags() const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptClassPropertyIterator*>(this))) {
            QFlags<QScriptValue::PropertyFlag> xret = ((const x_QScriptClassPropertyIterator*)this)->QScriptClassPropertyIterator::flags();
            x[0].s_uint = (uint)xret;
        } else {
            QFlags<QScriptValue::PropertyFlag> xret = ((const x_QScriptClassPropertyIterator*)this)->flags();
            x[0].s_uint = (uint)xret;
        }
    }
    static void x_12(Smoke::Stack x) {
        // QScriptClassPropertyIterator* QScriptClassPropertyIterator(const QScriptValue&, QScriptClassPropertyIteratorPrivate&)
        x_QScriptClassPropertyIterator* xret = new x_QScriptClassPropertyIterator(*(const QScriptValue*)x[1].s_class,*(QScriptClassPropertyIteratorPrivate*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptClassPropertyIterator(const QScriptValue& x1, QScriptClassPropertyIteratorPrivate& x2) : QScriptClassPropertyIterator(x1, x2) {}
    virtual bool hasNext() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(30, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual void next() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(31, (void*)this, x, true /*pure virtual*/);
    }
    virtual bool hasPrevious() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(32, (void*)this, x, true /*pure virtual*/);
        return (bool)x[0].s_bool;
    }
    virtual void previous() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(33, (void*)this, x, true /*pure virtual*/);
    }
    virtual void toFront() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(34, (void*)this, x, true /*pure virtual*/);
    }
    virtual void toBack() {
        Smoke::StackItem x[1];
        this->_binding->callMethod(35, (void*)this, x, true /*pure virtual*/);
    }
    virtual QScriptString name() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(36, (void*)this, x, true /*pure virtual*/);
        QScriptString* xptr = (QScriptString*)x[0].s_class;
        QScriptString xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual unsigned int id() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(37, (void*)this, x)) return (unsigned int)x[0].s_uint;
        return this->QScriptClassPropertyIterator::id();
    }
    virtual QFlags<QScriptValue::PropertyFlag> flags() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(38, (void*)this, x)) return (QFlags<QScriptValue::PropertyFlag>)x[0].s_uint;
        return this->QScriptClassPropertyIterator::flags();
    }
    ~x_QScriptClassPropertyIterator() { this->_binding->deleted(13, (void*)this); }
};
void xcall_QScriptClassPropertyIterator(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QScriptClassPropertyIterator *xself = (x_QScriptClassPropertyIterator*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QScriptClassPropertyIterator::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: x_QScriptClassPropertyIterator::x_12(args);	break;
        case 13: delete (QScriptClassPropertyIterator*)xself;	break;
    }
}
class x_QScriptContext : public QScriptContext {
public:
    void x_1(Smoke::Stack x) {
        // QScriptContext* parentContext() const
        QScriptContext* xret = ((const x_QScriptContext*)this)->QScriptContext::parentContext();
        x[0].s_class = (void*)xret;
    }
    void x_2(Smoke::Stack x) {
        // QScriptEngine* engine() const
        QScriptEngine* xret = ((const x_QScriptContext*)this)->QScriptContext::engine();
        x[0].s_class = (void*)xret;
    }
    void x_3(Smoke::Stack x) {
        // QScriptContext::ExecutionState state() const
        QScriptContext::ExecutionState xret = ((const x_QScriptContext*)this)->QScriptContext::state();
        x[0].s_enum = xret;
    }
    void x_4(Smoke::Stack x) {
        // QScriptValue callee() const
        QScriptValue xret = ((const x_QScriptContext*)this)->QScriptContext::callee();
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_5(Smoke::Stack x) {
        // int argumentCount() const
        int xret = ((const x_QScriptContext*)this)->QScriptContext::argumentCount();
        x[0].s_int = xret;
    }
    void x_6(Smoke::Stack x) {
        // QScriptValue argument(int) const
        QScriptValue xret = ((const x_QScriptContext*)this)->QScriptContext::argument((int)x[1].s_int);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_7(Smoke::Stack x) {
        // QScriptValue argumentsObject() const
        QScriptValue xret = ((const x_QScriptContext*)this)->QScriptContext::argumentsObject();
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_8(Smoke::Stack x) {
        // QList<QScriptValue> scopeChain() const
        QList<QScriptValue> xret = ((const x_QScriptContext*)this)->QScriptContext::scopeChain();
        x[0].s_class = (void*)new QList<QScriptValue>(xret);
    }
    void x_9(Smoke::Stack x) {
        // void pushScope(const QScriptValue&)
        this->QScriptContext::pushScope(*(const QScriptValue*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // QScriptValue popScope()
        QScriptValue xret = this->QScriptContext::popScope();
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_11(Smoke::Stack x) {
        // QScriptValue returnValue() const
        QScriptValue xret = ((const x_QScriptContext*)this)->QScriptContext::returnValue();
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_12(Smoke::Stack x) {
        // void setReturnValue(const QScriptValue&)
        this->QScriptContext::setReturnValue(*(const QScriptValue*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // QScriptValue activationObject() const
        QScriptValue xret = ((const x_QScriptContext*)this)->QScriptContext::activationObject();
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_14(Smoke::Stack x) {
        // void setActivationObject(const QScriptValue&)
        this->QScriptContext::setActivationObject(*(const QScriptValue*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // QScriptValue thisObject() const
        QScriptValue xret = ((const x_QScriptContext*)this)->QScriptContext::thisObject();
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_16(Smoke::Stack x) {
        // void setThisObject(const QScriptValue&)
        this->QScriptContext::setThisObject(*(const QScriptValue*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_17(Smoke::Stack x) {
        // bool isCalledAsConstructor() const
        bool xret = ((const x_QScriptContext*)this)->QScriptContext::isCalledAsConstructor();
        x[0].s_bool = xret;
    }
    void x_18(Smoke::Stack x) {
        // QScriptValue throwValue(const QScriptValue&)
        QScriptValue xret = this->QScriptContext::throwValue(*(const QScriptValue*)x[1].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_19(Smoke::Stack x) {
        // QScriptValue throwError(QScriptContext::Error, const QString&)
        QScriptValue xret = this->QScriptContext::throwError((QScriptContext::Error)x[1].s_enum,*(const QString*)x[2].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_20(Smoke::Stack x) {
        // QScriptValue throwError(const QString&)
        QScriptValue xret = this->QScriptContext::throwError(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_21(Smoke::Stack x) {
        // QStringList backtrace() const
        QStringList xret = ((const x_QScriptContext*)this)->QScriptContext::backtrace();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_22(Smoke::Stack x) {
        // QString toString() const
        QString xret = ((const x_QScriptContext*)this)->QScriptContext::toString();
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_23(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptContext::NormalState;
    }
    static void x_24(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptContext::ExceptionState;
    }
    static void x_25(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptContext::UnknownError;
    }
    static void x_26(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptContext::ReferenceError;
    }
    static void x_27(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptContext::SyntaxError;
    }
    static void x_28(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptContext::TypeError;
    }
    static void x_29(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptContext::RangeError;
    }
    static void x_30(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptContext::URIError;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 20: //QScriptContext::ExecutionState
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QScriptContext::ExecutionState;
                    break;
                case Smoke::EnumDelete:
                    delete (QScriptContext::ExecutionState*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QScriptContext::ExecutionState*)xdata = (QScriptContext::ExecutionState)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QScriptContext::ExecutionState*)xdata;
                    break;
            }
            break;
        case 19: //QScriptContext::Error
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QScriptContext::Error;
                    break;
                case Smoke::EnumDelete:
                    delete (QScriptContext::Error*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QScriptContext::Error*)xdata = (QScriptContext::Error)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QScriptContext::Error*)xdata;
                    break;
            }
            break;
        }
    }
};
void xenum_QScriptContext(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QScriptContext::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QScriptContext(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QScriptContext *xself = (x_QScriptContext*)obj;
    switch(xi) {
        case 1: xself->x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: x_QScriptContext::x_23(args);	break;
        case 24: x_QScriptContext::x_24(args);	break;
        case 25: x_QScriptContext::x_25(args);	break;
        case 26: x_QScriptContext::x_26(args);	break;
        case 27: x_QScriptContext::x_27(args);	break;
        case 28: x_QScriptContext::x_28(args);	break;
        case 29: x_QScriptContext::x_29(args);	break;
        case 30: x_QScriptContext::x_30(args);	break;
        case 31: delete (QScriptContext*)xself;	break;
    }
}
class x_QScriptContextInfo : public QScriptContextInfo {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QScriptContextInfo* QScriptContextInfo(const QScriptContext*)
        x_QScriptContextInfo* xret = new x_QScriptContextInfo((const QScriptContext*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptContextInfo(const QScriptContext* x1) : QScriptContextInfo(x1) {}
    static void x_2(Smoke::Stack x) {
        // QScriptContextInfo* QScriptContextInfo(const QScriptContextInfo&)
        x_QScriptContextInfo* xret = new x_QScriptContextInfo(*(const QScriptContextInfo*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptContextInfo(const QScriptContextInfo& x1) : QScriptContextInfo(x1) {}
    static void x_3(Smoke::Stack x) {
        // QScriptContextInfo* QScriptContextInfo()
        x_QScriptContextInfo* xret = new x_QScriptContextInfo();
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptContextInfo() : QScriptContextInfo() {}
    void x_4(Smoke::Stack x) {
        // QScriptContextInfo& operator=(const QScriptContextInfo&)
        QScriptContextInfo& xret = this->QScriptContextInfo::operator=(*(const QScriptContextInfo*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_5(Smoke::Stack x) {
        // bool isNull() const
        bool xret = ((const x_QScriptContextInfo*)this)->QScriptContextInfo::isNull();
        x[0].s_bool = xret;
    }
    void x_6(Smoke::Stack x) {
        // long long scriptId() const
        long long xret = ((const x_QScriptContextInfo*)this)->QScriptContextInfo::scriptId();
        x[0].s_class = (void*)new long long(xret);
    }
    void x_7(Smoke::Stack x) {
        // QString fileName() const
        QString xret = ((const x_QScriptContextInfo*)this)->QScriptContextInfo::fileName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_8(Smoke::Stack x) {
        // int lineNumber() const
        int xret = ((const x_QScriptContextInfo*)this)->QScriptContextInfo::lineNumber();
        x[0].s_int = xret;
    }
    void x_9(Smoke::Stack x) {
        // int columnNumber() const
        int xret = ((const x_QScriptContextInfo*)this)->QScriptContextInfo::columnNumber();
        x[0].s_int = xret;
    }
    void x_10(Smoke::Stack x) {
        // QString functionName() const
        QString xret = ((const x_QScriptContextInfo*)this)->QScriptContextInfo::functionName();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_11(Smoke::Stack x) {
        // QScriptContextInfo::FunctionType functionType() const
        QScriptContextInfo::FunctionType xret = ((const x_QScriptContextInfo*)this)->QScriptContextInfo::functionType();
        x[0].s_enum = xret;
    }
    void x_12(Smoke::Stack x) {
        // QStringList functionParameterNames() const
        QStringList xret = ((const x_QScriptContextInfo*)this)->QScriptContextInfo::functionParameterNames();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_13(Smoke::Stack x) {
        // int functionStartLineNumber() const
        int xret = ((const x_QScriptContextInfo*)this)->QScriptContextInfo::functionStartLineNumber();
        x[0].s_int = xret;
    }
    void x_14(Smoke::Stack x) {
        // int functionEndLineNumber() const
        int xret = ((const x_QScriptContextInfo*)this)->QScriptContextInfo::functionEndLineNumber();
        x[0].s_int = xret;
    }
    void x_15(Smoke::Stack x) {
        // int functionMetaIndex() const
        int xret = ((const x_QScriptContextInfo*)this)->QScriptContextInfo::functionMetaIndex();
        x[0].s_int = xret;
    }
    void x_16(Smoke::Stack x) {
        // bool operator==(const QScriptContextInfo&) const
        bool xret = ((const x_QScriptContextInfo*)this)->QScriptContextInfo::operator==(*(const QScriptContextInfo*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_17(Smoke::Stack x) {
        // bool operator!=(const QScriptContextInfo&) const
        bool xret = ((const x_QScriptContextInfo*)this)->QScriptContextInfo::operator!=(*(const QScriptContextInfo*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_18(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptContextInfo::ScriptFunction;
    }
    static void x_19(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptContextInfo::QtFunction;
    }
    static void x_20(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptContextInfo::QtPropertyFunction;
    }
    static void x_21(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptContextInfo::NativeFunction;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 23: //QScriptContextInfo::FunctionType
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QScriptContextInfo::FunctionType;
                    break;
                case Smoke::EnumDelete:
                    delete (QScriptContextInfo::FunctionType*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QScriptContextInfo::FunctionType*)xdata = (QScriptContextInfo::FunctionType)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QScriptContextInfo::FunctionType*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QScriptContextInfo() { this->_binding->deleted(16, (void*)this); }
};
void xenum_QScriptContextInfo(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QScriptContextInfo::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QScriptContextInfo(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QScriptContextInfo *xself = (x_QScriptContextInfo*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QScriptContextInfo::x_1(args);	break;
        case 2: x_QScriptContextInfo::x_2(args);	break;
        case 3: x_QScriptContextInfo::x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: x_QScriptContextInfo::x_18(args);	break;
        case 19: x_QScriptContextInfo::x_19(args);	break;
        case 20: x_QScriptContextInfo::x_20(args);	break;
        case 21: x_QScriptContextInfo::x_21(args);	break;
        case 22: delete (QScriptContextInfo*)xself;	break;
    }
}
class x_QScriptEngine : public QScriptEngine, 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<QScriptEngine*>(this))) {
            const QMetaObject* xret = ((const x_QScriptEngine*)this)->QScriptEngine::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QScriptEngine*)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<QScriptEngine*>(this))) {
            void* xret = this->QScriptEngine::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 = QScriptEngine::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 = QScriptEngine::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 = QScriptEngine::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 = QScriptEngine::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<QScriptEngine*>(this))) {
            int xret = this->QScriptEngine::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) {
        // QScriptEngine* QScriptEngine()
        x_QScriptEngine* xret = new x_QScriptEngine();
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptEngine() : QScriptEngine() {}
    static void x_9(Smoke::Stack x) {
        // QScriptEngine* QScriptEngine(QObject*)
        x_QScriptEngine* xret = new x_QScriptEngine((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptEngine(QObject* x1) : QScriptEngine(x1) {}
    void x_10(Smoke::Stack x) {
        // QScriptValue globalObject() const
        QScriptValue xret = ((const x_QScriptEngine*)this)->QScriptEngine::globalObject();
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_11(Smoke::Stack x) {
        // void setGlobalObject(const QScriptValue&)
        this->QScriptEngine::setGlobalObject(*(const QScriptValue*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // QScriptContext* currentContext() const
        QScriptContext* xret = ((const x_QScriptEngine*)this)->QScriptEngine::currentContext();
        x[0].s_class = (void*)xret;
    }
    void x_13(Smoke::Stack x) {
        // QScriptContext* pushContext()
        QScriptContext* xret = this->QScriptEngine::pushContext();
        x[0].s_class = (void*)xret;
    }
    void x_14(Smoke::Stack x) {
        // void popContext()
        this->QScriptEngine::popContext();
        (void)x; // noop (for compiler warning)
    }
    void x_15(Smoke::Stack x) {
        // bool canEvaluate(const QString&) const
        bool xret = ((const x_QScriptEngine*)this)->QScriptEngine::canEvaluate(*(const QString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    static void x_16(Smoke::Stack x) {
        // static QScriptSyntaxCheckResult checkSyntax(const QString&)
        QScriptSyntaxCheckResult xret = QScriptEngine::checkSyntax(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QScriptSyntaxCheckResult(xret);
    }
    void x_17(Smoke::Stack x) {
        // QScriptValue evaluate(const QString&, const QString&, int)
        QScriptValue xret = this->QScriptEngine::evaluate(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_18(Smoke::Stack x) {
        // QScriptValue evaluate(const QScriptProgram&)
        QScriptValue xret = this->QScriptEngine::evaluate(*(const QScriptProgram*)x[1].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_19(Smoke::Stack x) {
        // bool isEvaluating() const
        bool xret = ((const x_QScriptEngine*)this)->QScriptEngine::isEvaluating();
        x[0].s_bool = xret;
    }
    void x_20(Smoke::Stack x) {
        // void abortEvaluation(const QScriptValue&)
        this->QScriptEngine::abortEvaluation(*(const QScriptValue*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_21(Smoke::Stack x) {
        // bool hasUncaughtException() const
        bool xret = ((const x_QScriptEngine*)this)->QScriptEngine::hasUncaughtException();
        x[0].s_bool = xret;
    }
    void x_22(Smoke::Stack x) {
        // QScriptValue uncaughtException() const
        QScriptValue xret = ((const x_QScriptEngine*)this)->QScriptEngine::uncaughtException();
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_23(Smoke::Stack x) {
        // int uncaughtExceptionLineNumber() const
        int xret = ((const x_QScriptEngine*)this)->QScriptEngine::uncaughtExceptionLineNumber();
        x[0].s_int = xret;
    }
    void x_24(Smoke::Stack x) {
        // QStringList uncaughtExceptionBacktrace() const
        QStringList xret = ((const x_QScriptEngine*)this)->QScriptEngine::uncaughtExceptionBacktrace();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_25(Smoke::Stack x) {
        // void clearExceptions()
        this->QScriptEngine::clearExceptions();
        (void)x; // noop (for compiler warning)
    }
    void x_26(Smoke::Stack x) {
        // QScriptValue nullValue()
        QScriptValue xret = this->QScriptEngine::nullValue();
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_27(Smoke::Stack x) {
        // QScriptValue undefinedValue()
        QScriptValue xret = this->QScriptEngine::undefinedValue();
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_28(Smoke::Stack x) {
        // QScriptValue newFunction(QScriptValue(*)(QScriptContext*,QScriptEngine*), int)
        QScriptValue xret = this->QScriptEngine::newFunction((QScriptValue(*)(QScriptContext*,QScriptEngine*))x[1].s_class,(int)x[2].s_int);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_29(Smoke::Stack x) {
        // QScriptValue newFunction(QScriptValue(*)(QScriptContext*,QScriptEngine*), const QScriptValue&, int)
        QScriptValue xret = this->QScriptEngine::newFunction((QScriptValue(*)(QScriptContext*,QScriptEngine*))x[1].s_class,*(const QScriptValue*)x[2].s_class,(int)x[3].s_int);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_30(Smoke::Stack x) {
        // QScriptValue newFunction(QScriptValue(*)(QScriptContext*,QScriptEngine*,void*), void*)
        QScriptValue xret = this->QScriptEngine::newFunction((QScriptValue(*)(QScriptContext*,QScriptEngine*,void*))x[1].s_class,(void*)x[2].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_31(Smoke::Stack x) {
        // QScriptValue newVariant(const QVariant&)
        QScriptValue xret = this->QScriptEngine::newVariant(*(const QVariant*)x[1].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_32(Smoke::Stack x) {
        // QScriptValue newVariant(const QScriptValue&, const QVariant&)
        QScriptValue xret = this->QScriptEngine::newVariant(*(const QScriptValue*)x[1].s_class,*(const QVariant*)x[2].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_33(Smoke::Stack x) {
        // QScriptValue newRegExp(const QRegExp&)
        QScriptValue xret = this->QScriptEngine::newRegExp(*(const QRegExp*)x[1].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_34(Smoke::Stack x) {
        // QScriptValue newObject()
        QScriptValue xret = this->QScriptEngine::newObject();
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_35(Smoke::Stack x) {
        // QScriptValue newObject(QScriptClass*, const QScriptValue&)
        QScriptValue xret = this->QScriptEngine::newObject((QScriptClass*)x[1].s_class,*(const QScriptValue*)x[2].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_36(Smoke::Stack x) {
        // QScriptValue newArray(unsigned int)
        QScriptValue xret = this->QScriptEngine::newArray((unsigned int)x[1].s_uint);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_37(Smoke::Stack x) {
        // QScriptValue newRegExp(const QString&, const QString&)
        QScriptValue xret = this->QScriptEngine::newRegExp(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_38(Smoke::Stack x) {
        // QScriptValue newDate(double)
        QScriptValue xret = this->QScriptEngine::newDate((double)x[1].s_double);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_39(Smoke::Stack x) {
        // QScriptValue newDate(const QDateTime&)
        QScriptValue xret = this->QScriptEngine::newDate(*(const QDateTime*)x[1].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_40(Smoke::Stack x) {
        // QScriptValue newActivationObject()
        QScriptValue xret = this->QScriptEngine::newActivationObject();
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_41(Smoke::Stack x) {
        // QScriptValue newQObject(QObject*, QScriptEngine::ValueOwnership, const QFlags<QScriptEngine::QObjectWrapOption>&)
        QScriptValue xret = this->QScriptEngine::newQObject((QObject*)x[1].s_class,(QScriptEngine::ValueOwnership)x[2].s_enum,*(const QFlags<QScriptEngine::QObjectWrapOption>*)x[3].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_42(Smoke::Stack x) {
        // QScriptValue newQObject(const QScriptValue&, QObject*, QScriptEngine::ValueOwnership, const QFlags<QScriptEngine::QObjectWrapOption>&)
        QScriptValue xret = this->QScriptEngine::newQObject(*(const QScriptValue*)x[1].s_class,(QObject*)x[2].s_class,(QScriptEngine::ValueOwnership)x[3].s_enum,*(const QFlags<QScriptEngine::QObjectWrapOption>*)x[4].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_43(Smoke::Stack x) {
        // QScriptValue newQMetaObject(const QMetaObject*, const QScriptValue&)
        QScriptValue xret = this->QScriptEngine::newQMetaObject((const QMetaObject*)x[1].s_class,*(const QScriptValue*)x[2].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_44(Smoke::Stack x) {
        // QScriptValue defaultPrototype(int) const
        QScriptValue xret = ((const x_QScriptEngine*)this)->QScriptEngine::defaultPrototype((int)x[1].s_int);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_45(Smoke::Stack x) {
        // void setDefaultPrototype(int, const QScriptValue&)
        this->QScriptEngine::setDefaultPrototype((int)x[1].s_int,*(const QScriptValue*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_46(Smoke::Stack x) {
        // void installTranslatorFunctions(const QScriptValue&)
        this->QScriptEngine::installTranslatorFunctions(*(const QScriptValue*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_47(Smoke::Stack x) {
        // QScriptValue importExtension(const QString&)
        QScriptValue xret = this->QScriptEngine::importExtension(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_48(Smoke::Stack x) {
        // QStringList availableExtensions() const
        QStringList xret = ((const x_QScriptEngine*)this)->QScriptEngine::availableExtensions();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_49(Smoke::Stack x) {
        // QStringList importedExtensions() const
        QStringList xret = ((const x_QScriptEngine*)this)->QScriptEngine::importedExtensions();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_50(Smoke::Stack x) {
        // void collectGarbage()
        this->QScriptEngine::collectGarbage();
        (void)x; // noop (for compiler warning)
    }
    void x_51(Smoke::Stack x) {
        // void reportAdditionalMemoryCost(int)
        this->QScriptEngine::reportAdditionalMemoryCost((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_52(Smoke::Stack x) {
        // void setProcessEventsInterval(int)
        this->QScriptEngine::setProcessEventsInterval((int)x[1].s_int);
        (void)x; // noop (for compiler warning)
    }
    void x_53(Smoke::Stack x) {
        // int processEventsInterval() const
        int xret = ((const x_QScriptEngine*)this)->QScriptEngine::processEventsInterval();
        x[0].s_int = xret;
    }
    void x_54(Smoke::Stack x) {
        // void setAgent(QScriptEngineAgent*)
        this->QScriptEngine::setAgent((QScriptEngineAgent*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_55(Smoke::Stack x) {
        // QScriptEngineAgent* agent() const
        QScriptEngineAgent* xret = ((const x_QScriptEngine*)this)->QScriptEngine::agent();
        x[0].s_class = (void*)xret;
    }
    void x_56(Smoke::Stack x) {
        // QScriptString toStringHandle(const QString&)
        QScriptString xret = this->QScriptEngine::toStringHandle(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)new QScriptString(xret);
    }
    void x_57(Smoke::Stack x) {
        // QScriptValue toObject(const QScriptValue&)
        QScriptValue xret = this->QScriptEngine::toObject(*(const QScriptValue*)x[1].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_58(Smoke::Stack x) {
        // QScriptValue objectById(long long) const
        QScriptValue xret = ((const x_QScriptEngine*)this)->QScriptEngine::objectById(*(long long*)x[1].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_59(Smoke::Stack x) {
        // void signalHandlerException(const QScriptValue&)
        this->QScriptEngine::signalHandlerException(*(const QScriptValue*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_60(Smoke::Stack x) {
        // QScriptEngine* QScriptEngine(QScriptEnginePrivate&, QObject*)
        x_QScriptEngine* xret = new x_QScriptEngine(*(QScriptEnginePrivate*)x[1].s_class,(QObject*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptEngine(QScriptEnginePrivate& x1, QObject* x2) : QScriptEngine(x1, x2) {}
    static void x_61(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QScriptEngine::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_62(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QScriptEngine::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    void x_63(Smoke::Stack x) {
        // QScriptValue evaluate(const QString&)
        QScriptValue xret = this->QScriptEngine::evaluate(*(const QString*)x[1].s_class,(const QString&)QString(),(int)1);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_64(Smoke::Stack x) {
        // QScriptValue evaluate(const QString&, const QString&)
        QScriptValue xret = this->QScriptEngine::evaluate(*(const QString*)x[1].s_class,*(const QString*)x[2].s_class,(int)1);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_65(Smoke::Stack x) {
        // void abortEvaluation()
        this->QScriptEngine::abortEvaluation((const QScriptValue&)QScriptValue());
        (void)x; // noop (for compiler warning)
    }
    void x_66(Smoke::Stack x) {
        // QScriptValue newFunction(QScriptValue(*)(QScriptContext*,QScriptEngine*))
        QScriptValue xret = this->QScriptEngine::newFunction((QScriptValue(*)(QScriptContext*,QScriptEngine*))x[1].s_class,(int)0);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_67(Smoke::Stack x) {
        // QScriptValue newFunction(QScriptValue(*)(QScriptContext*,QScriptEngine*), const QScriptValue&)
        QScriptValue xret = this->QScriptEngine::newFunction((QScriptValue(*)(QScriptContext*,QScriptEngine*))x[1].s_class,*(const QScriptValue*)x[2].s_class,(int)0);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_68(Smoke::Stack x) {
        // QScriptValue newObject(QScriptClass*)
        QScriptValue xret = this->QScriptEngine::newObject((QScriptClass*)x[1].s_class,(const QScriptValue&)QScriptValue());
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_69(Smoke::Stack x) {
        // QScriptValue newArray()
        QScriptValue xret = this->QScriptEngine::newArray((unsigned int)0);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_70(Smoke::Stack x) {
        // QScriptValue newQObject(QObject*)
        QScriptValue xret = this->QScriptEngine::newQObject((QObject*)x[1].s_class,(QScriptEngine::ValueOwnership)QScriptEngine::QtOwnership,(const QFlags<QScriptEngine::QObjectWrapOption>&)0);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_71(Smoke::Stack x) {
        // QScriptValue newQObject(QObject*, QScriptEngine::ValueOwnership)
        QScriptValue xret = this->QScriptEngine::newQObject((QObject*)x[1].s_class,(QScriptEngine::ValueOwnership)x[2].s_enum,(const QFlags<QScriptEngine::QObjectWrapOption>&)0);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_72(Smoke::Stack x) {
        // QScriptValue newQObject(const QScriptValue&, QObject*)
        QScriptValue xret = this->QScriptEngine::newQObject(*(const QScriptValue*)x[1].s_class,(QObject*)x[2].s_class,(QScriptEngine::ValueOwnership)QScriptEngine::QtOwnership,(const QFlags<QScriptEngine::QObjectWrapOption>&)0);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_73(Smoke::Stack x) {
        // QScriptValue newQObject(const QScriptValue&, QObject*, QScriptEngine::ValueOwnership)
        QScriptValue xret = this->QScriptEngine::newQObject(*(const QScriptValue*)x[1].s_class,(QObject*)x[2].s_class,(QScriptEngine::ValueOwnership)x[3].s_enum,(const QFlags<QScriptEngine::QObjectWrapOption>&)0);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_74(Smoke::Stack x) {
        // QScriptValue newQMetaObject(const QMetaObject*)
        QScriptValue xret = this->QScriptEngine::newQMetaObject((const QMetaObject*)x[1].s_class,(const QScriptValue&)QScriptValue());
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_75(Smoke::Stack x) {
        // void installTranslatorFunctions()
        this->QScriptEngine::installTranslatorFunctions((const QScriptValue&)QScriptValue());
        (void)x; // noop (for compiler warning)
    }
    static void x_76(Smoke::Stack x) {
        // QScriptEngine* QScriptEngine(QScriptEnginePrivate&)
        x_QScriptEngine* xret = new x_QScriptEngine(*(QScriptEnginePrivate*)x[1].s_class,(QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_77(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QScriptEngine::staticMetaObject;
    }
    static void x_78(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptEngine::QtOwnership;
    }
    static void x_79(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptEngine::ScriptOwnership;
    }
    static void x_80(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptEngine::AutoOwnership;
    }
    static void x_81(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptEngine::ExcludeChildObjects;
    }
    static void x_82(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptEngine::ExcludeSuperClassMethods;
    }
    static void x_83(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptEngine::ExcludeSuperClassProperties;
    }
    static void x_84(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptEngine::ExcludeSuperClassContents;
    }
    static void x_85(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptEngine::SkipMethodsInEnumeration;
    }
    static void x_86(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptEngine::ExcludeDeleteLater;
    }
    static void x_87(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptEngine::ExcludeSlots;
    }
    static void x_88(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptEngine::AutoCreateDynamicProperties;
    }
    static void x_89(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptEngine::PreferExistingWrapperObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(94, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QScriptEngine::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(95, (void*)this, x)) return (void*)x[0].s_class;
        return this->QScriptEngine::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(100, (void*)this, x)) return (int)x[0].s_int;
        return this->QScriptEngine::qt_metacall(x1, x2, x3);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3, (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(4, (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(5, (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(6, (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(7, (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(8, (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(9, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 26: //QScriptEngine::ValueOwnership
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QScriptEngine::ValueOwnership;
                    break;
                case Smoke::EnumDelete:
                    delete (QScriptEngine::ValueOwnership*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QScriptEngine::ValueOwnership*)xdata = (QScriptEngine::ValueOwnership)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QScriptEngine::ValueOwnership*)xdata;
                    break;
            }
            break;
        case 25: //QScriptEngine::QObjectWrapOption
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QScriptEngine::QObjectWrapOption;
                    break;
                case Smoke::EnumDelete:
                    delete (QScriptEngine::QObjectWrapOption*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QScriptEngine::QObjectWrapOption*)xdata = (QScriptEngine::QObjectWrapOption)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QScriptEngine::QObjectWrapOption*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QScriptEngine() { this->_binding->deleted(17, (void*)this); }
};
void xenum_QScriptEngine(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QScriptEngine::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QScriptEngine(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QScriptEngine *xself = (x_QScriptEngine*)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_QScriptEngine::x_3(args);	break;
        case 4: x_QScriptEngine::x_4(args);	break;
        case 5: x_QScriptEngine::x_5(args);	break;
        case 6: x_QScriptEngine::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QScriptEngine::x_8(args);	break;
        case 9: x_QScriptEngine::x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: x_QScriptEngine::x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: xself->x_40(args);	break;
        case 41: xself->x_41(args);	break;
        case 42: xself->x_42(args);	break;
        case 43: xself->x_43(args);	break;
        case 44: xself->x_44(args);	break;
        case 45: xself->x_45(args);	break;
        case 46: xself->x_46(args);	break;
        case 47: xself->x_47(args);	break;
        case 48: xself->x_48(args);	break;
        case 49: xself->x_49(args);	break;
        case 50: xself->x_50(args);	break;
        case 51: xself->x_51(args);	break;
        case 52: xself->x_52(args);	break;
        case 53: xself->x_53(args);	break;
        case 54: xself->x_54(args);	break;
        case 55: xself->x_55(args);	break;
        case 56: xself->x_56(args);	break;
        case 57: xself->x_57(args);	break;
        case 58: xself->x_58(args);	break;
        case 59: xself->x_59(args);	break;
        case 60: x_QScriptEngine::x_60(args);	break;
        case 61: x_QScriptEngine::x_61(args);	break;
        case 62: x_QScriptEngine::x_62(args);	break;
        case 63: xself->x_63(args);	break;
        case 64: xself->x_64(args);	break;
        case 65: xself->x_65(args);	break;
        case 66: xself->x_66(args);	break;
        case 67: xself->x_67(args);	break;
        case 68: xself->x_68(args);	break;
        case 69: xself->x_69(args);	break;
        case 70: xself->x_70(args);	break;
        case 71: xself->x_71(args);	break;
        case 72: xself->x_72(args);	break;
        case 73: xself->x_73(args);	break;
        case 74: xself->x_74(args);	break;
        case 75: xself->x_75(args);	break;
        case 76: x_QScriptEngine::x_76(args);	break;
        case 77: x_QScriptEngine::x_77(args);	break;
        case 78: x_QScriptEngine::x_78(args);	break;
        case 79: x_QScriptEngine::x_79(args);	break;
        case 80: x_QScriptEngine::x_80(args);	break;
        case 81: x_QScriptEngine::x_81(args);	break;
        case 82: x_QScriptEngine::x_82(args);	break;
        case 83: x_QScriptEngine::x_83(args);	break;
        case 84: x_QScriptEngine::x_84(args);	break;
        case 85: x_QScriptEngine::x_85(args);	break;
        case 86: x_QScriptEngine::x_86(args);	break;
        case 87: x_QScriptEngine::x_87(args);	break;
        case 88: x_QScriptEngine::x_88(args);	break;
        case 89: x_QScriptEngine::x_89(args);	break;
        case 90: delete (QScriptEngine*)xself;	break;
    }
}
class x_QScriptEngineAgent : public QScriptEngineAgent, public __internal_SmokeClass {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QScriptEngineAgent* QScriptEngineAgent(QScriptEngine*)
        x_QScriptEngineAgent* xret = new x_QScriptEngineAgent((QScriptEngine*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptEngineAgent(QScriptEngine* x1) : QScriptEngineAgent(x1) {}
    void x_2(Smoke::Stack x) {
        // virtual void scriptLoad(long long, const QString&, const QString&, int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptEngineAgent*>(this))) {
            this->QScriptEngineAgent::scriptLoad(*(long long*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(int)x[4].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->scriptLoad(*(long long*)x[1].s_class,*(const QString*)x[2].s_class,*(const QString*)x[3].s_class,(int)x[4].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_3(Smoke::Stack x) {
        // virtual void scriptUnload(long long)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptEngineAgent*>(this))) {
            this->QScriptEngineAgent::scriptUnload(*(long long*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->scriptUnload(*(long long*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_4(Smoke::Stack x) {
        // virtual void contextPush()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptEngineAgent*>(this))) {
            this->QScriptEngineAgent::contextPush();
            (void)x; // noop (for compiler warning)
        } else {
            this->contextPush();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_5(Smoke::Stack x) {
        // virtual void contextPop()
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptEngineAgent*>(this))) {
            this->QScriptEngineAgent::contextPop();
            (void)x; // noop (for compiler warning)
        } else {
            this->contextPop();
            (void)x; // noop (for compiler warning)
        }
    }
    void x_6(Smoke::Stack x) {
        // virtual void functionEntry(long long)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptEngineAgent*>(this))) {
            this->QScriptEngineAgent::functionEntry(*(long long*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->functionEntry(*(long long*)x[1].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_7(Smoke::Stack x) {
        // virtual void functionExit(long long, const QScriptValue&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptEngineAgent*>(this))) {
            this->QScriptEngineAgent::functionExit(*(long long*)x[1].s_class,*(const QScriptValue*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->functionExit(*(long long*)x[1].s_class,*(const QScriptValue*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_8(Smoke::Stack x) {
        // virtual void positionChange(long long, int, int)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptEngineAgent*>(this))) {
            this->QScriptEngineAgent::positionChange(*(long long*)x[1].s_class,(int)x[2].s_int,(int)x[3].s_int);
            (void)x; // noop (for compiler warning)
        } else {
            this->positionChange(*(long long*)x[1].s_class,(int)x[2].s_int,(int)x[3].s_int);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_9(Smoke::Stack x) {
        // virtual void exceptionThrow(long long, const QScriptValue&, bool)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptEngineAgent*>(this))) {
            this->QScriptEngineAgent::exceptionThrow(*(long long*)x[1].s_class,*(const QScriptValue*)x[2].s_class,(bool)x[3].s_bool);
            (void)x; // noop (for compiler warning)
        } else {
            this->exceptionThrow(*(long long*)x[1].s_class,*(const QScriptValue*)x[2].s_class,(bool)x[3].s_bool);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_10(Smoke::Stack x) {
        // virtual void exceptionCatch(long long, const QScriptValue&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptEngineAgent*>(this))) {
            this->QScriptEngineAgent::exceptionCatch(*(long long*)x[1].s_class,*(const QScriptValue*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        } else {
            this->exceptionCatch(*(long long*)x[1].s_class,*(const QScriptValue*)x[2].s_class);
            (void)x; // noop (for compiler warning)
        }
    }
    void x_11(Smoke::Stack x) {
        // virtual bool supportsExtension(QScriptEngineAgent::Extension) const
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptEngineAgent*>(this))) {
            bool xret = ((const x_QScriptEngineAgent*)this)->QScriptEngineAgent::supportsExtension((QScriptEngineAgent::Extension)x[1].s_enum);
            x[0].s_bool = xret;
        } else {
            bool xret = ((const x_QScriptEngineAgent*)this)->supportsExtension((QScriptEngineAgent::Extension)x[1].s_enum);
            x[0].s_bool = xret;
        }
    }
    void x_12(Smoke::Stack x) {
        // virtual QVariant extension(QScriptEngineAgent::Extension, const QVariant&)
        if (dynamic_cast<__internal_SmokeClass*>(static_cast<QScriptEngineAgent*>(this))) {
            QVariant xret = this->QScriptEngineAgent::extension((QScriptEngineAgent::Extension)x[1].s_enum,*(const QVariant*)x[2].s_class);
            x[0].s_class = (void*)new QVariant(xret);
        } else {
            QVariant xret = this->extension((QScriptEngineAgent::Extension)x[1].s_enum,*(const QVariant*)x[2].s_class);
            x[0].s_class = (void*)new QVariant(xret);
        }
    }
    void x_13(Smoke::Stack x) {
        // QScriptEngine* engine() const
        QScriptEngine* xret = ((const x_QScriptEngineAgent*)this)->QScriptEngineAgent::engine();
        x[0].s_class = (void*)xret;
    }
    static void x_14(Smoke::Stack x) {
        // QScriptEngineAgent* QScriptEngineAgent(QScriptEngineAgentPrivate&, QScriptEngine*)
        x_QScriptEngineAgent* xret = new x_QScriptEngineAgent(*(QScriptEngineAgentPrivate*)x[1].s_class,(QScriptEngine*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptEngineAgent(QScriptEngineAgentPrivate& x1, QScriptEngine* x2) : QScriptEngineAgent(x1, x2) {}
    void x_15(Smoke::Stack x) {
        // QVariant extension(QScriptEngineAgent::Extension)
        QVariant xret = this->QScriptEngineAgent::extension((QScriptEngineAgent::Extension)x[1].s_enum,(const QVariant&)QVariant());
        x[0].s_class = (void*)new QVariant(xret);
    }
    static void x_16(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptEngineAgent::DebuggerInvocationRequest;
    }
    virtual void scriptLoad(long long x1, const QString& x2, const QString& x3, int x4) {
        Smoke::StackItem x[5];
        x[1].s_class = (void*)new long long(x1);
        x[2].s_class = (void*)&x2;
        x[3].s_class = (void*)&x3;
        x[4].s_int = x4;
        if (this->_binding->callMethod(185, (void*)this, x)) return;
        this->QScriptEngineAgent::scriptLoad(x1, x2, x3, x4);
    }
    virtual void scriptUnload(long long x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)new long long(x1);
        if (this->_binding->callMethod(186, (void*)this, x)) return;
        this->QScriptEngineAgent::scriptUnload(x1);
    }
    virtual void contextPush() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(187, (void*)this, x)) return;
        this->QScriptEngineAgent::contextPush();
    }
    virtual void contextPop() {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(188, (void*)this, x)) return;
        this->QScriptEngineAgent::contextPop();
    }
    virtual void functionEntry(long long x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)new long long(x1);
        if (this->_binding->callMethod(189, (void*)this, x)) return;
        this->QScriptEngineAgent::functionEntry(x1);
    }
    virtual void functionExit(long long x1, const QScriptValue& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)new long long(x1);
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(190, (void*)this, x)) return;
        this->QScriptEngineAgent::functionExit(x1, x2);
    }
    virtual void positionChange(long long x1, int x2, int x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)new long long(x1);
        x[2].s_int = x2;
        x[3].s_int = x3;
        if (this->_binding->callMethod(191, (void*)this, x)) return;
        this->QScriptEngineAgent::positionChange(x1, x2, x3);
    }
    virtual void exceptionThrow(long long x1, const QScriptValue& x2, bool x3) {
        Smoke::StackItem x[4];
        x[1].s_class = (void*)new long long(x1);
        x[2].s_class = (void*)&x2;
        x[3].s_bool = x3;
        if (this->_binding->callMethod(192, (void*)this, x)) return;
        this->QScriptEngineAgent::exceptionThrow(x1, x2, x3);
    }
    virtual void exceptionCatch(long long x1, const QScriptValue& x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)new long long(x1);
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(193, (void*)this, x)) return;
        this->QScriptEngineAgent::exceptionCatch(x1, x2);
    }
    virtual bool supportsExtension(QScriptEngineAgent::Extension x1) const {
        Smoke::StackItem x[2];
        x[1].s_enum = x1;
        if (this->_binding->callMethod(194, (void*)this, x)) return (bool)x[0].s_bool;
        return this->QScriptEngineAgent::supportsExtension(x1);
    }
    virtual QVariant extension(QScriptEngineAgent::Extension x1, const QVariant& x2) {
        Smoke::StackItem x[3];
        x[1].s_enum = x1;
        x[2].s_class = (void*)&x2;
        if (this->_binding->callMethod(195, (void*)this, x)) {
            QVariant* xptr = (QVariant*)x[0].s_class;
            QVariant xret(*xptr);
            delete xptr;
            return xret;
        }
        return this->QScriptEngineAgent::extension(x1, x2);
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 28: //QScriptEngineAgent::Extension
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QScriptEngineAgent::Extension;
                    break;
                case Smoke::EnumDelete:
                    delete (QScriptEngineAgent::Extension*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QScriptEngineAgent::Extension*)xdata = (QScriptEngineAgent::Extension)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QScriptEngineAgent::Extension*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QScriptEngineAgent() { this->_binding->deleted(18, (void*)this); }
};
void xenum_QScriptEngineAgent(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QScriptEngineAgent::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QScriptEngineAgent(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QScriptEngineAgent *xself = (x_QScriptEngineAgent*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QScriptEngineAgent::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: x_QScriptEngineAgent::x_14(args);	break;
        case 15: xself->x_15(args);	break;
        case 16: x_QScriptEngineAgent::x_16(args);	break;
        case 17: delete (QScriptEngineAgent*)xself;	break;
    }
}
class x_QScriptExtensionInterface : public QScriptExtensionInterface, 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 void initialize(const QString&, QScriptEngine*) = 0
        this->initialize(*(const QString*)x[1].s_class,(QScriptEngine*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    static void x_2(Smoke::Stack x) {
        // QScriptExtensionInterface* QScriptExtensionInterface()
        x_QScriptExtensionInterface* xret = new x_QScriptExtensionInterface();
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptExtensionInterface() : QScriptExtensionInterface() {}
    static void x_3(Smoke::Stack x) {
        // QScriptExtensionInterface* QScriptExtensionInterface(const QScriptExtensionInterface&)
        x_QScriptExtensionInterface* xret = new x_QScriptExtensionInterface(*(const QScriptExtensionInterface*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptExtensionInterface(const QScriptExtensionInterface& x1) : QScriptExtensionInterface(x1) {}
    virtual void initialize(const QString& x1, QScriptEngine* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        this->_binding->callMethod(201, (void*)this, x, true /*pure virtual*/);
    }
    virtual QStringList keys() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(1, (void*)this, x, true /*pure virtual*/);
        QStringList* xptr = (QStringList*)x[0].s_class;
        QStringList xret(*xptr);
        delete xptr;
        return xret;
    }
    ~x_QScriptExtensionInterface() { this->_binding->deleted(21, (void*)this); }
};
void xcall_QScriptExtensionInterface(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QScriptExtensionInterface *xself = (x_QScriptExtensionInterface*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: xself->x_1(args);	break;
        case 2: x_QScriptExtensionInterface::x_2(args);	break;
        case 3: x_QScriptExtensionInterface::x_3(args);	break;
        case 4: delete (QScriptExtensionInterface*)xself;	break;
    }
}
class x_QScriptExtensionPlugin : public QScriptExtensionPlugin, 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<QScriptExtensionPlugin*>(this))) {
            const QMetaObject* xret = ((const x_QScriptExtensionPlugin*)this)->QScriptExtensionPlugin::metaObject();
            x[0].s_class = (void*)xret;
        } else {
            const QMetaObject* xret = ((const x_QScriptExtensionPlugin*)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<QScriptExtensionPlugin*>(this))) {
            void* xret = this->QScriptExtensionPlugin::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 = QScriptExtensionPlugin::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 = QScriptExtensionPlugin::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 = QScriptExtensionPlugin::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 = QScriptExtensionPlugin::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<QScriptExtensionPlugin*>(this))) {
            int xret = this->QScriptExtensionPlugin::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) {
        // QScriptExtensionPlugin* QScriptExtensionPlugin(QObject*)
        x_QScriptExtensionPlugin* xret = new x_QScriptExtensionPlugin((QObject*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptExtensionPlugin(QObject* x1) : QScriptExtensionPlugin(x1) {}
    void x_9(Smoke::Stack x) {
        // virtual QStringList keys() const = 0
        QStringList xret = ((const x_QScriptExtensionPlugin*)this)->keys();
        x[0].s_class = (void*)new QStringList(xret);
    }
    void x_10(Smoke::Stack x) {
        // virtual void initialize(const QString&, QScriptEngine*) = 0
        this->initialize(*(const QString*)x[1].s_class,(QScriptEngine*)x[2].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_11(Smoke::Stack x) {
        // QScriptValue setupPackage(const QString&, QScriptEngine*) const
        QScriptValue xret = ((const x_QScriptExtensionPlugin*)this)->QScriptExtensionPlugin::setupPackage(*(const QString*)x[1].s_class,(QScriptEngine*)x[2].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    static void x_12(Smoke::Stack x) {
        // static QString tr(const char*)
        QString xret = QScriptExtensionPlugin::tr((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_13(Smoke::Stack x) {
        // static QString trUtf8(const char*)
        QString xret = QScriptExtensionPlugin::trUtf8((const char*)x[1].s_class,(const char*)0);
        x[0].s_class = (void*)new QString(xret);
    }
    static void x_14(Smoke::Stack x) {
        // QScriptExtensionPlugin* QScriptExtensionPlugin()
        x_QScriptExtensionPlugin* xret = new x_QScriptExtensionPlugin((QObject*)0);
        x[0].s_class = (void*)xret;
    }
    static void x_15(Smoke::Stack x) {
        // static const QMetaObject staticMetaObject
        x[0].s_class = (void*)&QScriptExtensionPlugin::staticMetaObject;
    }
    virtual const QMetaObject* metaObject() const {
        Smoke::StackItem x[1];
        if (this->_binding->callMethod(205, (void*)this, x)) return (const QMetaObject*)x[0].s_class;
        return this->QScriptExtensionPlugin::metaObject();
    }
    virtual void* qt_metacast(const char* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(206, (void*)this, x)) return (void*)x[0].s_class;
        return this->QScriptExtensionPlugin::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(211, (void*)this, x)) return (int)x[0].s_int;
        return this->QScriptExtensionPlugin::qt_metacall(x1, x2, x3);
    }
    virtual QStringList keys() const {
        Smoke::StackItem x[1];
        this->_binding->callMethod(213, (void*)this, x, true /*pure virtual*/);
        QStringList* xptr = (QStringList*)x[0].s_class;
        QStringList xret(*xptr);
        delete xptr;
        return xret;
    }
    virtual void initialize(const QString& x1, QScriptEngine* x2) {
        Smoke::StackItem x[3];
        x[1].s_class = (void*)&x1;
        x[2].s_class = (void*)x2;
        this->_binding->callMethod(214, (void*)this, x, true /*pure virtual*/);
    }
    virtual bool event(QEvent* x1) {
        Smoke::StackItem x[2];
        x[1].s_class = (void*)x1;
        if (this->_binding->callMethod(3, (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(4, (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(5, (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(6, (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(7, (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(8, (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(9, (void*)this, x)) return;
        this->QObject::disconnectNotify(x1);
    }
    ~x_QScriptExtensionPlugin() { this->_binding->deleted(22, (void*)this); }
};
void xcall_QScriptExtensionPlugin(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QScriptExtensionPlugin *xself = (x_QScriptExtensionPlugin*)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_QScriptExtensionPlugin::x_3(args);	break;
        case 4: x_QScriptExtensionPlugin::x_4(args);	break;
        case 5: x_QScriptExtensionPlugin::x_5(args);	break;
        case 6: x_QScriptExtensionPlugin::x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: x_QScriptExtensionPlugin::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: x_QScriptExtensionPlugin::x_12(args);	break;
        case 13: x_QScriptExtensionPlugin::x_13(args);	break;
        case 14: x_QScriptExtensionPlugin::x_14(args);	break;
        case 15: x_QScriptExtensionPlugin::x_15(args);	break;
        case 16: delete (QScriptExtensionPlugin*)xself;	break;
    }
}
class x_QScriptString : public QScriptString {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QScriptString* QScriptString()
        x_QScriptString* xret = new x_QScriptString();
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptString() : QScriptString() {}
    static void x_2(Smoke::Stack x) {
        // QScriptString* QScriptString(const QScriptString&)
        x_QScriptString* xret = new x_QScriptString(*(const QScriptString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptString(const QScriptString& x1) : QScriptString(x1) {}
    void x_3(Smoke::Stack x) {
        // QScriptString& operator=(const QScriptString&)
        QScriptString& xret = this->QScriptString::operator=(*(const QScriptString*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_4(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_QScriptString*)this)->QScriptString::isValid();
        x[0].s_bool = xret;
    }
    void x_5(Smoke::Stack x) {
        // bool operator==(const QScriptString&) const
        bool xret = ((const x_QScriptString*)this)->QScriptString::operator==(*(const QScriptString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_6(Smoke::Stack x) {
        // bool operator!=(const QScriptString&) const
        bool xret = ((const x_QScriptString*)this)->QScriptString::operator!=(*(const QScriptString*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_7(Smoke::Stack x) {
        // unsigned int toArrayIndex(bool*) const
        unsigned int xret = ((const x_QScriptString*)this)->QScriptString::toArrayIndex((bool*)x[1].s_class);
        x[0].s_uint = xret;
    }
    void x_8(Smoke::Stack x) {
        // QString toString() const
        QString xret = ((const x_QScriptString*)this)->QScriptString::toString();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_9(Smoke::Stack x) {
        // QString operator QString() const
        QString xret = ((const x_QScriptString*)this)->QScriptString::operator QString();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_10(Smoke::Stack x) {
        // unsigned int toArrayIndex() const
        unsigned int xret = ((const x_QScriptString*)this)->QScriptString::toArrayIndex((bool*)0);
        x[0].s_uint = xret;
    }
    ~x_QScriptString() { this->_binding->deleted(24, (void*)this); }
};
void xcall_QScriptString(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QScriptString *xself = (x_QScriptString*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QScriptString::x_1(args);	break;
        case 2: x_QScriptString::x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: delete (QScriptString*)xself;	break;
    }
}
class x_QScriptSyntaxCheckResult : public QScriptSyntaxCheckResult {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QScriptSyntaxCheckResult* QScriptSyntaxCheckResult(const QScriptSyntaxCheckResult&)
        x_QScriptSyntaxCheckResult* xret = new x_QScriptSyntaxCheckResult(*(const QScriptSyntaxCheckResult*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptSyntaxCheckResult(const QScriptSyntaxCheckResult& x1) : QScriptSyntaxCheckResult(x1) {}
    void x_2(Smoke::Stack x) {
        // QScriptSyntaxCheckResult::State state() const
        QScriptSyntaxCheckResult::State xret = ((const x_QScriptSyntaxCheckResult*)this)->QScriptSyntaxCheckResult::state();
        x[0].s_enum = xret;
    }
    void x_3(Smoke::Stack x) {
        // int errorLineNumber() const
        int xret = ((const x_QScriptSyntaxCheckResult*)this)->QScriptSyntaxCheckResult::errorLineNumber();
        x[0].s_int = xret;
    }
    void x_4(Smoke::Stack x) {
        // int errorColumnNumber() const
        int xret = ((const x_QScriptSyntaxCheckResult*)this)->QScriptSyntaxCheckResult::errorColumnNumber();
        x[0].s_int = xret;
    }
    void x_5(Smoke::Stack x) {
        // QString errorMessage() const
        QString xret = ((const x_QScriptSyntaxCheckResult*)this)->QScriptSyntaxCheckResult::errorMessage();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_6(Smoke::Stack x) {
        // QScriptSyntaxCheckResult& operator=(const QScriptSyntaxCheckResult&)
        QScriptSyntaxCheckResult& xret = this->QScriptSyntaxCheckResult::operator=(*(const QScriptSyntaxCheckResult*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    static void x_7(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptSyntaxCheckResult::Error;
    }
    static void x_8(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptSyntaxCheckResult::Intermediate;
    }
    static void x_9(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptSyntaxCheckResult::Valid;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 39: //QScriptSyntaxCheckResult::State
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QScriptSyntaxCheckResult::State;
                    break;
                case Smoke::EnumDelete:
                    delete (QScriptSyntaxCheckResult::State*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QScriptSyntaxCheckResult::State*)xdata = (QScriptSyntaxCheckResult::State)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QScriptSyntaxCheckResult::State*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QScriptSyntaxCheckResult() { this->_binding->deleted(25, (void*)this); }
};
void xenum_QScriptSyntaxCheckResult(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QScriptSyntaxCheckResult::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QScriptSyntaxCheckResult(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QScriptSyntaxCheckResult *xself = (x_QScriptSyntaxCheckResult*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QScriptSyntaxCheckResult::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: x_QScriptSyntaxCheckResult::x_7(args);	break;
        case 8: x_QScriptSyntaxCheckResult::x_8(args);	break;
        case 9: x_QScriptSyntaxCheckResult::x_9(args);	break;
        case 10: delete (QScriptSyntaxCheckResult*)xself;	break;
    }
}
class x_QScriptValue : public QScriptValue {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QScriptValue* QScriptValue()
        x_QScriptValue* xret = new x_QScriptValue();
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptValue() : QScriptValue() {}
    static void x_2(Smoke::Stack x) {
        // QScriptValue* QScriptValue(const QScriptValue&)
        x_QScriptValue* xret = new x_QScriptValue(*(const QScriptValue*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptValue(const QScriptValue& x1) : QScriptValue(x1) {}
    static void x_3(Smoke::Stack x) {
        // QScriptValue* QScriptValue(QScriptEngine*, QScriptValue::SpecialValue)
        x_QScriptValue* xret = new x_QScriptValue((QScriptEngine*)x[1].s_class,(QScriptValue::SpecialValue)x[2].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptValue(QScriptEngine* x1, QScriptValue::SpecialValue x2) : QScriptValue(x1, x2) {}
    static void x_4(Smoke::Stack x) {
        // QScriptValue* QScriptValue(QScriptEngine*, bool)
        x_QScriptValue* xret = new x_QScriptValue((QScriptEngine*)x[1].s_class,(bool)x[2].s_bool);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptValue(QScriptEngine* x1, bool x2) : QScriptValue(x1, x2) {}
    static void x_5(Smoke::Stack x) {
        // QScriptValue* QScriptValue(QScriptEngine*, int)
        x_QScriptValue* xret = new x_QScriptValue((QScriptEngine*)x[1].s_class,(int)x[2].s_int);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptValue(QScriptEngine* x1, int x2) : QScriptValue(x1, x2) {}
    static void x_6(Smoke::Stack x) {
        // QScriptValue* QScriptValue(QScriptEngine*, unsigned int)
        x_QScriptValue* xret = new x_QScriptValue((QScriptEngine*)x[1].s_class,(unsigned int)x[2].s_uint);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptValue(QScriptEngine* x1, unsigned int x2) : QScriptValue(x1, x2) {}
    static void x_7(Smoke::Stack x) {
        // QScriptValue* QScriptValue(QScriptEngine*, double)
        x_QScriptValue* xret = new x_QScriptValue((QScriptEngine*)x[1].s_class,(double)x[2].s_double);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptValue(QScriptEngine* x1, double x2) : QScriptValue(x1, x2) {}
    static void x_8(Smoke::Stack x) {
        // QScriptValue* QScriptValue(QScriptEngine*, const QString&)
        x_QScriptValue* xret = new x_QScriptValue((QScriptEngine*)x[1].s_class,*(const QString*)x[2].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptValue(QScriptEngine* x1, const QString& x2) : QScriptValue(x1, x2) {}
    static void x_9(Smoke::Stack x) {
        // QScriptValue* QScriptValue(QScriptValue::SpecialValue)
        x_QScriptValue* xret = new x_QScriptValue((QScriptValue::SpecialValue)x[1].s_enum);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptValue(QScriptValue::SpecialValue x1) : QScriptValue(x1) {}
    static void x_10(Smoke::Stack x) {
        // QScriptValue* QScriptValue(bool)
        x_QScriptValue* xret = new x_QScriptValue((bool)x[1].s_bool);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptValue(bool x1) : QScriptValue(x1) {}
    static void x_11(Smoke::Stack x) {
        // QScriptValue* QScriptValue(int)
        x_QScriptValue* xret = new x_QScriptValue((int)x[1].s_int);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptValue(int x1) : QScriptValue(x1) {}
    static void x_12(Smoke::Stack x) {
        // QScriptValue* QScriptValue(unsigned int)
        x_QScriptValue* xret = new x_QScriptValue((unsigned int)x[1].s_uint);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptValue(unsigned int x1) : QScriptValue(x1) {}
    static void x_13(Smoke::Stack x) {
        // QScriptValue* QScriptValue(double)
        x_QScriptValue* xret = new x_QScriptValue((double)x[1].s_double);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptValue(double x1) : QScriptValue(x1) {}
    static void x_14(Smoke::Stack x) {
        // QScriptValue* QScriptValue(const QString&)
        x_QScriptValue* xret = new x_QScriptValue(*(const QString*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptValue(const QString& x1) : QScriptValue(x1) {}
    static void x_15(Smoke::Stack x) {
        // QScriptValue* QScriptValue(const QLatin1String&)
        x_QScriptValue* xret = new x_QScriptValue(*(const QLatin1String*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptValue(const QLatin1String& x1) : QScriptValue(x1) {}
    void x_16(Smoke::Stack x) {
        // QScriptValue& operator=(const QScriptValue&)
        QScriptValue& xret = this->QScriptValue::operator=(*(const QScriptValue*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    void x_17(Smoke::Stack x) {
        // QScriptEngine* engine() const
        QScriptEngine* xret = ((const x_QScriptValue*)this)->QScriptValue::engine();
        x[0].s_class = (void*)xret;
    }
    void x_18(Smoke::Stack x) {
        // bool isValid() const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::isValid();
        x[0].s_bool = xret;
    }
    void x_19(Smoke::Stack x) {
        // bool isBool() const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::isBool();
        x[0].s_bool = xret;
    }
    void x_20(Smoke::Stack x) {
        // bool isBoolean() const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::isBoolean();
        x[0].s_bool = xret;
    }
    void x_21(Smoke::Stack x) {
        // bool isNumber() const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::isNumber();
        x[0].s_bool = xret;
    }
    void x_22(Smoke::Stack x) {
        // bool isFunction() const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::isFunction();
        x[0].s_bool = xret;
    }
    void x_23(Smoke::Stack x) {
        // bool isNull() const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::isNull();
        x[0].s_bool = xret;
    }
    void x_24(Smoke::Stack x) {
        // bool isString() const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::isString();
        x[0].s_bool = xret;
    }
    void x_25(Smoke::Stack x) {
        // bool isUndefined() const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::isUndefined();
        x[0].s_bool = xret;
    }
    void x_26(Smoke::Stack x) {
        // bool isVariant() const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::isVariant();
        x[0].s_bool = xret;
    }
    void x_27(Smoke::Stack x) {
        // bool isQObject() const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::isQObject();
        x[0].s_bool = xret;
    }
    void x_28(Smoke::Stack x) {
        // bool isQMetaObject() const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::isQMetaObject();
        x[0].s_bool = xret;
    }
    void x_29(Smoke::Stack x) {
        // bool isObject() const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::isObject();
        x[0].s_bool = xret;
    }
    void x_30(Smoke::Stack x) {
        // bool isDate() const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::isDate();
        x[0].s_bool = xret;
    }
    void x_31(Smoke::Stack x) {
        // bool isRegExp() const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::isRegExp();
        x[0].s_bool = xret;
    }
    void x_32(Smoke::Stack x) {
        // bool isArray() const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::isArray();
        x[0].s_bool = xret;
    }
    void x_33(Smoke::Stack x) {
        // bool isError() const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::isError();
        x[0].s_bool = xret;
    }
    void x_34(Smoke::Stack x) {
        // QString toString() const
        QString xret = ((const x_QScriptValue*)this)->QScriptValue::toString();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_35(Smoke::Stack x) {
        // double toNumber() const
        double xret = ((const x_QScriptValue*)this)->QScriptValue::toNumber();
        x[0].s_double = xret;
    }
    void x_36(Smoke::Stack x) {
        // bool toBool() const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::toBool();
        x[0].s_bool = xret;
    }
    void x_37(Smoke::Stack x) {
        // bool toBoolean() const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::toBoolean();
        x[0].s_bool = xret;
    }
    void x_38(Smoke::Stack x) {
        // double toInteger() const
        double xret = ((const x_QScriptValue*)this)->QScriptValue::toInteger();
        x[0].s_double = xret;
    }
    void x_39(Smoke::Stack x) {
        // int toInt32() const
        int xret = ((const x_QScriptValue*)this)->QScriptValue::toInt32();
        x[0].s_int = xret;
    }
    void x_40(Smoke::Stack x) {
        // unsigned int toUInt32() const
        unsigned int xret = ((const x_QScriptValue*)this)->QScriptValue::toUInt32();
        x[0].s_uint = xret;
    }
    void x_41(Smoke::Stack x) {
        // unsigned short toUInt16() const
        unsigned short xret = ((const x_QScriptValue*)this)->QScriptValue::toUInt16();
        x[0].s_ushort = xret;
    }
    void x_42(Smoke::Stack x) {
        // QVariant toVariant() const
        QVariant xret = ((const x_QScriptValue*)this)->QScriptValue::toVariant();
        x[0].s_class = (void*)new QVariant(xret);
    }
    void x_43(Smoke::Stack x) {
        // QObject* toQObject() const
        QObject* xret = ((const x_QScriptValue*)this)->QScriptValue::toQObject();
        x[0].s_class = (void*)xret;
    }
    void x_44(Smoke::Stack x) {
        // const QMetaObject* toQMetaObject() const
        const QMetaObject* xret = ((const x_QScriptValue*)this)->QScriptValue::toQMetaObject();
        x[0].s_class = (void*)xret;
    }
    void x_45(Smoke::Stack x) {
        // QScriptValue toObject() const
        QScriptValue xret = ((const x_QScriptValue*)this)->QScriptValue::toObject();
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_46(Smoke::Stack x) {
        // QDateTime toDateTime() const
        QDateTime xret = ((const x_QScriptValue*)this)->QScriptValue::toDateTime();
        x[0].s_class = (void*)new QDateTime(xret);
    }
    void x_47(Smoke::Stack x) {
        // QRegExp toRegExp() const
        QRegExp xret = ((const x_QScriptValue*)this)->QScriptValue::toRegExp();
        x[0].s_class = (void*)new QRegExp(xret);
    }
    void x_48(Smoke::Stack x) {
        // bool instanceOf(const QScriptValue&) const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::instanceOf(*(const QScriptValue*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_49(Smoke::Stack x) {
        // bool lessThan(const QScriptValue&) const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::lessThan(*(const QScriptValue*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_50(Smoke::Stack x) {
        // bool equals(const QScriptValue&) const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::equals(*(const QScriptValue*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_51(Smoke::Stack x) {
        // bool strictlyEquals(const QScriptValue&) const
        bool xret = ((const x_QScriptValue*)this)->QScriptValue::strictlyEquals(*(const QScriptValue*)x[1].s_class);
        x[0].s_bool = xret;
    }
    void x_52(Smoke::Stack x) {
        // QScriptValue prototype() const
        QScriptValue xret = ((const x_QScriptValue*)this)->QScriptValue::prototype();
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_53(Smoke::Stack x) {
        // void setPrototype(const QScriptValue&)
        this->QScriptValue::setPrototype(*(const QScriptValue*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_54(Smoke::Stack x) {
        // QScriptValue scope() const
        QScriptValue xret = ((const x_QScriptValue*)this)->QScriptValue::scope();
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_55(Smoke::Stack x) {
        // void setScope(const QScriptValue&)
        this->QScriptValue::setScope(*(const QScriptValue*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_56(Smoke::Stack x) {
        // QScriptValue property(const QString&, const QFlags<QScriptValue::ResolveFlag>&) const
        QScriptValue xret = ((const x_QScriptValue*)this)->QScriptValue::property(*(const QString*)x[1].s_class,*(const QFlags<QScriptValue::ResolveFlag>*)x[2].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_57(Smoke::Stack x) {
        // void setProperty(const QString&, const QScriptValue&, const QFlags<QScriptValue::PropertyFlag>&)
        this->QScriptValue::setProperty(*(const QString*)x[1].s_class,*(const QScriptValue*)x[2].s_class,*(const QFlags<QScriptValue::PropertyFlag>*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_58(Smoke::Stack x) {
        // QScriptValue property(unsigned int, const QFlags<QScriptValue::ResolveFlag>&) const
        QScriptValue xret = ((const x_QScriptValue*)this)->QScriptValue::property((unsigned int)x[1].s_uint,*(const QFlags<QScriptValue::ResolveFlag>*)x[2].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_59(Smoke::Stack x) {
        // void setProperty(unsigned int, const QScriptValue&, const QFlags<QScriptValue::PropertyFlag>&)
        this->QScriptValue::setProperty((unsigned int)x[1].s_uint,*(const QScriptValue*)x[2].s_class,*(const QFlags<QScriptValue::PropertyFlag>*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_60(Smoke::Stack x) {
        // QScriptValue property(const QScriptString&, const QFlags<QScriptValue::ResolveFlag>&) const
        QScriptValue xret = ((const x_QScriptValue*)this)->QScriptValue::property(*(const QScriptString*)x[1].s_class,*(const QFlags<QScriptValue::ResolveFlag>*)x[2].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_61(Smoke::Stack x) {
        // void setProperty(const QScriptString&, const QScriptValue&, const QFlags<QScriptValue::PropertyFlag>&)
        this->QScriptValue::setProperty(*(const QScriptString*)x[1].s_class,*(const QScriptValue*)x[2].s_class,*(const QFlags<QScriptValue::PropertyFlag>*)x[3].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_62(Smoke::Stack x) {
        // QFlags<QScriptValue::PropertyFlag> propertyFlags(const QString&, const QFlags<QScriptValue::ResolveFlag>&) const
        QFlags<QScriptValue::PropertyFlag> xret = ((const x_QScriptValue*)this)->QScriptValue::propertyFlags(*(const QString*)x[1].s_class,*(const QFlags<QScriptValue::ResolveFlag>*)x[2].s_class);
        x[0].s_uint = (uint)xret;
    }
    void x_63(Smoke::Stack x) {
        // QFlags<QScriptValue::PropertyFlag> propertyFlags(const QScriptString&, const QFlags<QScriptValue::ResolveFlag>&) const
        QFlags<QScriptValue::PropertyFlag> xret = ((const x_QScriptValue*)this)->QScriptValue::propertyFlags(*(const QScriptString*)x[1].s_class,*(const QFlags<QScriptValue::ResolveFlag>*)x[2].s_class);
        x[0].s_uint = (uint)xret;
    }
    void x_64(Smoke::Stack x) {
        // QScriptValue call(const QScriptValue&, const QList<QScriptValue>&)
        QScriptValue xret = this->QScriptValue::call(*(const QScriptValue*)x[1].s_class,*(const QList<QScriptValue>*)x[2].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_65(Smoke::Stack x) {
        // QScriptValue call(const QScriptValue&, const QScriptValue&)
        QScriptValue xret = this->QScriptValue::call(*(const QScriptValue*)x[1].s_class,*(const QScriptValue*)x[2].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_66(Smoke::Stack x) {
        // QScriptValue construct(const QList<QScriptValue>&)
        QScriptValue xret = this->QScriptValue::construct(*(const QList<QScriptValue>*)x[1].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_67(Smoke::Stack x) {
        // QScriptValue construct(const QScriptValue&)
        QScriptValue xret = this->QScriptValue::construct(*(const QScriptValue*)x[1].s_class);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_68(Smoke::Stack x) {
        // QScriptValue data() const
        QScriptValue xret = ((const x_QScriptValue*)this)->QScriptValue::data();
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_69(Smoke::Stack x) {
        // void setData(const QScriptValue&)
        this->QScriptValue::setData(*(const QScriptValue*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_70(Smoke::Stack x) {
        // QScriptClass* scriptClass() const
        QScriptClass* xret = ((const x_QScriptValue*)this)->QScriptValue::scriptClass();
        x[0].s_class = (void*)xret;
    }
    void x_71(Smoke::Stack x) {
        // void setScriptClass(QScriptClass*)
        this->QScriptValue::setScriptClass((QScriptClass*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_72(Smoke::Stack x) {
        // long long objectId() const
        long long xret = ((const x_QScriptValue*)this)->QScriptValue::objectId();
        x[0].s_class = (void*)new long long(xret);
    }
    void x_73(Smoke::Stack x) {
        // QScriptValue property(const QString&) const
        QScriptValue xret = ((const x_QScriptValue*)this)->QScriptValue::property(*(const QString*)x[1].s_class,(const QFlags<QScriptValue::ResolveFlag>&)QScriptValue::ResolvePrototype);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_74(Smoke::Stack x) {
        // void setProperty(const QString&, const QScriptValue&)
        this->QScriptValue::setProperty(*(const QString*)x[1].s_class,*(const QScriptValue*)x[2].s_class,(const QFlags<QScriptValue::PropertyFlag>&)QScriptValue::KeepExistingFlags);
        (void)x; // noop (for compiler warning)
    }
    void x_75(Smoke::Stack x) {
        // QScriptValue property(unsigned int) const
        QScriptValue xret = ((const x_QScriptValue*)this)->QScriptValue::property((unsigned int)x[1].s_uint,(const QFlags<QScriptValue::ResolveFlag>&)QScriptValue::ResolvePrototype);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_76(Smoke::Stack x) {
        // void setProperty(unsigned int, const QScriptValue&)
        this->QScriptValue::setProperty((unsigned int)x[1].s_uint,*(const QScriptValue*)x[2].s_class,(const QFlags<QScriptValue::PropertyFlag>&)QScriptValue::KeepExistingFlags);
        (void)x; // noop (for compiler warning)
    }
    void x_77(Smoke::Stack x) {
        // QScriptValue property(const QScriptString&) const
        QScriptValue xret = ((const x_QScriptValue*)this)->QScriptValue::property(*(const QScriptString*)x[1].s_class,(const QFlags<QScriptValue::ResolveFlag>&)QScriptValue::ResolvePrototype);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_78(Smoke::Stack x) {
        // void setProperty(const QScriptString&, const QScriptValue&)
        this->QScriptValue::setProperty(*(const QScriptString*)x[1].s_class,*(const QScriptValue*)x[2].s_class,(const QFlags<QScriptValue::PropertyFlag>&)QScriptValue::KeepExistingFlags);
        (void)x; // noop (for compiler warning)
    }
    void x_79(Smoke::Stack x) {
        // QFlags<QScriptValue::PropertyFlag> propertyFlags(const QString&) const
        QFlags<QScriptValue::PropertyFlag> xret = ((const x_QScriptValue*)this)->QScriptValue::propertyFlags(*(const QString*)x[1].s_class,(const QFlags<QScriptValue::ResolveFlag>&)QScriptValue::ResolvePrototype);
        x[0].s_uint = (uint)xret;
    }
    void x_80(Smoke::Stack x) {
        // QFlags<QScriptValue::PropertyFlag> propertyFlags(const QScriptString&) const
        QFlags<QScriptValue::PropertyFlag> xret = ((const x_QScriptValue*)this)->QScriptValue::propertyFlags(*(const QScriptString*)x[1].s_class,(const QFlags<QScriptValue::ResolveFlag>&)QScriptValue::ResolvePrototype);
        x[0].s_uint = (uint)xret;
    }
    void x_81(Smoke::Stack x) {
        // QScriptValue call()
        QScriptValue xret = this->QScriptValue::call((const QScriptValue&)QScriptValue(),(const QList<QScriptValue>&)QScriptValueList());
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_82(Smoke::Stack x) {
        // QScriptValue call(const QScriptValue&)
        QScriptValue xret = this->QScriptValue::call(*(const QScriptValue*)x[1].s_class,(const QList<QScriptValue>&)QScriptValueList());
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_83(Smoke::Stack x) {
        // QScriptValue construct()
        QScriptValue xret = this->QScriptValue::construct((const QList<QScriptValue>&)QScriptValueList());
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    static void x_84(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptValue::ResolveLocal;
    }
    static void x_85(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptValue::ResolvePrototype;
    }
    static void x_86(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptValue::ResolveScope;
    }
    static void x_87(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptValue::ResolveFull;
    }
    static void x_88(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptValue::ReadOnly;
    }
    static void x_89(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptValue::Undeletable;
    }
    static void x_90(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptValue::SkipInEnumeration;
    }
    static void x_91(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptValue::PropertyGetter;
    }
    static void x_92(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptValue::PropertySetter;
    }
    static void x_93(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptValue::QObjectMember;
    }
    static void x_94(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptValue::KeepExistingFlags;
    }
    static void x_95(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptValue::UserRange;
    }
    static void x_96(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptValue::NullValue;
    }
    static void x_97(Smoke::Stack x) {
        x[0].s_enum = (long)QScriptValue::UndefinedValue;
    }
    static void xenum_operation(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
        switch(xtype) {
        case 46: //QScriptValue::ResolveFlag
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QScriptValue::ResolveFlag;
                    break;
                case Smoke::EnumDelete:
                    delete (QScriptValue::ResolveFlag*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QScriptValue::ResolveFlag*)xdata = (QScriptValue::ResolveFlag)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QScriptValue::ResolveFlag*)xdata;
                    break;
            }
            break;
        case 45: //QScriptValue::PropertyFlag
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QScriptValue::PropertyFlag;
                    break;
                case Smoke::EnumDelete:
                    delete (QScriptValue::PropertyFlag*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QScriptValue::PropertyFlag*)xdata = (QScriptValue::PropertyFlag)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QScriptValue::PropertyFlag*)xdata;
                    break;
            }
            break;
        case 47: //QScriptValue::SpecialValue
            switch(xop) {
                case Smoke::EnumNew:
                    xdata = (void*)new QScriptValue::SpecialValue;
                    break;
                case Smoke::EnumDelete:
                    delete (QScriptValue::SpecialValue*)xdata;
                    break;
                case Smoke::EnumFromLong:
                    *(QScriptValue::SpecialValue*)xdata = (QScriptValue::SpecialValue)xvalue;
                    break;
                case Smoke::EnumToLong:
                    xvalue = (long)*(QScriptValue::SpecialValue*)xdata;
                    break;
            }
            break;
        }
    }
    ~x_QScriptValue() { this->_binding->deleted(26, (void*)this); }
};
void xenum_QScriptValue(Smoke::EnumOperation xop, Smoke::Index xtype, void *&xdata, long &xvalue) {
    x_QScriptValue::xenum_operation(xop, xtype, xdata, xvalue);
}
void xcall_QScriptValue(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QScriptValue *xself = (x_QScriptValue*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QScriptValue::x_1(args);	break;
        case 2: x_QScriptValue::x_2(args);	break;
        case 3: x_QScriptValue::x_3(args);	break;
        case 4: x_QScriptValue::x_4(args);	break;
        case 5: x_QScriptValue::x_5(args);	break;
        case 6: x_QScriptValue::x_6(args);	break;
        case 7: x_QScriptValue::x_7(args);	break;
        case 8: x_QScriptValue::x_8(args);	break;
        case 9: x_QScriptValue::x_9(args);	break;
        case 10: x_QScriptValue::x_10(args);	break;
        case 11: x_QScriptValue::x_11(args);	break;
        case 12: x_QScriptValue::x_12(args);	break;
        case 13: x_QScriptValue::x_13(args);	break;
        case 14: x_QScriptValue::x_14(args);	break;
        case 15: x_QScriptValue::x_15(args);	break;
        case 16: xself->x_16(args);	break;
        case 17: xself->x_17(args);	break;
        case 18: xself->x_18(args);	break;
        case 19: xself->x_19(args);	break;
        case 20: xself->x_20(args);	break;
        case 21: xself->x_21(args);	break;
        case 22: xself->x_22(args);	break;
        case 23: xself->x_23(args);	break;
        case 24: xself->x_24(args);	break;
        case 25: xself->x_25(args);	break;
        case 26: xself->x_26(args);	break;
        case 27: xself->x_27(args);	break;
        case 28: xself->x_28(args);	break;
        case 29: xself->x_29(args);	break;
        case 30: xself->x_30(args);	break;
        case 31: xself->x_31(args);	break;
        case 32: xself->x_32(args);	break;
        case 33: xself->x_33(args);	break;
        case 34: xself->x_34(args);	break;
        case 35: xself->x_35(args);	break;
        case 36: xself->x_36(args);	break;
        case 37: xself->x_37(args);	break;
        case 38: xself->x_38(args);	break;
        case 39: xself->x_39(args);	break;
        case 40: xself->x_40(args);	break;
        case 41: xself->x_41(args);	break;
        case 42: xself->x_42(args);	break;
        case 43: xself->x_43(args);	break;
        case 44: xself->x_44(args);	break;
        case 45: xself->x_45(args);	break;
        case 46: xself->x_46(args);	break;
        case 47: xself->x_47(args);	break;
        case 48: xself->x_48(args);	break;
        case 49: xself->x_49(args);	break;
        case 50: xself->x_50(args);	break;
        case 51: xself->x_51(args);	break;
        case 52: xself->x_52(args);	break;
        case 53: xself->x_53(args);	break;
        case 54: xself->x_54(args);	break;
        case 55: xself->x_55(args);	break;
        case 56: xself->x_56(args);	break;
        case 57: xself->x_57(args);	break;
        case 58: xself->x_58(args);	break;
        case 59: xself->x_59(args);	break;
        case 60: xself->x_60(args);	break;
        case 61: xself->x_61(args);	break;
        case 62: xself->x_62(args);	break;
        case 63: xself->x_63(args);	break;
        case 64: xself->x_64(args);	break;
        case 65: xself->x_65(args);	break;
        case 66: xself->x_66(args);	break;
        case 67: xself->x_67(args);	break;
        case 68: xself->x_68(args);	break;
        case 69: xself->x_69(args);	break;
        case 70: xself->x_70(args);	break;
        case 71: xself->x_71(args);	break;
        case 72: xself->x_72(args);	break;
        case 73: xself->x_73(args);	break;
        case 74: xself->x_74(args);	break;
        case 75: xself->x_75(args);	break;
        case 76: xself->x_76(args);	break;
        case 77: xself->x_77(args);	break;
        case 78: xself->x_78(args);	break;
        case 79: xself->x_79(args);	break;
        case 80: xself->x_80(args);	break;
        case 81: xself->x_81(args);	break;
        case 82: xself->x_82(args);	break;
        case 83: xself->x_83(args);	break;
        case 84: x_QScriptValue::x_84(args);	break;
        case 85: x_QScriptValue::x_85(args);	break;
        case 86: x_QScriptValue::x_86(args);	break;
        case 87: x_QScriptValue::x_87(args);	break;
        case 88: x_QScriptValue::x_88(args);	break;
        case 89: x_QScriptValue::x_89(args);	break;
        case 90: x_QScriptValue::x_90(args);	break;
        case 91: x_QScriptValue::x_91(args);	break;
        case 92: x_QScriptValue::x_92(args);	break;
        case 93: x_QScriptValue::x_93(args);	break;
        case 94: x_QScriptValue::x_94(args);	break;
        case 95: x_QScriptValue::x_95(args);	break;
        case 96: x_QScriptValue::x_96(args);	break;
        case 97: x_QScriptValue::x_97(args);	break;
        case 98: delete (QScriptValue*)xself;	break;
    }
}
class x_QScriptValueIterator : public QScriptValueIterator {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QScriptValueIterator* QScriptValueIterator(const QScriptValue&)
        x_QScriptValueIterator* xret = new x_QScriptValueIterator(*(const QScriptValue*)x[1].s_class);
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptValueIterator(const QScriptValue& x1) : QScriptValueIterator(x1) {}
    void x_2(Smoke::Stack x) {
        // bool hasNext() const
        bool xret = ((const x_QScriptValueIterator*)this)->QScriptValueIterator::hasNext();
        x[0].s_bool = xret;
    }
    void x_3(Smoke::Stack x) {
        // void next()
        this->QScriptValueIterator::next();
        (void)x; // noop (for compiler warning)
    }
    void x_4(Smoke::Stack x) {
        // bool hasPrevious() const
        bool xret = ((const x_QScriptValueIterator*)this)->QScriptValueIterator::hasPrevious();
        x[0].s_bool = xret;
    }
    void x_5(Smoke::Stack x) {
        // void previous()
        this->QScriptValueIterator::previous();
        (void)x; // noop (for compiler warning)
    }
    void x_6(Smoke::Stack x) {
        // QString name() const
        QString xret = ((const x_QScriptValueIterator*)this)->QScriptValueIterator::name();
        x[0].s_class = (void*)new QString(xret);
    }
    void x_7(Smoke::Stack x) {
        // QScriptString scriptName() const
        QScriptString xret = ((const x_QScriptValueIterator*)this)->QScriptValueIterator::scriptName();
        x[0].s_class = (void*)new QScriptString(xret);
    }
    void x_8(Smoke::Stack x) {
        // QScriptValue value() const
        QScriptValue xret = ((const x_QScriptValueIterator*)this)->QScriptValueIterator::value();
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_9(Smoke::Stack x) {
        // void setValue(const QScriptValue&)
        this->QScriptValueIterator::setValue(*(const QScriptValue*)x[1].s_class);
        (void)x; // noop (for compiler warning)
    }
    void x_10(Smoke::Stack x) {
        // QFlags<QScriptValue::PropertyFlag> flags() const
        QFlags<QScriptValue::PropertyFlag> xret = ((const x_QScriptValueIterator*)this)->QScriptValueIterator::flags();
        x[0].s_uint = (uint)xret;
    }
    void x_11(Smoke::Stack x) {
        // void remove()
        this->QScriptValueIterator::remove();
        (void)x; // noop (for compiler warning)
    }
    void x_12(Smoke::Stack x) {
        // void toFront()
        this->QScriptValueIterator::toFront();
        (void)x; // noop (for compiler warning)
    }
    void x_13(Smoke::Stack x) {
        // void toBack()
        this->QScriptValueIterator::toBack();
        (void)x; // noop (for compiler warning)
    }
    void x_14(Smoke::Stack x) {
        // QScriptValueIterator& operator=(QScriptValue&)
        QScriptValueIterator& xret = this->QScriptValueIterator::operator=(*(QScriptValue*)x[1].s_class);
        x[0].s_class = (void*)&xret;
    }
    ~x_QScriptValueIterator() { this->_binding->deleted(27, (void*)this); }
};
void xcall_QScriptValueIterator(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QScriptValueIterator *xself = (x_QScriptValueIterator*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QScriptValueIterator::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: xself->x_7(args);	break;
        case 8: xself->x_8(args);	break;
        case 9: xself->x_9(args);	break;
        case 10: xself->x_10(args);	break;
        case 11: xself->x_11(args);	break;
        case 12: xself->x_12(args);	break;
        case 13: xself->x_13(args);	break;
        case 14: xself->x_14(args);	break;
        case 15: delete (QScriptValueIterator*)xself;	break;
    }
}
class x_QScriptable : public QScriptable {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // QScriptable* QScriptable()
        x_QScriptable* xret = new x_QScriptable();
        x[0].s_class = (void*)xret;
    }
    explicit x_QScriptable() : QScriptable() {}
    void x_2(Smoke::Stack x) {
        // QScriptEngine* engine() const
        QScriptEngine* xret = ((const x_QScriptable*)this)->QScriptable::engine();
        x[0].s_class = (void*)xret;
    }
    void x_3(Smoke::Stack x) {
        // QScriptContext* context() const
        QScriptContext* xret = ((const x_QScriptable*)this)->QScriptable::context();
        x[0].s_class = (void*)xret;
    }
    void x_4(Smoke::Stack x) {
        // QScriptValue thisObject() const
        QScriptValue xret = ((const x_QScriptable*)this)->QScriptable::thisObject();
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    void x_5(Smoke::Stack x) {
        // int argumentCount() const
        int xret = ((const x_QScriptable*)this)->QScriptable::argumentCount();
        x[0].s_int = xret;
    }
    void x_6(Smoke::Stack x) {
        // QScriptValue argument(int) const
        QScriptValue xret = ((const x_QScriptable*)this)->QScriptable::argument((int)x[1].s_int);
        x[0].s_class = (void*)new QScriptValue(xret);
    }
    ~x_QScriptable() { this->_binding->deleted(28, (void*)this); }
};
void xcall_QScriptable(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QScriptable *xself = (x_QScriptable*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QScriptable::x_1(args);	break;
        case 2: xself->x_2(args);	break;
        case 3: xself->x_3(args);	break;
        case 4: xself->x_4(args);	break;
        case 5: xself->x_5(args);	break;
        case 6: xself->x_6(args);	break;
        case 7: delete (QScriptable*)xself;	break;
    }
}
class x_QGlobalSpace {
    SmokeBinding* _binding;
public:
    void x_0(Smoke::Stack x) {
        // set the smoke binding
        _binding = (SmokeBinding*)x[1].s_class;
    }
    static void x_1(Smoke::Stack x) {
        // static bool qScriptConnect(QObject*, const char*, const QScriptValue&, const QScriptValue&)
        bool xret = qScriptConnect((QObject*)x[1].s_class,(const char*)x[2].s_class,*(const QScriptValue*)x[3].s_class,*(const QScriptValue*)x[4].s_class);
        x[0].s_bool = xret;
    }
    ~x_QGlobalSpace() { this->_binding->deleted(6, (void*)this); }
};
void xcall_QGlobalSpace(Smoke::Index xi, void *obj, Smoke::Stack args) {
    x_QGlobalSpace *xself = (x_QGlobalSpace*)obj;
    switch(xi) {
        case 0: xself->x_0(args);	break;
        case 1: x_QGlobalSpace::x_1(args);	break;
    }
}

}
