| 2013 | } |
| 2014 | |
| 2015 | void BfModule::RestoreScoreState_LocalVariables(int localVarStart) |
| 2016 | { |
| 2017 | while (localVarStart < (int)mCurMethodState->mLocals.size()) |
| 2018 | { |
| 2019 | auto localVar = mCurMethodState->mLocals.back(); |
| 2020 | LocalVariableDone(localVar, false); |
| 2021 | mCurMethodState->mLocals.pop_back(); |
| 2022 | |
| 2023 | if (localVar->mShadowedLocal != NULL) |
| 2024 | { |
| 2025 | BfLocalVarEntry* localVarEntryPtr; |
| 2026 | if (mCurMethodState->mLocalVarSet.TryGet(BfLocalVarEntry(localVar), &localVarEntryPtr)) |
| 2027 | { |
| 2028 | localVarEntryPtr->mLocalVar = localVar->mShadowedLocal; |
| 2029 | } |
| 2030 | } |
| 2031 | else |
| 2032 | { |
| 2033 | mCurMethodState->mLocalVarSet.Remove(BfLocalVarEntry(localVar)); |
| 2034 | } |
| 2035 | |
| 2036 | if (localVar->mIsBumpAlloc) |
| 2037 | localVar->~BfLocalVariable(); |
| 2038 | else |
| 2039 | delete localVar; |
| 2040 | } |
| 2041 | } |
| 2042 | |
| 2043 | void BfModule::RestoreScopeState() |
| 2044 | { |
no test coverage detected