(self, buffer)
| 188 | return ref_id |
| 189 | |
| 190 | def try_preserve_ref_id(self, buffer) -> int: |
| 191 | head_flag = buffer.read_int8() |
| 192 | if head_flag == REF_FLAG: |
| 193 | ref_id = buffer.read_var_uint32() |
| 194 | self.read_object = self.get_read_ref(ref_id) |
| 195 | return head_flag |
| 196 | self.read_object = None |
| 197 | if head_flag == REF_VALUE_FLAG: |
| 198 | return self.preserve_ref_id() |
| 199 | # ``NOT_NULL_VALUE_FLAG`` means the value is not ref-tracked, but we still push a |
| 200 | # sentinel so ``reference`` can be called unconditionally by callers that materialize |
| 201 | # composite objects early. |
| 202 | self.read_ref_ids.append(-1) |
| 203 | return head_flag |
| 204 | |
| 205 | def last_preserved_ref_id(self) -> int: |
| 206 | return self.read_ref_ids[-1] |
nothing calls this directly
no test coverage detected