pub struct IndexExpression { /* private fields */ }
Expand description
Represents a table index access expression.
An index expression accesses a value in a table using square bracket notation,
such as table[key]
. It consists of a prefix (the table being accessed)
and an index expression that evaluates to the key.
Implementations§
Source§impl IndexExpression
impl IndexExpression
Sourcepub fn new<P: Into<Prefix>, E: Into<Expression>>(
prefix: P,
expression: E,
) -> Self
pub fn new<P: Into<Prefix>, E: Into<Expression>>( prefix: P, expression: E, ) -> Self
Creates a new index expression with the given prefix and index expression.
Sourcepub fn with_tokens(self, tokens: IndexExpressionTokens) -> Self
pub fn with_tokens(self, tokens: IndexExpressionTokens) -> Self
Attaches tokens to this index expression.
Sourcepub fn set_tokens(&mut self, tokens: IndexExpressionTokens)
pub fn set_tokens(&mut self, tokens: IndexExpressionTokens)
Attaches tokens to this index expression.
Sourcepub fn get_tokens(&self) -> Option<&IndexExpressionTokens>
pub fn get_tokens(&self) -> Option<&IndexExpressionTokens>
Returns a reference to the tokens attached to this index expression, if any.
Sourcepub fn get_prefix(&self) -> &Prefix
pub fn get_prefix(&self) -> &Prefix
Returns a reference to the prefix of this index expression.
Sourcepub fn get_index(&self) -> &Expression
pub fn get_index(&self) -> &Expression
Returns a reference to the index expression of this index expression.
Sourcepub fn mutate_prefix(&mut self) -> &mut Prefix
pub fn mutate_prefix(&mut self) -> &mut Prefix
Returns a mutable reference to the prefix of this index expression.
Sourcepub fn mutate_index(&mut self) -> &mut Expression
pub fn mutate_index(&mut self) -> &mut Expression
Returns a mutable reference to the index expression of this index expression.
Sourcepub fn mutate_first_token(&mut self) -> &mut Token
pub fn mutate_first_token(&mut self) -> &mut Token
Returns a mutable reference to the first token of this index expression, creating it if missing.
Sourcepub fn mutate_last_token(&mut self) -> &mut Token
pub fn mutate_last_token(&mut self) -> &mut Token
Returns a mutable reference to the last token of this index expression, creating it if missing.
Sourcepub fn clear_comments(&mut self)
pub fn clear_comments(&mut self)
Clears all comments from the tokens in this node.
Sourcepub fn clear_whitespaces(&mut self)
pub fn clear_whitespaces(&mut self)
Clears all whitespaces information from the tokens in this node.
Trait Implementations§
Source§impl Clone for IndexExpression
impl Clone for IndexExpression
Source§fn clone(&self) -> IndexExpression
fn clone(&self) -> IndexExpression
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for IndexExpression
impl Debug for IndexExpression
Source§impl From<IndexExpression> for Expression
impl From<IndexExpression> for Expression
Source§fn from(index: IndexExpression) -> Self
fn from(index: IndexExpression) -> Self
Source§impl From<IndexExpression> for Prefix
impl From<IndexExpression> for Prefix
Source§fn from(index: IndexExpression) -> Self
fn from(index: IndexExpression) -> Self
Source§impl From<IndexExpression> for Variable
impl From<IndexExpression> for Variable
Source§fn from(index: IndexExpression) -> Self
fn from(index: IndexExpression) -> Self
Source§impl PartialEq for IndexExpression
impl PartialEq for IndexExpression
impl Eq for IndexExpression
impl StructuralPartialEq for IndexExpression
Auto Trait Implementations§
impl Freeze for IndexExpression
impl RefUnwindSafe for IndexExpression
impl Send for IndexExpression
impl Sync for IndexExpression
impl Unpin for IndexExpression
impl UnwindSafe for IndexExpression
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.Source§impl<I, T> ExtractContext<I, ()> for T
impl<I, T> ExtractContext<I, ()> for T
Source§fn extract_context(self, _original_input: I)
fn extract_context(self, _original_input: I)
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more