pub struct InterpolatedStringExpression { /* private fields */ }
Expand description
Represents an interpolated string expression.
Implementations§
Source§impl InterpolatedStringExpression
impl InterpolatedStringExpression
Sourcepub fn new(segments: Vec<InterpolationSegment>) -> Self
pub fn new(segments: Vec<InterpolationSegment>) -> Self
Creates a new interpolated string expression with the given segments.
Sourcepub fn with_segment(self, segment: impl Into<InterpolationSegment>) -> Self
pub fn with_segment(self, segment: impl Into<InterpolationSegment>) -> Self
Adds a segment to this interpolated string expression and returns the updated expression.
Sourcepub fn with_tokens(self, tokens: InterpolatedStringTokens) -> Self
pub fn with_tokens(self, tokens: InterpolatedStringTokens) -> Self
Attaches tokens to this interpolated string expression.
Sourcepub fn get_tokens(&self) -> Option<&InterpolatedStringTokens>
pub fn get_tokens(&self) -> Option<&InterpolatedStringTokens>
Returns a reference to the tokens attached to this interpolated string expression, if any.
Sourcepub fn set_tokens(&mut self, tokens: InterpolatedStringTokens)
pub fn set_tokens(&mut self, tokens: InterpolatedStringTokens)
Attaches tokens to this interpolated string expression.
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.
Sourcepub fn iter_segments(&self) -> impl Iterator<Item = &InterpolationSegment>
pub fn iter_segments(&self) -> impl Iterator<Item = &InterpolationSegment>
Returns an iterator over the segments in this interpolated string expression.
Sourcepub fn iter_mut_segments(
&mut self,
) -> impl Iterator<Item = &mut InterpolationSegment>
pub fn iter_mut_segments( &mut self, ) -> impl Iterator<Item = &mut InterpolationSegment>
Returns a mutable iterator over the segments in this interpolated string expression.
Sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
Returns the number of segments in this interpolated string expression.
Sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Returns whether this interpolated string expression is empty.
An interpolated string is considered empty if it has no segments or all of its string segments are empty and it has no value segments.
Sourcepub fn push_segment(&mut self, segment: impl Into<InterpolationSegment>)
pub fn push_segment(&mut self, segment: impl Into<InterpolationSegment>)
Adds a segment to this interpolated string 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 for this interpolated string, 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 for this interpolated string, creating it if missing.
Trait Implementations§
Source§impl Clone for InterpolatedStringExpression
impl Clone for InterpolatedStringExpression
Source§fn clone(&self) -> InterpolatedStringExpression
fn clone(&self) -> InterpolatedStringExpression
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for InterpolatedStringExpression
impl Debug for InterpolatedStringExpression
Source§impl From<InterpolatedStringExpression> for Expression
impl From<InterpolatedStringExpression> for Expression
Source§fn from(interpolated_string: InterpolatedStringExpression) -> Self
fn from(interpolated_string: InterpolatedStringExpression) -> Self
Source§impl FromIterator<InterpolationSegment> for InterpolatedStringExpression
impl FromIterator<InterpolationSegment> for InterpolatedStringExpression
Source§fn from_iter<T: IntoIterator<Item = InterpolationSegment>>(iter: T) -> Self
fn from_iter<T: IntoIterator<Item = InterpolationSegment>>(iter: T) -> Self
Source§impl PartialEq for InterpolatedStringExpression
impl PartialEq for InterpolatedStringExpression
Source§fn eq(&self, other: &InterpolatedStringExpression) -> bool
fn eq(&self, other: &InterpolatedStringExpression) -> bool
self
and other
values to be equal, and is used by ==
.impl Eq for InterpolatedStringExpression
impl StructuralPartialEq for InterpolatedStringExpression
Auto Trait Implementations§
impl Freeze for InterpolatedStringExpression
impl RefUnwindSafe for InterpolatedStringExpression
impl Send for InterpolatedStringExpression
impl Sync for InterpolatedStringExpression
impl Unpin for InterpolatedStringExpression
impl UnwindSafe for InterpolatedStringExpression
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