| 20269 | } |
| 20270 | |
| 20271 | void 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 | |
| 20297 | void BfExprEvaluator::MakeResultAsValue() |
| 20298 | { |
no test coverage detected