| 112 | } |
| 113 | |
| 114 | void BfDeferredLocalAssignData::ExtendFrom(BfDeferredLocalAssignData* outerLocalAssignData, bool doChain) |
| 115 | { |
| 116 | mIsChained = doChain; |
| 117 | if (outerLocalAssignData == NULL) |
| 118 | return; |
| 119 | mChainedAssignData = outerLocalAssignData; |
| 120 | if (!doChain) |
| 121 | { |
| 122 | outerLocalAssignData->BreakExtendChain(); |
| 123 | mAssignedLocals = outerLocalAssignData->mAssignedLocals; |
| 124 | } |
| 125 | mVarIdBarrier = outerLocalAssignData->mVarIdBarrier; |
| 126 | } |
| 127 | |
| 128 | // The "extend chain" is broken when we have a conditional where the variable may not be defined after the block. |
| 129 | // IE: "a" will be defined after the following, but "b" will not necessarily be defined. |
no test coverage detected