Struct Call

Source
pub struct Call {
    pub name: LitSym,
    pub derivatives: u8,
    pub args: Vec<Expr>,
    pub span: Range<usize>,
    pub paren_span: Range<usize>,
}
Expand description

A function call, such as func(x, -40).

Fields§

§name: LitSym

The name of the function to call.

§derivatives: u8

The number of derivatives to take before calling the function.

§args: Vec<Expr>

The arguments to the function.

§span: Range<usize>

The region of the source code that this function call was parsed from.

§paren_span: Range<usize>

The span of the parentheses that surround the arguments.

Implementations§

Source§

impl Call

Source

pub fn span(&self) -> Range<usize>

Returns the span of the function call.

Source

pub fn arg_span(&self, args: Range<usize>) -> Range<usize>

Returns a span that spans the selected arguments, given by index.

Source

pub fn outer_span(&self) -> [Range<usize>; 2]

Returns a set of two spans, where the first is the span of the function name (with the opening parenthesis) and the second is the span of the closing parenthesis.

Source

pub fn parse_or_lower( input: &mut Parser<'_>, recoverable_errors: &mut Vec<Error>, target: Primary, ) -> Result<(Primary, bool), Vec<Error>>

Attempts to parse a Call, where the initial target has already been parsed.

Besides the returned Primary, the return value also includes a boolean that indicates if the expression was changed due to successfully parsing a Call. This function can return Ok even if no Call, which occurs when we determine that we shouldn’t have taken the Call path. The boolean is used to let the caller know that this is was the case.

This is similar to what we had to do with Binary.

Trait Implementations§

Source§

impl Clone for Call

Source§

fn clone(&self) -> Call

Returns a duplicate 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 Call

Source§

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

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

impl Display for Call

Source§

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

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

impl Latex for Call

Source§

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

Format the value as LaTeX.
Source§

fn as_display(&self) -> LatexFormatter<'_, Self>

Wraps the value in a LatexFormatter, which implements Display.
Source§

impl<'source> Parse<'source> for Call

Source§

fn std_parse( input: &mut Parser<'source>, recoverable_errors: &mut Vec<Error>, ) -> Result<Self, Vec<Error>>

Parses a value from the given stream of tokens, advancing the stream past the consumed tokens if parsing is successful. Read more
Source§

fn parse(input: &mut Parser<'source>) -> ParseResult<Self>

Parses a value from the given stream of tokens, advancing the stream past the consumed tokens if parsing is successful. Read more
Source§

impl PartialEq for Call

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Eq for Call

Source§

impl StructuralPartialEq for Call

Auto Trait Implementations§

§

impl Freeze for Call

§

impl RefUnwindSafe for Call

§

impl Send for Call

§

impl Sync for Call

§

impl Unpin for Call

§

impl UnwindSafe for Call

Blanket Implementations§

Source§

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

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

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

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

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

Source§

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

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Fmt for T
where T: Display,

Source§

fn fg<C>(self, color: C) -> Foreground<Self>
where C: Into<Option<Color>>, Self: Display,

Give this value the specified foreground colour.
Source§

fn bg<C>(self, color: C) -> Background<Self>
where C: Into<Option<Color>>, Self: Display,

Give this value the specified background colour.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where 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 T
where T: Clone,

Source§

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 T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

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

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

Source§

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 T
where U: TryFrom<T>,

Source§

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.