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); }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 |