pub enum RawRef<'a> {
Field {
table: Option<&'a str>,
name: &'a str,
span: Range<usize>,
},
Name {
name: &'a str,
span: Range<usize>,
},
ColumnString {
name: &'a str,
span: Range<usize>,
},
}Expand description
One reference found in an M expression, exactly as written.
Names are raw source slices: delimiters are stripped, but quote escapes are
left intact (#"It""s" yields "It""s"). unescape_name produces the
logical names resolution expects.
Extraction is purely syntactic and knows nothing about any model: whether a
name is a table, a shared expression, or a local let variable is decided
by resolution, not here.
Variants§
Field
A column reference: #"Sales"[Amount], Source[Amount], or an
unqualified [Amount]. table is None exactly when the reference was
written unqualified — including each [Amount] row context.
Fields
Name
A bare or quoted identifier: conservatively a table or shared-expression use. Most are local variables that resolve to nothing, which is data.
Fields
ColumnString
A string literal in the argument list of a column-centric built-in:
"Amount" in Table.SelectColumns(Source, "Amount").
Trait Implementations§
impl<'a> Eq for RawRef<'a>
impl<'a> StructuralPartialEq for RawRef<'a>
Auto Trait Implementations§
impl<'a> Freeze for RawRef<'a>
impl<'a> RefUnwindSafe for RawRef<'a>
impl<'a> Send for RawRef<'a>
impl<'a> Sync for RawRef<'a>
impl<'a> Unpin for RawRef<'a>
impl<'a> UnsafeUnpin for RawRef<'a>
impl<'a> UnwindSafe for RawRef<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.