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

Method runObject

src/hx/cppia/Cppia.cpp:956–1032  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

954 ExprType getType() HXCPP_OVERRIDE { return etObject; }
955
956 hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE
957 {
958 int n = args.size();
959#if (HXCPP_API_LEVEL>=500)
960 Array<Dynamic> argVals = Array_obj<Dynamic>::__new(n, n);
961 for (int a = 0; a < n; a++)
962 {
963 argVals[a] = Dynamic(args[a]->runObject(ctx));
964 BCR_CHECK;
965 }
966 return value->__Run(argVals).mPtr;
967#else
968 switch(n)
969 {
970 case 0:
971 return value->__run().mPtr;
972 case 1:
973 {
974 Dynamic arg0( args[0]->runObject(ctx) );
975 BCR_CHECK;
976 return value->__run(arg0).mPtr;
977 }
978 case 2:
979 {
980 Dynamic arg0( args[0]->runObject(ctx) );
981 BCR_CHECK;
982 Dynamic arg1( args[1]->runObject(ctx) );
983 BCR_CHECK;
984 return value->__run(arg0,arg1).mPtr;
985 }
986 case 3:
987 {
988 Dynamic arg0( args[0]->runObject(ctx) );
989 BCR_CHECK;
990 Dynamic arg1( args[1]->runObject(ctx) );
991 BCR_CHECK;
992 Dynamic arg2( args[2]->runObject(ctx) );
993 BCR_CHECK;
994 return value->__run(arg0,arg1,arg2).mPtr;
995 }
996 case 4:
997 {
998 Dynamic arg0( args[0]->runObject(ctx) );
999 BCR_CHECK;
1000 Dynamic arg1( args[1]->runObject(ctx) );
1001 BCR_CHECK;
1002 Dynamic arg2( args[2]->runObject(ctx) );
1003 BCR_CHECK;
1004 Dynamic arg3( args[3]->runObject(ctx) );
1005 BCR_CHECK;
1006 return value->__run(arg0,arg1,arg2,arg3).mPtr;
1007 }
1008 case 5:
1009 {
1010 Dynamic arg0( args[0]->runObject(ctx) );
1011 BCR_CHECK;
1012 Dynamic arg1( args[1]->runObject(ctx) );
1013 BCR_CHECK;

Callers

nothing calls this directly

Calls 6

__newFunction · 0.85
DynamicClass · 0.50
sizeMethod · 0.45
runObjectMethod · 0.45
__RunMethod · 0.45
__runMethod · 0.45

Tested by

no test coverage detected