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

Method runString

src/hx/cppia/ArrayBuiltin.cpp:622–695  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

620
621
622 ::String runString(CppiaCtx *ctx) HXCPP_OVERRIDE
623 {
624 if (FUNC==afPop)
625 {
626 Array_obj<ELEM> *thisVal = (Array_obj<ELEM>*)thisExpr->runObject(ctx);
627 BCR_CHECK;
628 return ValToString(thisVal->pop());
629 }
630 if (FUNC==afShift)
631 {
632 Array_obj<ELEM> *thisVal = (Array_obj<ELEM>*)thisExpr->runObject(ctx);
633 BCR_CHECK;
634 return ValToString(thisVal->shift());
635 }
636 if (FUNC==af__get)
637 {
638 Array_obj<ELEM> *thisVal = (Array_obj<ELEM>*)thisExpr->runObject(ctx);
639 BCR_CHECK;
640 int idx = args[0]->runInt(ctx);
641 BCR_CHECK;
642 return ValToString(thisVal->__get(idx));
643 }
644 if (FUNC==af__set)
645 {
646 Array_obj<ELEM> *thisVal = (Array_obj<ELEM>*)thisExpr->runObject(ctx);
647 BCR_CHECK;
648 int i = args[0]->runInt(ctx);
649 BCR_CHECK;
650 ELEM elem;
651 runValue(elem,ctx,args[1]);
652 #ifdef HXCPP_GC_GENERATIONAL
653 if (hx::ContainsPointers<ELEM>())
654 HX_OBJ_WB_GET(thisVal, hx::PointerOf(elem));
655 #endif
656 BCR_CHECK;
657 return ValToString( thisVal->Item(i) = elem);
658 }
659 if (FUNC==af__crement)
660 {
661 Array_obj<ELEM> *thisVal = (Array_obj<ELEM>*)thisExpr->runObject(ctx);
662 BCR_CHECK;
663 int idx = args[0]->runInt(ctx);
664 BCR_CHECK;
665 ELEM &elem = thisVal->Item(idx);
666 String result = ValToString(CREMENT::run(elem));
667 #ifdef HXCPP_GC_GENERATIONAL
668 if (hx::ContainsPointers<ELEM>())
669 HX_OBJ_WB_CTX(thisVal,hx::PointerOf(elem),ctx);
670 #endif
671 return result;
672 }
673
674
675 if (FUNC==afJoin)
676 {
677 Array_obj<ELEM> *thisVal = (Array_obj<ELEM>*)thisExpr->runObject(ctx);
678 BCR_CHECK;
679 String space = args[0]->runString(ctx);

Callers

nothing calls this directly

Calls 10

ValToStringFunction · 0.85
PointerOfFunction · 0.85
runFunction · 0.85
__getMethod · 0.80
DynamicClass · 0.50
runObjectMethod · 0.45
popMethod · 0.45
runIntMethod · 0.45
runStringMethod · 0.45
toStringMethod · 0.45

Tested by

no test coverage detected