| 179 | } |
| 180 | |
| 181 | std::vector<ValueRef> Value::end_record_values() { |
| 182 | recording_values = false; |
| 183 | std::vector<ValueRef> recorded_strong_values; |
| 184 | for (auto&& weak_value : recorded_values) { |
| 185 | if (auto value = weak_value.lock()) { |
| 186 | recorded_strong_values.push_back(value); |
| 187 | } |
| 188 | } |
| 189 | return recorded_strong_values; |
| 190 | } |
| 191 | |
| 192 | void Value::try_rethrow() { |
| 193 | if (type() == PrimitiveType<ErrorValue>::instance) { |