211 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Smarty
		
	
	
	
	
	
			
		
		
	
	
			211 lines
		
	
	
		
			5.8 KiB
		
	
	
	
		
			Smarty
		
	
	
	
	
	
| 
 | |
| ::foreach PARAMS:: ::if (ARG>=6)::
 | |
| Dynamic Dynamic::NS::operator()(::DYNAMIC_ARG_LIST::)
 | |
| {
 | |
|    CheckFPtr();
 | |
|    return mPtr->__Run(Array_obj<Dynamic>::NS::__new(::ARG::)::DYNAMIC_ADDS::);
 | |
| }
 | |
| 
 | |
| namespace cpp
 | |
| {
 | |
| ::NS::Dynamic Variant::NS::operator()(::DYNAMIC_ARG_LIST::)
 | |
| {
 | |
|    if (isNull()) Dynamic::ThrowBadFunctionError();
 | |
|    return valObject->__Run(Array_obj<Dynamic>::NS::__new(::ARG::)::DYNAMIC_ADDS::);
 | |
| }
 | |
| }
 | |
| 
 | |
| 
 | |
| ::else::
 | |
| 
 | |
| namespace hx {
 | |
| 
 | |
| struct CMemberFunction::ARG:: : public hx::Object 
 | |
| { 
 | |
|    hx::ObjectPtr<Object> mThis; 
 | |
|    MemberFunction::ARG:: mFunction;
 | |
|    const char *mName;
 | |
| 
 | |
|    HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::NS::clsIdCMember::ARG:: };
 | |
| 
 | |
| 
 | |
|    CMemberFunction::ARG::(const char *inName, hx::Object *inObj, MemberFunction::ARG:: inFunction)
 | |
|    {
 | |
|       mName = inName;
 | |
|       mThis = inObj;
 | |
|       mFunction = inFunction;
 | |
|    }
 | |
|    int __Compare(const hx::Object *inRHS) const
 | |
|    {
 | |
|       const CMemberFunction::ARG:: *other = dynamic_cast<const CMemberFunction::ARG:: *>(inRHS);
 | |
|       if (!other)
 | |
|          return -1;
 | |
|       return (mName==other->mName && mFunction==other->mFunction && mThis.GetPtr()==other->mThis.GetPtr())? 0 : -1;
 | |
|    }
 | |
| 
 | |
|    int __GetType() const { return vtFunction; } 
 | |
|    int __ArgCount() const { return ::ARG::; } 
 | |
|    ::String __ToString() const{ return String(mName); } 
 | |
|    void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunction::ARG::.this"); } 
 | |
|    #ifdef HXCPP_VISIT_ALLOCS
 | |
|    void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); } 
 | |
|    #endif
 | |
|    void *__GetHandle() const { return mThis.GetPtr(); } 
 | |
|    Dynamic __Run(const Array<Dynamic> &inArgs) 
 | |
|    { 
 | |
|       ::if (ARG>0)::
 | |
|       return mFunction(mThis.GetPtr(), ::ARR_LIST::);
 | |
|       ::else::
 | |
|       return mFunction(mThis.GetPtr());
 | |
|       ::end::
 | |
|    } 
 | |
|    Dynamic __run(::DYNAMIC_ARG_LIST::) 
 | |
|    { 
 | |
|       ::if (ARG>0)::
 | |
|       return mFunction(mThis.GetPtr(), ::ARG_LIST::);
 | |
|       ::else::
 | |
|       return mFunction(mThis.GetPtr());
 | |
|       ::end::
 | |
|    } 
 | |
| }; 
 | |
| 
 | |
| 
 | |
| 
 | |
| struct CStaticFunction::ARG:: : public hx::Object 
 | |
| { 
 | |
|    StaticFunction::ARG:: mFunction;
 | |
|    const char *mName;
 | |
| 
 | |
|    HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::NS::clsIdCStatic::ARG:: };
 | |
| 
 | |
| 
 | |
|    CStaticFunction::ARG::(const char *inName,StaticFunction::ARG:: inFunction)
 | |
|    {
 | |
|       mName = inName;
 | |
|       mFunction = inFunction;
 | |
|    }
 | |
|    int __Compare(const hx::Object *inRHS) const
 | |
|    {
 | |
|       const CStaticFunction::ARG:: *other = dynamic_cast<const CStaticFunction::ARG:: *>(inRHS);
 | |
|       if (!other)
 | |
|          return -1;
 | |
|       return mName==other->mName && mFunction==other->mFunction && mName==other->mName ? 0 : -1;
 | |
|    }
 | |
| 
 | |
|    int __GetType() const { return vtFunction; } 
 | |
|    int __ArgCount() const { return ::ARG::; } 
 | |
|    ::String __ToString() const{ return String(mName); } 
 | |
|    Dynamic __Run(const Array<Dynamic> &inArgs) 
 | |
|    { 
 | |
|       return mFunction(::ARR_LIST::);
 | |
|    } 
 | |
|    Dynamic __run(::DYNAMIC_ARG_LIST::) 
 | |
|    { 
 | |
|       return mFunction(::ARG_LIST::);
 | |
|    } 
 | |
| }; 
 | |
| 
 | |
| 
 | |
| HXCPP_EXTERN_CLASS_ATTRIBUTES
 | |
| Dynamic CreateMemberFunction::ARG::(const char *inName,hx::Object *inObj, MemberFunction::ARG:: inFunc)
 | |
|    { return new CMemberFunction::ARG::(inName,inObj,inFunc); }
 | |
| 
 | |
| HXCPP_EXTERN_CLASS_ATTRIBUTES
 | |
| Dynamic CreateStaticFunction::ARG::(const char *inName,StaticFunction::ARG:: inFunc)
 | |
|    { return new CStaticFunction::ARG::(inName,inFunc); }
 | |
| 
 | |
| }
 | |
| 
 | |
| ::end::
 | |
| ::end::
 | |
| 
 | |
| namespace hx
 | |
| {
 | |
| 
 | |
| 
 | |
| struct CMemberFunctionVar : public hx::Object 
 | |
| { 
 | |
|    hx::ObjectPtr<Object> mThis; 
 | |
|    MemberFunctionVar mFunction;
 | |
|    const char *mName;
 | |
|    int N;
 | |
| 
 | |
| 
 | |
|    HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::clsIdCMemberVar };
 | |
| 
 | |
| 
 | |
|    CMemberFunctionVar(const char *inName,hx::Object *inObj, MemberFunctionVar inFunction,int inN)
 | |
|    {
 | |
|       mThis = inObj;
 | |
|       mFunction = inFunction;
 | |
|       mName = inName;
 | |
|       N = inN;
 | |
|    }
 | |
|    int __Compare(const hx::Object *inRHS) const
 | |
|    {
 | |
|       const CMemberFunctionVar *other = dynamic_cast<const CMemberFunctionVar *>(inRHS);
 | |
|       if (!other)
 | |
|          return -1;
 | |
|       return (mFunction==other->mFunction && mName==other->mName && mThis.GetPtr()==other->mThis.GetPtr())? 0 : -1;
 | |
|    }
 | |
| 
 | |
| 
 | |
|    int __GetType() const { return vtFunction; } 
 | |
|    int __ArgCount() const { return N; } 
 | |
|    ::String __ToString() const{ return String(mName); } 
 | |
|    void __Mark(hx::MarkContext *__inCtx) { HX_MARK_MEMBER_NAME(mThis,"CMemberFunctionVar.this"); } 
 | |
|    #ifdef HXCPP_VISIT_ALLOCS
 | |
|    void __Visit(hx::VisitContext *__inCtx) { HX_VISIT_MEMBER(mThis); } 
 | |
|    #endif
 | |
|    void *__GetHandle() const { return mThis.GetPtr(); } 
 | |
|    Dynamic __Run(const Array<Dynamic> &inArgs) 
 | |
|    { 
 | |
|       return mFunction(mThis.GetPtr(), inArgs);
 | |
|    } 
 | |
| }; 
 | |
| 
 | |
| 
 | |
| 
 | |
| struct CStaticFunctionVar : public hx::Object 
 | |
| { 
 | |
|    StaticFunctionVar mFunction;
 | |
|    const char *mName;
 | |
|    int N;
 | |
| 
 | |
|    HX_IS_INSTANCE_OF enum { _hx_ClassId = hx::clsIdCStaticVar };
 | |
| 
 | |
|    CStaticFunctionVar(const char *inName,StaticFunctionVar inFunction,int inN)
 | |
|    {
 | |
|       mFunction = inFunction;
 | |
|       mName = inName;
 | |
|       N = inN;
 | |
|    }
 | |
|    int __Compare(const hx::Object *inRHS) const
 | |
|    {
 | |
|       const CStaticFunctionVar *other = dynamic_cast<const CStaticFunctionVar *>(inRHS);
 | |
|       if (!other)
 | |
|          return -1;
 | |
|       return mName==other->mName && mFunction==other->mFunction ? 0 : -1;
 | |
|    }
 | |
| 
 | |
| 
 | |
|    int __GetType() const { return vtFunction; } 
 | |
|    int __ArgCount() const { return N; } 
 | |
|    ::String __ToString() const { return String(mName); } 
 | |
|    Dynamic __Run(const Array<Dynamic> &inArgs) 
 | |
|    { 
 | |
|       return mFunction(inArgs);
 | |
|    } 
 | |
| }; 
 | |
| 
 | |
| 
 | |
| Dynamic CreateMemberFunctionVar(const char *inName, hx::Object *inObj, MemberFunctionVar inFunc,int inN)
 | |
|    { return new CMemberFunctionVar(inName, inObj,inFunc,inN); }
 | |
| 
 | |
| Dynamic CreateStaticFunctionVar(const char *inName,StaticFunctionVar inFunc,int inN)
 | |
|    { return new CStaticFunctionVar(inName, inFunc,inN); }
 | |
| 
 | |
| }
 | |
| 
 | |
| 
 |