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

Method runVoid

src/hx/cppia/Cppia.cpp:6023–6054  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6021 }
6022
6023 void runVoid(CppiaCtx *ctx) HXCPP_OVERRIDE
6024 {
6025 hx::Object *iterator = init->runObject(ctx);
6026 CPPIA_CHECK(iterator);
6027 BCR_VCHECK;
6028 Dynamic hasNext = iterator->__Field(HX_CSTRING("hasNext"),HX_PROP_DYNAMIC);
6029 BCR_VCHECK;
6030 CPPIA_CHECK(hasNext.mPtr);
6031 Dynamic getNext = iterator->__Field(HX_CSTRING("next"),HX_PROP_DYNAMIC);
6032 BCR_VCHECK;
6033 CPPIA_CHECK(getNext.mPtr);
6034
6035 while(hasNext())
6036 {
6037 if (ctx->exception)
6038 return;
6039 var.set(ctx,getNext());
6040 if (ctx->exception)
6041 return;
6042 loop->runVoid(ctx);
6043 if (ctx->exception)
6044 return;
6045
6046 if (ctx->breakContReturn)
6047 {
6048 if (ctx->breakContReturn & (bcrBreak|bcrReturn))
6049 break;
6050 // clear Continue
6051 ctx->breakContReturn = 0;
6052 }
6053 }
6054 }
6055};
6056
6057struct WhileExpr : public CppiaVoidExpr

Callers

nothing calls this directly

Calls 5

hasNextFunction · 0.85
runObjectMethod · 0.45
__FieldMethod · 0.45
setMethod · 0.45
runVoidMethod · 0.45

Tested by

no test coverage detected