Skip to main content

shape_runtime/metadata/
methods.rs

1//! Method metadata stubs for legacy LSP completion paths.
2//!
3//! (W15-column, 2026-05-10) — `Column` is not a surviving `HeapKind`
4//! variant per ADR-006 §2.7.21 / Q22 (the §2.3 trim removed
5//! `HeapValue::ColumnRef`). Its semantics — a typed view into a single
6//! column of a `DataTable` — are absorbed by `HeapKind::TableView` +
7//! `TableViewData::ColumnRef { schema_id, table, col_id }` (see
8//! `crates/shape-value/src/heap_value.rs`).
9//!
10//! `column_methods()` is preserved as an empty-`Vec` stub so the LSP
11//! completion call sites
12//! (`tools/shape-lsp/src/completion/types.rs`) keep compiling. When
13//! Column-shaped completions are wanted, they belong on TableView's
14//! `ColumnRef` projection methods (`datatable_methods/`), not on a
15//! standalone `Column` value-type metadata table that no compiler or
16//! VM dispatch surface honors.
17
18use super::types::MethodInfo;
19
20/// Method metadata for `Column` — empty by design (W15-column close).
21///
22/// Preserves the LSP-facing API shape; returns no entries because no
23/// surviving runtime type has the name "Column". Callers that wanted
24/// "this object resembles a column, suggest column methods" should
25/// route through `TableView::ColumnRef` projection method metadata
26/// once that exists.
27pub fn column_methods() -> Vec<MethodInfo> {
28    Vec::new()
29}