MCPcopy Create free account
hub / github.com/HaxeFoundation/hxcpp / runObject

Method runObject

src/hx/cppia/Cppia.cpp:3114–3202  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3112 return this;
3113 }
3114 hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE
3115 {
3116 hx::Object *funcVal = func->runObject(ctx);
3117 BCR_CHECK;
3118
3119 CPPIA_CHECK_FUNC(funcVal);
3120
3121 int size = args.size();
3122#if (HXCPP_API_LEVEL>=500)
3123 Array<Dynamic> argArray = Array_obj<Dynamic>::__new(size, size);
3124 for (int s = 0; s < size; s++)
3125 {
3126 argArray[s] = args[s]->runObject(ctx);
3127 BCR_CHECK;
3128 }
3129
3130 return funcVal->__Run(argArray).mPtr;
3131#else
3132 switch(size)
3133 {
3134 case 0:
3135 return funcVal->__run().mPtr;
3136
3137 case 1:
3138 {
3139 Dynamic a0 = args[0]->runObject(ctx);
3140 BCR_CHECK;
3141 return funcVal->__run(a0).mPtr;
3142 }
3143
3144 case 2:
3145 {
3146 Dynamic a0 = args[0]->runObject(ctx);
3147 BCR_CHECK;
3148 Dynamic a1 = args[1]->runObject(ctx);
3149 BCR_CHECK;
3150 return funcVal->__run(a0,a1).mPtr;
3151 }
3152 case 3:
3153 {
3154 Dynamic a0 = args[0]->runObject(ctx);
3155 BCR_CHECK;
3156 Dynamic a1 = args[1]->runObject(ctx);
3157 BCR_CHECK;
3158 Dynamic a2 = args[2]->runObject(ctx);
3159 BCR_CHECK;
3160 return funcVal->__run(a0,a1,a2).mPtr;
3161 }
3162 case 4:
3163 {
3164 Dynamic a0 = args[0]->runObject(ctx);
3165 BCR_CHECK;
3166 Dynamic a1 = args[1]->runObject(ctx);
3167 BCR_CHECK;
3168 Dynamic a2 = args[2]->runObject(ctx);
3169 BCR_CHECK;
3170 Dynamic a3 = args[3]->runObject(ctx);
3171 BCR_CHECK;

Callers 15

runObjectMethod · 0.45
runIntMethod · 0.45
runIntMethod · 0.45
runStringMethod · 0.45
runObjectMethod · 0.45
runVoidMethod · 0.45
runObjectMethod · 0.45
runObjectMethod · 0.45
runObjectMethod · 0.45
runMethod · 0.45
runIntMethod · 0.45
runObjectMethod · 0.45

Calls 4

__newFunction · 0.85
sizeMethod · 0.45
__RunMethod · 0.45
__runMethod · 0.45

Tested by

no test coverage detected