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

Method runObject

src/hx/cppia/Cppia.cpp:5008–5098  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5006 }
5007
5008 hx::Object *runObject(CppiaCtx *ctx) HXCPP_OVERRIDE
5009 {
5010 int n = items.size();
5011 switch(arrayType)
5012 {
5013 case arrBool:
5014 {
5015 Array<bool> result = Array_obj<bool>::__new(n,n);
5016 for(int i=0;i<n;i++)
5017 {
5018 result->__unsafe_set(i,items[i]->runInt(ctx)!=0);
5019 BCR_CHECK;
5020 }
5021 return result.mPtr;
5022 }
5023 case arrUnsignedChar:
5024 {
5025 Array<unsigned char> result = Array_obj<unsigned char>::__new(n,n);
5026 for(int i=0;i<n;i++)
5027 {
5028 result->__unsafe_set(i,items[i]->runInt(ctx));
5029 BCR_CHECK;
5030 }
5031 return result.mPtr;
5032 }
5033 case arrInt:
5034 {
5035 Array<int> result = Array_obj<int>::__new(n,n);
5036 for(int i=0;i<n;i++)
5037 {
5038 result->__unsafe_set(i,items[i]->runInt(ctx));
5039 BCR_CHECK;
5040 }
5041 return result.mPtr;
5042 }
5043 case arrFloat:
5044 {
5045 Array<Float> result = Array_obj<Float>::__new(n,n);
5046 for(int i=0;i<n;i++)
5047 {
5048 result->__unsafe_set(i,items[i]->runFloat(ctx));
5049 BCR_CHECK;
5050 }
5051 return result.mPtr;
5052 }
5053 case arrFloat32:
5054 {
5055 Array<float> result = Array_obj<float>::__new(n,n);
5056 for(int i=0;i<n;i++)
5057 {
5058 result->__unsafe_set(i,items[i]->runFloat(ctx));
5059 BCR_CHECK;
5060 }
5061 return result.mPtr;
5062 }
5063 case arrString:
5064 {
5065 Array<String> result = Array_obj<String>::__new(n,n);

Callers

nothing calls this directly

Calls 9

__newFunction · 0.85
__unsafe_setMethod · 0.80
DynamicClass · 0.50
sizeMethod · 0.45
runIntMethod · 0.45
runFloatMethod · 0.45
runStringMethod · 0.45
initMethod · 0.45
runObjectMethod · 0.45

Tested by

no test coverage detected