MCPcopy Create free account
hub / github.com/beefytech/Beef / MarkResultAssigned

Method MarkResultAssigned

IDEHelper/Compiler/BfExprEvaluator.cpp:20271–20295  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

20269}
20270
20271void BfExprEvaluator::MarkResultAssigned()
20272{
20273 if (mResultLocalVar != NULL)
20274 {
20275 //int localIdx = mResultLocalVarIdx;
20276 //if (localIdx == 0x7FFF)
20277 //return;
20278
20279 auto localVar = mResultLocalVar;
20280 int fieldIdx = mResultLocalVarField - 1;
20281 int count = mResultLocalVarFieldCount;
20282 if (fieldIdx == -1)
20283 count = 1;
20284 for (int i = 0; i < count; i++)
20285 mModule->mCurMethodState->GetMethodStateForLocal(localVar)->LocalDefined(localVar, fieldIdx + i);
20286
20287 //if (localIdx != 0x7FFF)
20288 {
20289 if (localVar->mCompositeCount > 0)
20290 {
20291 mModule->Fail(StrFormat("Cannot write to composite '%s', it can only be used in an argument list", localVar->mName.c_str()), mResultLocalVarRefNode);
20292 }
20293 }
20294 }
20295}
20296
20297void BfExprEvaluator::MakeResultAsValue()
20298{

Callers 1

Calls 4

LocalDefinedMethod · 0.80
FailMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected