| 2258 | |
| 2259 | |
| 2260 | def new_block( |
| 2261 | values, |
| 2262 | placement: BlockPlacement, |
| 2263 | *, |
| 2264 | ndim: int, |
| 2265 | refs: BlockValuesRefs | None = None, |
| 2266 | ) -> Block: |
| 2267 | # caller is responsible for ensuring: |
| 2268 | # - values is NOT a NumpyExtensionArray |
| 2269 | # - check_ndim/ensure_block_shape already checked |
| 2270 | # - maybe_coerce_values already called/unnecessary |
| 2271 | klass = get_block_type(values.dtype) |
| 2272 | return klass(values, ndim=ndim, placement=placement, refs=refs) |
| 2273 | |
| 2274 | |
| 2275 | def check_ndim(values, placement: BlockPlacement, ndim: int) -> None: |