Struct yash_syntax::syntax::HereDoc

source ·
pub struct HereDoc {
    pub delimiter: Word,
    pub remove_tabs: bool,
    pub content: RefCell<Text>,
}
Expand description

Here-document.

Fields§

§delimiter: Word

Token that marks the end of the content of the here-document.

§remove_tabs: bool

Whether leading tab characters should be removed from each line of the here-document content. This value is true for the <<- operator and false for <<.

§content: RefCell<Text>

Content of the here-document.

The content ends with a newline unless it is empty. If the delimiter is quoted, the content must be all literal. If remove_tabs is true, each content line does not start with tabs as they are removed when parsed.

This value is wrapped in RefCell because the here-doc content is parsed separately from the here-doc operator. When the operator is parsed, the HereDoc instance is created with an empty value. The value is filled when the content is parsed later.

Trait Implementations§

source§

impl Clone for HereDoc

source§

fn clone(&self) -> HereDoc

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for HereDoc

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Display for HereDoc

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq<HereDoc> for HereDoc

source§

fn eq(&self, other: &HereDoc) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl Eq for HereDoc

source§

impl StructuralEq for HereDoc

source§

impl StructuralPartialEq for HereDoc

Auto Trait Implementations§

§

impl !RefUnwindSafe for HereDoc

§

impl !Send for HereDoc

§

impl !Sync for HereDoc

§

impl Unpin for HereDoc

§

impl !UnwindSafe for HereDoc

Blanket Implementations§

source§

impl<T> Any for Twhere T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for Twhere T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for Twhere T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for Twhere U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for Twhere T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToString for Twhere T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

impl<T, U> TryFrom<U> for Twhere U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for Twhere U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.